/
Author: Нигматуллин Р.Г.
Tags: вычислительная математика численный анализ математика прикладная математика булевы функции
ISBN: 5-02-014258-1
Year: 1991
Text
Р. Г. НИГМАТУЛЛИН
сложность
БУЛЕВЫХ
ФУНКЦИЙ
МОСКВА «НАУКА*
ГЛАВНАЯ РЕДАКЦИЯ
ФИЗИКО-МАТЕМАТИЧЕСКОЙ ЛИТЕРАТУРЫ
1991
ББК 22.18
Н60
УДК519.6
Н и г м а т у л л и н Р. Г. Сложность булевых функций.— М.: Наука. Гл. ред.
физ.-мат. лит., 1991.—240 с. ISBN 5-02-014258-1.
Содержит основные сведения по сложности булевых функций начиная с
ранних работ К. Шеннона. Включает широко известные результаты С. В.
Яблонского, О. Б. Лупанова, Ю. И. Журавлева, Э. И. Нечипорука и работы
последнего времени по нижним оценкам сложности булевых функций. Наибольшее
внимание уделяется проблеме нижних Оценок сложности.
Для научных работников, аспирантов и студентов в области прикладной
математики и вычислительной техники.
Табл. 13. Ил. 55. Библиогр. 286 назв.
Рецензент доктор физико-математических наук Л. А. Шоломов
Научное издание
НИГМАТУЛЛИН Рошаль Габдулхаевич
СЛОЖНОСТЬ БУЛЕВЫХ ФУНКЦИЙ
Заведующий редакцией Е Ю Ходан Редактор В. М Храпченко
Художественный редактор Т // Кольченко
Технический редактор Л. В. Лихачева Корректоры М А Смирнов, М Л Медведская
И Б № 3288,2
Сдано в набор 19 07 89 Подписано к печати 15 1090 Формат 60X90'/ie Бумага книжно-журнальная.
Гарнитура литературная Печать офсетная. Уел неч л 15 Усл. кр.-отт. 15,25 Уч-и»д л 16.18 Тираж
2000 экз Закал №' 7$7 Цена 3 р. 30 к
Издатсльско-производственное и книготорговое объединение «Наука»
Главная редакция физико-математической литературы
117071 Москва В-71, Ленинский проспект, 15
Ордена Октябрьской Революции и ордена Трудового Красного Знамени МПО
«Первая Образцовая типография» Государственного комитета СССР по печати.
113054 Москва, Валовая, 28
Отпечатано с диапозитивов в Четвертой типографии издательства «Наука» П30077 г Новосибирск-77,
Станиславского, 25
Н'^2'1^-003 25-90
053(02)-91
ISBN 5-02-014258-1 ® ф™«т. iwi
ОГЛАВЛЕНИЕ
Предисловие 5
Введение 7
Глава 1. Модели вычислений 11
§ 1. Схема и функция 11
§ 2. Графы 12
§ 3. Булевы функции 13
§ 4. Булевы формулы 15
§ 5. Дизъюнктивные нормальные формы 17
§ 6. Контактные схемы 18
§ 7. Схемы из функциональных элементов 20
§ 8. Сложность схемы и функции 23
§ 9. Теорема о полноте и сложность формул. Полиномы Жегалкина 25
Комментарии 27
Упражнения 27
Г л а в а 2. Сложность схем (предварительное рассмотрение) 28
§ 1. Задача синтеза минимальных схем 28
§ 2. Простые соотношения для минимальных схем 29
§ 3. Реализация линейной функции в различных классах схем 34
§ 4. Соотношение между схемной сложностью и сложностью машинных
вычислений 36
Комментарии 40
Упражнения 41
Г л а в а 3. Геометрия единичного n-мерного куба 42
§ 1. Единичный n-мерный куб 42
§ 2. Геометрическая интерпретация дизъюнктивных нормальных форм 44
§ 3. Изопериметрическая задача в Вn 47
§ 4. Расстояния между подмножествами Вn 54
§ 5. Разбиение единичного куба на сферы 56
§ 6. Линейные коды 58
Комментарии 63
Упражнения 64
Глава 4. Универсальные методы синтеза схем 65
§ 1. Сложность построения приближенно минимальных схем 65
§ 2. Метод Шеннона синтеза контактных схем 67
§ 3. Метод каскадов 69
§ 4. Метод Лупанова синтеза схем из функциональных элементов 70
§ 5. Реализация системы конъюнкций контактными многополюсниками 75
§ 6. Метод Лупанова синтеза контактных схем 77
§ 7. Градиентный метод 81
Комментарии 83
Упражнения 84
Г л а в а 5. Статистические свойства булевых функций 85
§ 1. Оценки сложности дизъюнктивных нормальных форм для почти всех
булевых функций 85
3
§ 2. Мощностной метод Шеннона и его применения. . 88
§ 3. Эффект Шеннона . 93
§ 4. Вариационный принцип 94
Комментарии 98
Упражнения 98
Г л а в а 6. Инвариантные классы. Принцип локального кодирования 99
§ 1. Реализация симметрических функций 100
§ 2. Инвариантные классы и их свойства 103
§ 3. Реализация функций из инвариантных классов 105
§ 4. Принцип локального кодирования 107
§ 5. Применения принципа локального кодирования 111
Комментарии , 114
Упражнения 115
Глава 7. Нижние оценки сложности шенноновского типа. Гипотеза
Яблонского 116
§ 1. Примитивно-рекурсивное задание последовательности сложнореали-
зуемых функций 117
§ 2. Арифметизация схем из функциональных элементов 122
§ 3. Правильные алгоритмы. Теорема Яблонского о невозможности
элиминации перебора при построении последовательности самых сложных
функций 130
Комментарии 131
Упражнения 131
Г л а в а 8. Эффективные нижние оценки сложности 132
§ 1. Сложность линейной функции в классе контактных схем 133
§ 2. Сложность линейной функции в классе схем из функциональных
элементов в базисе (&, V,~) 135
§ 3. Нижние оценки сложности для схем, содержащих линейные элементы .... 139
§ 4. Метод Субботовской. Пример Андреева 143
§ 5. Метод Храпченко 152
§ 6. Метод Нечипорука 156
§ 7. Метод Фишера — Мейера — Патерсона 164
Комментарии 181
Упражнения 183
Г л а в а 9. Нижние оценки сложности для схем с ограничениями 184
§ 1. Монотонные контактные схемы 184
§ 2. Оценки вида пс в классе формул в неполном базисе 191
§ 3. Сложность монотонных схем для булева умножения матриц 194
§ 4. Высокие нижние оценки сложности для монотонных схем 198
§ 5. Нижняя оценка сложности для функций трехзначной логики в неполном
базисе 207
§ 6. П-схемы без нулевых цепей 209
§ 7. Синхронные схемы из функциональных элементов 212
Комментарии 216
Упражнения 218
Список литературы 219
Рошаль Габдулхаевич Нигматуллин 230
Список научных работ Р. Г. Нигматуллина 233
Указатель обозначений 236
Предметный указатель 238
ПРЕДИСЛОВИЕ
Интерес к теории сложности стимулируется вычислениями
на ЭВМ. Для многих практически важных задач еще не найдены
реально осуществимые алгоритмы. Существуют ли для задачи
Приемлемые алгоритмы или она имеет врожденную сложность,
которая не допускает быстрых алгоритмов? Это коренной вопрос
теории сложности. Из всего разнообразия вопросов, связанных
с проектированием ЭВМ и программированием, теория
сложности выбирает один и, быть может, наиболее острый — это
сложностной.
В предлагаемой книге изложение теории сложности ведется
на языке булевых моделей (моделей, вычисляющих булевы
функции). Эти модели наиболее просты, в то же время они
дозволяют изложить большинство основных результатов теории
сложности. Кроме того, они дают большие возможности при
установлении нижних оценок сложности, нежели другие модели.
Книга содержит основные результаты по сложности булевых
функций, начиная с ранних работ К. Шеннона, включает
приобретшие широкую известность результаты С. В. Яблонского,
О. Б. Лупанова, Ю. И. Журавлева, Э. И. Нечипорука и работы
последнего времени по нижним оценкам сложности. Большее
внимание в ней уделяется проблеме нижних оценок сложности
как наиболее животрепещущей части теории. Из смежных
вопросов, оставшихся за пределами книги, назовем связь
сложности с глубиной схем, вопросы надежности и синтез
самокорректирующихся схем, сложность языков и теорию
вычислительной сложности. Довольно бегло представлена теория
дизъюнктивных нормальных форм. С ней можно ознакомиться
подробнее по [11, 22, 83, ИЗ]. По сложности языков и теории
NP-полноты можно рекомендовать [105, 133, 183]. Подробный
обзор по оценкам сложности «конкретных» задач из области
алгебры, геометрии, теории графов и т. д. приведен в ра-
боте [84].
Книга возникла на основе курса лекций, читавшегося автором
на протяжении ряда лет в Казанском университете. При
написании книги автор пользовался советами и дружеской помощью
многих коллег. Прежде всего хотелось бы назвать имена
С. В. Яблонского, О. Б. Лупанова, Ю. И. Журавлева,
многолетние контакты с которыми заметно повлияли на формирование
5
вкусов автора и в конечном счете на отбор материала для
книги. Это сотрудничество стало еще более тесным на стадии
подготовки рукописи.
В. М. Храпченко и Л. А. Шоломов внимательно прочитали
рукопись и сделали ряд полезных замечаний, которые автор
постарался учесть. В частности, В. М. Храпченко сообщил автору
некоторые упрощения в доказательстве своей теоремы и теоремы
Кардо, а также познакомил со своим изложением метода Суб-
ботовской и тем, как обобщил этот метод А. Е. Андреев.
Л. А. Шоломов указал на ряд неточностей и внес несколько
методических предложений. Отдельные главы рукописи
прочитали коллеги из Казани, Москвы и Новосибирска. Моральная
поддержка со стороны Р. Г. Бухараева и сотрудников кафедры
теоретической кибернетики Казанского университета
стимулировала разработку рукописи.
Н. Блюм, И. Вегенер, Д. Джонсон, А. Д. Коршунов, К. Мель-
хорн, М. Патерсон, В. Пауль, Н. Пиппенджер, А. О. Слисенко,
Дж. Сэйвидж, Г. А. Ткачев, Д. Улиг, Л. Харпер, Г. Хотц
и К. Шнорр любезно предоставили в распоряжение автора
недостающие материалы.
Всем названным лицам автор приносит глубокую
благодарность.
Р. Г. Нигматуллин
ВВЕДЕНИЕ
Теория сложности — это раздел математической кибернетики,
тесно связанный с проблемой синтеза управляющих систем. Для
многих задач важно не просто составить программу или
построить устройство, но еще и добиться экономичности этих
объектов. Понятие экономичности может уточняться по-разному
в зависимости от того, какой аспект конструирования ЭВМ или
программирования находится в центре внимания.
Меры сложности. При решении задачи экономного построения
отдельных блоков ЭВМ естественными мерами сложности
являются такие, как число элементов в схеме, число букв в формуле,
число контактов в контактной схеме, число конъюнкций в
дизъюнктивной нормальной форме (д. н. ф.) и т. п. Разумной мерой
сложности является и глубина схемы, т. е. максимальная длина
цепочки, по которой проходит сигнал от входа до выхода схемы.
Представляет интерес и понятие мощности схемы, т. е. число
элементов, одновременно находящихся в возбужденном
состоянии при вычислении.
При теоретическом изучении быстродействия программ
естественной мерой сложности выступает число элементарных
актов, выполняемых алгоритмом, например машиной Тьюринга.
Другими мерами сложности являются длина программы
(например, число команд в ней), объем рабочей памяти,
используемой программой, время вычислений при параллельных
вычислениях и т. п.
Можно предложить и другие меры сложности, подчиняя их
естественным аксиомам сложности. Разнообразные меры
сложности не являются независимыми. Так, очевидна связь, между
временем программных вычислений и требуемой рабочей
памятью, между числом элементов в схеме и ее глубиной, между
временем параллельных вычислений и глубиной схемы и т. д.
Менее очевидной, но доказанной является тесная связь между
временем и памятью программных вычислений, с одной стороны,
и числом элементов в схеме из функциональных элементов —
с другой. Последняя связь имеет принципиальное значение,
поскольку она означает, что схемы из функциональных элементов
годятся для изучения как объемных, так и программных мер
сложности.
Булевы модели. При изучении сложности важно удачно
выбрать язык описания алгоритмов и схем. Существующие языки
7
программирования удобны при разработке алгоритмов, но мало
пригодны для доказательства несуществования экономных
алгоритмов. Поэтому теория сложности предпочитает иметь
дело с простейшими моделями алгоритмов, облегчающими их
анализ. .
В качестве таких моделей можно назвать дизъюнктивные
нормальные формы, булевы формулы, схемы из функциональных
элементов, автоматы, машины Тьюринга и т. п. Вопросы
сложности можно изучать на каждой из этих моделей. Одни модели
удобнее при исследовании объема вычислительного устройства,
например числа элементов в сумматоре ЭВМ. Другие модели
лучше приспособлены для изучения сложности программных
вычислений.
В этой книге вопросы сложности изучаются на языке булевых
моделей, т. е. моделей, вычисляющих булевы функции. К их
числу относятся булевы формулы, схемы из функциональных
элементов, контактные схемы и т. п. Чем мотивирован выбор
таких моделей? Не сужает ли он возможности изложения теории
сложности? Ответим обстоятельно на эти вопросы.
Функционирование блоков ЭВМ и других дискретных
устройств описывается булевыми функциями. Поэтому еще в 30-х
годах инженеры начали изучать булевы модели как
математические модели дискретных преобразователей. Аккуратное описание
этих моделей и математические постановки задач синтеза
предложил К. Шеннон.
Итак, булевы модели хорошо описывают функционирование
реальных автоматических устройств. Но способны ли они
моделировать процесс вычислений, например выполнение программы
ЭВМ? Ответ на этот вопрос не однозначен. С одной стороны,
нелепо описывать алгоритм, скажем, умножения матриц на языке
булевых функций. С другой стороны, в принципе это возможно.
Более того, булев вариант задачи умножения матриц (булево
умножение булевых матриц) сохраняет основные черты исходной
задачи. В частности, известный алгоритм Ф. Штрассена быстрого
умножения матриц применим и в булевом случае. Далее,
сложность схем из функциональных элементов хорошо мажорируется
временем и памятью программных вычислений. Это означает, что
с помощью булевых моделей можно изучать и вычислительную
сложность.
Булевы модели характеризуются предельной простотой. Это
облегчает их описание и позволяет четче ставить задачи. Для
более сложных моделей даже такое важнейшее понятие, как
оптимальная программа, еще требует уточнения. Благодаря
простоте моделей теория сложности булевых функций более
продвинута, нежели теория сложности в целом. Большинство
основных результатов теории сложности можно изложить на
языке булевых моделей. Как показало время, результаты, не
имеющие булевой интерпретации, нередко имеют преходящую
ценность.
8
Содержание книги. Назовем теперь ключевые результаты и
!явления, которые определяют содержание книги.
Фундаментальное явление, которое накладывает отпечаток
всю проблематику теории сложности,— это практическая
разрешимость задачи построения оптимальных схем. Речь идет
о более тонком явлении, нежели алгоритмическая
неразрешимостъ. Алгоритмы для этой задачи есть (например, алгоритм
Дебора), однако они не могут быть реально выполнены даже
и небольшом числе переменных (п =6 — 7) из-за
астрономиского количества вычислений. При этом применение даже
самых быстродействующих ЭВМ почти не увеличивает
возможностей алгоритма. Результаты С. В. Яблонского и Ю. И.
Журавлева дают сильные доводы в пользу практической
неразрешимости задачи построения оптимальных схем. Это явление
вынуждает изменить саму постановку задачи синтеза
оптимальных схем.
Одна из возможностей — асимптотический подход к задаче
синтеза оптимальных схем: ищутся не обязательно минимальные,
но достаточно экономные схемы. Такой подход был предложен
еще К. Шенноном, и он нашел успешное продолжение в работах
советских математиков. Ярким завершением этого цикла работ
явился разработанный О. Б. Лупановым принцип локального
кодирования, который позволяет строить асимптотически
минимальные схемы для функций из различных классов.
Применение асимптотического подхода к задаче синтеза в
сочетании с мощностным методом Шеннона нахождения нижних
оценок сложности для «почти всех» булевых функций позволяет
обнаружить явление большой степени общности: почти все
булевы функции имеют очень большую сложность реализации,
асимптотически равную сложности «самой сложной» функции.
Это явление имеет место для разных моделей вычислений (в том
числе, для автоматов и машин Тьюринга) и для разнообразных
классов функций.
: Острой открытой проблемой в теории сложности является
проблема нижних оценок сложности. Установление высоких
нижних оценок сложности для индивидуальных последовательностей
функций и языков столкнулось с принципиальными трудностями.
Полученные для них нижние оценки сложности удручающе малы
по сравнению с теми, которые дает мощностной метод Шеннона
или диагонализация для «неиндивидуальных» функций или
языков. В частности, для схем из функциональных элементов эти
оценки не удается поднять выше линейных (относительно числа
переменных), для машин Тьюринга — выше квадратичных, а для
формул — выше степенной с показателем степени 2,5.
Экспоненциальные и суперэкспоненциальные нижние оценки
сложности, доказанные А. Мейером, Л. Стокмейером, Л. А.
Шоломовым и другими авторами, безусловно, интересны, но еще
не дают решения проблемы нижних оценок сложности, поскольку
рассматриваемые в их работах последовательности не более
9
конкретны, чем шенноновская последовательность «самых
сложных» функций. Гипотеза С. В. Яблонского говорит о трудностях
задания сложных конкретных функций, а введенное им понятие
правильного алгоритма и теорема о невозможности элиминации
перебора служат для обоснования этой гипотезы.
Для конкретных языков и последовательностей функций
квадратичные нижние оценки сложности были получены
применением методов Э. И. Нечипорука и В. М. Храпченко и метода
следов. Предложенные 20 лет назад, эти методы вселяли
надежду на прогресс в решении проблемы нижних оценок
сложности. Однако следующий рекордный результат был получен
лишь в 1986 г., когда А. Е. Андреев, обобщив метод Б. А. Суб-
ботовской (считавшийся до этого более слабым) и по-новому
применив идею Э. И. Нечипорука, доказал для формул нижнюю
оценку, равную почти я2,5 (п — число переменных).
Трудности установления высоких нижних оценок сложности
вынудили искать успех «на флангах». Стали рассматриваться
не классические схемы, а схемы с некоторыми ограничениями
на базис или на структуру схем. Такие схемы дают гораздо
больше возможностей для доказательства высоких нижних
оценок сложности, но эти доказательства еще не решают проблемы
нижних оценок сложности. Нерешенность этой проблемы служит
мощным стимулом развития теории сложности.
Структура книги. Книга содержит девять глав. В гл. 1 даются
основные определения, связанные с графами и булевыми
функциями, и описываются булевы модели вычислений и меры их
сложности. Главы 2, 4 и 6 посвящены задачам синтеза
минимальных схем, а гл. 5 и 7—9 — проблеме нижних оценок
сложности. Вспомогательный характер имеет гл. 3, содержащая
некоторые нетривиальные результаты по геометрии единичного
я-мерного куба.
В конце каждой главы приведены комментарии и упражнения.
Комментарии содержат библиографические сведения и некоторые
дополнительные факты. Отдельные утверждения вынесены в
упражнения. Более трудные из них помечены звездочками и
снабжены ссылками.
Список обозначений приведен в конце книги. Среди них есть
и такие, которые разъясняются только в этом списке. Поэтому
читателю рекомендуется предварительно ознакомиться с ним.
ГЛАВА 1
МОДЕЛИ ВЫЧИСЛЕНИЙ
§ 1. Схема и функция
Хорошо известно из области программирования, что один и
тот же алгоритм можно задать (описать) на разных формальных
языках. Каждый такой язык характеризуется совокупностью
синтаксических правил и семантики. Синтаксис задает правила
построения допустимых (синтаксически правильных) выражений
(программ). Семантика определяет оператор, приписываемый
данной программе (или, как говорят, вычисляемый данной
программой).
Главным объектом внимания в этой книге является сложность
программ. Под этим можно понимать, например, время работы
программы или требуемую ею рабочую память и т. п. Для очень
многих задач конкретные особенности данного языка
программирования мало влияют на. сложностные характеристики. Известно,
например, что, какой бы язык программирования ни
использовать, все разработанные к настоящему времени программы для
решения задачи коммивояжера требуют экспоненциального
времени. Это означает, что для постижения сложностных
характеристик надо отвлечься от конкретных особенностей реальных
языков программирования. Поэтому мы будем изучать
простейшие модели языков программирования. Поскольку внешне
программы будут мало похожи на привычные, мы будем называть
их другим словом — «схемы». Итак, схема — это объект,
построенный по определенным синтаксическим правилам и служащий
для вычисления функции. Совокупность схемы и вычисляемой ею
функции называется управляющей системой или моделью
вычислений.
В этой книге изучаются прежде всего схемы, вычисляющие
булевы функции (функции алгебры логики). Булевы функции
сочетают предельную простоту с универсальностью. Достаточно
указать, что любая программа современной ЭВМ вычисляет
совокупность булевых функций.
В последующих параграфах определяются основные понятия,
вводятся в рассмотрение наиболее употребительные примеры
управляющих систем и изучаются их простейшие свойства.
П
§ 2. Графы
Пусть V — произвольное множество, а £ — множество
некоторых пар элементов множества V. Совокупность G = (V, £)
называется графом с множеством вершин V и множеством ребер Е.
Графы удобно представлять графически (что и определило их
название). При этом элементы множества V изображают точками
на плоскости, а ребра (а, Ь) — отрезками (прямолинейными или
криволинейными), соединяющими точки а и Ь. Примеры графов
можно будет увидеть на рис. 1—4 (§ 4, 6, 7). Граф называется
конечным, если множество его вершин и ребер конечно.
Если пары (а, 6)е£ считаются упорядоченными (т. е. пара
(а, Ь) отличается от пары (Ь, а)), то граф называется
ориентированным. В противном случае граф называется
неориентированным. Ребра ориентированного графа принято называть
дугами и изображать направленными отрезками, как на
рис. 4, а. Про дугу (а, Ь) говорят, что она выходит из вершины
а и входит в вершину Ь. Иногда вершины а и Ъ называют
соответственно началом дуги и концом дуги (а, Ь) или просто
концами ребра (а, Ь).
Если (а, Ь) ^ £, то про каждую из вершин а и Ь говорят,
что она инцидентна ребру (a, b), а сами вершины а и Ь
называются соседними. Число ребер, инцидентных вершине а,
называется степенью этой вершины в графе G и обозначается через
d(a). В ориентированном графе можно еще говорить о входной
и выходной степенях. Входной степенью вершины а (обозначение
d~(a)) называется число дуг, входящих в вершину а. Выходная
степень вершины a (d+ (а)) — это число дуг, выходящих из
вершины а.
Два ребра называются смежными, если оба они инцидентны
одной вершине. Последовательность С ребер е\, ег, ..., е*, в
которой ребро е\ инцидентно вершинам ао и а\9 ребро e<i инцидентно
вершинам а\ и аг, ..., ребро е* инцидентно вершинам а*_| и а*,
называется цепью длины k, соединяющей вершины ао и а*. Про
каждую из вершин a0, ai, ..., а* говорят, что она принадлежит
цепи С. По определению цепь С не имеет самопересечений, если
все вершины ао, а\, ..., а* попарно различны. Цепь С называемся
циклом, если ao = a* (k^\) и все ее ребра попарно различны.
Если граф G ориентированный и при любом /=1, ..., k ^/ = (a,-_i,
а/), то цепь С называется путем из вершины ао в вершину а*,
а цикл С называется контуром.
Граф называется связным, если каждая пара различных
вершин соединена в нем цепью. Связный граф без циклов называется
деревом. Пример дерева будет дан на рис. 1. Вершины дерева,
имеющие степень 1, называются его листьями. Остальные вершины
называются внутренними. Иногда в дереве помечают одну вершину
и называют ее корнем дерева. Корень дерева обычно считается
внутренней вершиной. На рис. 1 листья дерева помечены знаками
переменных. Как правило, ребра дерева считают ориентирован-
12
ными по направлению к корню. Вершины дерева естественным
образом разбиваются на ярусы. Корень дерева образует нулевой
ярус, соседние с ним вершины — первый ярус и т. д. Число
ярусов называется глубиной дерева.
Ориентированный граф без контуров естественным образом
задает отношение предшествования. А именно вершина а по
определению предшествует вершине Ьу если из вершины а идет
путь в вершину Ь. Вершина а называется непосредственно
предшествующей вершине Ьу если существует такой путь длины 1,
т. е. если в графе есть дуга с началом а и концом Ь.
Пусть A^V. Обозначим через ЕА множество всех таких ребер
из £, оба конца которых принадлежат А. Граф GA=(Ay ЕА)
называется подграфом графа G=(V, Е\ порожденным множеством
вершин А.
§ 3. Булевы функции
Слова (т. е. последовательности символов) в алфавите {0, 1)
называются двоичными (булевыми) словами (наборами), а число
вхождений символов 0 и 1 в слово — его длиной. Множество
всех двоичных слов длины п обозначается Вп.
Функция /(*ь ..., хп) с областью определения Вп и областью
значений {О, 1} называется булевой (или логической, или
функцией алгебры логики, или переключательной). Множество
всех булевых функций с областью определения Вп обозначается
Рг, а объединение (J Р% обозначается Рг.
Пе'ременная х,- функции f(x\, ..., хп) называется существенной,
если для некоторых ai, ..., a,_i, a, + i, ..., ап
f(ai, ..., <Xi-i, 0, (Zi+i, ..., an)=7^/(ai, ..., a/_i, 1, a, + i, ..., a„).
Несущественная переменная называется также фиктивной.
Заметим, что в Рг включаются и функции, зависящие фактически от
меньшего числа переменных, поскольку некоторые переменные у
функции могут быть фиктивными. Функция, полученная из /
заменой некоторых переменных константами, называется
подфункцией функции /.
Существуют различные способы задания булевых функций —
табличный, формульный и т. д. При табличном способе задания
(см. табл. 1) в левой половине таблицы пишут слова из Вп
(их 2п штук), упорядоченные лексико-графически (при этом
считается, что символ 0 предшествует символу 1), а в правой —
значения функции на соответствующих наборах. Поскольку левая
половина таблицы для всех функций из Р2 одна и та же, то для
задания функции достаточно указать только правый столбец,
т. е. двоичное слово длины 2Л. Верно и обратное: каждый
двоичный вектор длины 2" определяет некоторую булеву функцию.
Тем самым доказано следующее
„Утверждение 1. Число булевых функций из Р§ равно
2* .
13
Иногда правый столбец (значений функции) для экономии
места пишут как строку. Так, строка 0, 1, 1, 1 задает булеву
функцию двух переменных.
Л-1 х> ..
0 0
0 0
0 0
1 1
1 1
Та
. Х„ | х„
..0 0
.. 0 1
.. 1 0
.. 1 0
.. 1 1
блица
1
/'(.VI. х->
/(0, 0, .
/(0, о, .
/(0, 0, .
/(1,1,.
/(1,1,.
л-„ ,. л-,;)
., 0, 0)
., 0, 1)
.. 1, 0)
.. К 0)
.. 1,1)
Поскольку с ростом п число строк таблицы стремительно растет
(уже при я = 10 оно равно 1024), табличное задание применимо
лишь для очень небольших значений п.
Зададим таблицы некоторых простейших функций (все они
имеют свои обозначения). При л = 1 имеются 4 булевы функции:
константы 0 и 1, тождественная функция х и отрицание х. Эти
функции представлены в табл. 2. Константы 0 и 1 зависят от
х фиктивно.
Таблица 2
0 I
0 10 1
01 1 0
х У
0 0
0 1
1 0
1 1
х&у
0
0
0
1
Таблица 3
XV у
0
1
1
1
Л'-и/
1
1
0
I
Аф</
0
1
1
0
х~у
1
0
0
1
х/у
1
1
1
0
Функций от двух переменных в Рг всего 16. Наиболее
употребительные из них указаны в табл. 3. Они называются соответственно
конъюнкция, дизъюнкция, импликация, сложение по модулю 2,
эквивалентность и штрих Шеффера. Конъюнкцию называют
иногда логическим умножением или операцией «и». Для ее
обозначения используют иногда знак Л или точку. Иногда опускают
и точку (как обычно в алгебре). Так что запись xyz означает
х & у & г. Дизъюнкцию называют иногда логическим сложением
или операцией «или». Конъюнкцией называют также выражение
вида х\ & Х2 & ... &Хп> а дизъюнкцией — выражение вида
х\ V *2 V ••• V хп- Импликацию обозначают также знаком
гэ, а эквивалентность — знаком ==. Штрих Шеффера называют
иногда операцией «не и». Множеству Pi принадлежит, например,
и функция, задаваемая столбцом 0, 0, 1, 1. Она зависит от у
фиктивно и фактически совпадает с функцией х одной переменной.
Функции, получающиеся одна из другой добавлением или
изъятием фиктивных переменных, называются равными. Так, функции,
задаваемые столбцами 0, 1 и 0, 0, 1, 1, равны.
14
Введем теперь важнейшие классы функций. Положим 7о =
= {/|/(0,...,0) = 0).
Про функции класса То говорят, что они сохраняют
константу 0. Классу То принадлежат, например функции 0, ху у,
х&у, JcVy» *®У- Все они в первой строке таблицы принимают
значение 0.
Аналогично Т|={/|/(1, ..., 1)= 1). Эти функции в последней
строке таблицы принимают значение 1.
Функция /* называется двойственной к функции f(x\, ..., хп),
если /*(jci, ..., xn)=J{x\, ..., Хп\ Например,
(x\Jy)*=x&yy 0* = 1.
Обозначим символом S класс всех самодвойственных
функций, т. е. таких функций /, что /* = f. Самодвойственная функция
принимает на противоположных наборах (oti, ..., а«) и (аь ..., ап)
противоположные значения. Тем самым она полностью определена
своими значениями на верхней половине таблицы. Среди
элементарных функций самодвойственными являются функции х и х.
Функция /(jci, ...,*„) называется монотонной, если для любых
наборов а=(ои,..., ап) и Р = (Рь ..., рл) таких, что а/^р, (/ =
= !,..., я), имеет место /(a)<I/(p). Класс монотонных функций
обозначается символом М. Из числа элементарных монотонными
являются функции 0, 1, дг, х&у и х\/у.
Функция f(x\,...txn) называется линейной, если она предста-
вима в виде С\Х\® ...®спхп®сп+\> где каждый коэффициент
с-, равен 0 или 1 (подразумевается, что сначала вычисляются
все логические произведения ад (/= 1, ..., я), а затем
производится суммирование). Линейными являются элементарные
функции 0, 1, х, х, х®у и х~у. Класс линейных функций
обозначается L.
§ 4. Булевы формулы
Булевы формулы дают аналитический способ задания
булевых функций.
Пусть B = {gi, #2, ...}—произвольная система булевых
функций. Дадим индуктивное определение (булевой) формулы в
базисе В:
а) каждая переменная xt есть формула;
б) если gi(xu •••> xmj)^B и F\,...,Fm. суть формулы, то
gi(Fu ..., Fm) есть формула;
в) других формул нет.
Пример 1. Следующие выражения являются формулами:
а) Fi=((x&y)@x)®y (здесь В = {&,_0});
б) F2 = ((xy\/xy)&z~)V(<x\/y)&(xVy)&z) (здесь В = {&, V, }).
При написании формул в конкретных базисах нередко делают
отступления от приведенного выше определения формулы, как и
в примере 1. Например, пишут не &{хуу\ как предписывает
15
определение, а более привычное х&у. Далее нередко делают
соглашения о старшинстве операций, что позволяет опускать
некоторые скобки. Так, в базисе {&, \Л ~) по традиции (и в
языках программирования) старшей считается операция ~, затем &,
затем V- Нередко & опускают. Так что формулу ху\/ху следует
понимать как (х&(у))\/_((х)&у)_или, если быть еще более
ортодоксальным, как \/(&(ху {у)\ &((х\у)). Еще одну возможность
экономии скобок дает свойство ассоциативности операций. Например,
можно писать просто xyz вместо x&(y&z). В дальнейшем мы
будем без лишних оговорок пользоваться такими упрощениями.
Сопоставим каждой булевой формуле булеву функцию
следующим образом: формуле х{ сопоставим функцию Х{. Пусть
формулам F\%..., Fm. уже сопоставлены функции /i, ..., fmr
Тогда формула gi(Fiy ..., Fm.) реализует по определению
функцию gi(fu ..., fm.).
Пример 2. Формулы F\ и F2 из примера 1 реализуют
соответственно функции х\/у и x@y®z.
Формулы называются эквивалентными, если они реализуют
одну и ту же функцию.
Базис В называется полным, если каждая булева функция
реализуется некоторой формулой в базисе В. Полными являются,
например, базисы {&, V»~>, {&» ®,0, 1}, {&,"}, {\Л~}. {/} (штрих
Шеффера) и т. п.
При изучении вопросов полноты слово «базис» применяют
только к полным базисам. Более того, от базиса обычно
требуют неизбыточности, т. е. чтобы при удалении любой функции
из базиса он терял свойство полноты. В последнем смысле
система функций {&, у, ~} не является базисом, поскольку полна
уже система {V, 7}.
Теорема 1 (Поста о функциональной полноте). Система
функций полна тогда и только тогда, когда она не является
подсистемой ни одного из следующих пяти классов:
1) класса То функций, сохраняющих константу 0;
2) класса Т\ функций, сохраняющих константу 1;
3) класса S самодвойственных функций;
4) класса М монотонных функций;
5) класса L линейных функций.
Поскольку вопросы полноты не являются предметом
рассмотрения этой книги, отсылаем интересующегося читателя к одному
из руководств [111, 113] или менее доступному первоисточнику
[174].
Базис {&, V» } является наиболее употребительным. В силу
законов де Моргана х&у=х\/у, х\/у=х&у и закона двойного
отрицания х=х отрицания в формуле можно «спустить» до
переменных, произведя эквивалентные преобразования. При этом
число вхождений переменных в формулу не меняется.
Полученная формула называется нормализованной.
16
Приведем пример нормализации формулы:
х\/ z&y &z = (х V г&у) V ^ = x&z &у V z.
Язык формул является наиболее естественным для
аналитического задания (реализации) булевых функций.
Как для произвольной булевой функции построить формулу,
которая ее реализует? Если не заботиться о сложности
представления, этот вопрос особой трудности не представляет и будет
а о
Рис. 1
решен в § 5. Если же стремиться построить экономную формулу,
то это вопрос очень сложный. Подобным вопросам и посвящена
эта книга.
Укажем в заключение графическое представление формул.
Для этого сопоставим каждой формуле помеченное дерево с
корнем в соответствии с индуктивным определением формулы.
Переменной x-t сопоставим дерево, состоящее из одной вершины
Xi, Если формулам /м,..., Fm. уже сопоставлены деревья D\9 ..., Dm.
с корнями, то формуле gt{F\% .., Fm.) сопоставим дерево с корнем]
ролучающееся в результате добавления новой вершины — корня
И соединения его ребрами с корнями деревьев Di,..., Dm. и только
Ь ними. Корень полученного дерева пометим символом gi.
Деревья, соответствующие формулам F\ и F2 из примера 1,
Приведены на рис. 1. Если базисные операции все
перестановочны (как в примере 1), поддеревья D\,..., Dm. можно
размещать в произвольном порядке. В противном случае их нужно
располагать в указанной последовательности.
Дерево делает очень наглядным понятие подформулы.
Подформулы соответствуют поддеревьям дерева. Ребра дерева
считаются ориентированными по направлению к корню. Тогда мож-
ко говорить о предшествовании вершин.
§ 5. Дизъюнктивные нормальные формы
Дизъюнктивные нормальные формы суть булевы формулы
специального вида, а именно вида дизъюнкции конъюнкций.
Напомним, что элементарной называется конъюнкция, в
которой все переменные различны. Например, х\Хъх,\ есть элемен-
17
тарная конъюнкция, а л:2*5*2 таковой не является. В
обозначениях конъюнкций удобно применять функцию jc°, которая
определяется следующим образом:
х° = 1Х- если а==1'
I*, если а = 0.
Дизъюнкция элементарных конъюнкций называется
дизъюнктивной нормальной формой (д.н.ф.).
Пример 3. Следующие формулы являются д.н.ф.:
Dl=xV х°22...хап"у <J,G={0, 1}, 1 = 1 я,
D2 = xyz\/xyz\J xyz\/ xyz.
Каждую д. н. ф. можно рассматривать как булеву формулу
в базисе {&, \Л~) и сопоставлять ей булеву функцию как
формуле. Про эту функцию говорят, что она реализуется
(вычисляется) данной д. н. ф. Например, д. н. ф. D\ из примера 3
реализует функцию п переменных, которая равна 1 в
единственной точке с координатами (oil, ..., стя). Д. н. ф. D2 реализует
функцию x®y®z.
Каждая булева функция, не равная тождественно нулю,
реализуется некоторой д. н. ф. Это показывает следующая
Теорема 2. Если f (x\t ..., хп)Ф0, то
/(*,,...,*„)= V А1...'А*. (1.1)
/("I «„)= I
Доказательство. Рассмотрим произвольный набор
obi, ..., ая. Если / (qci, ..., а„)= 1, то в правой части выражения
(1.1) есть член xV ... *«п, который в точке ai,..., ап равен 1.
Следовательно, правая часть в точке ai, ..., а„ тоже равна 1.
Если же / vai, ..., an) = 0, то набор он, ..., а„ отличается от
всех наборов ai, ...,ая, по которым производится суммирование
в правой части. Поэтому каждая конъюнкция лг"1... хап" в правой
части выражения (1.1) равна 0. □
Указанное в теореме 2 представление называется
совершенной д. н. ф. Такая д. н. ф. существует для всех функций,
отличных от тождественного нуля. Последнюю можно реализовать
формулой х&х. Тем самым найдено представление в виде
формулы в базисе {&, V»-} Для каждой функции. При переходе к
другому базису достаточно заменить каждую из функций &, V,~
ее представлением в другом базисе.
§ 6. Контактные схемы
Контактные схемы — это наиболее «древний» класс
управляющих систем, которые рассмотрены еще в первой работе
К. Шеннона [189].
Пусть дан граф, в котором отмечены две вершины а и Ь
{полюсы графа), а каждому ребру приписана одна буква алфа-
18
вита {*i,.., *л, jc i, ..., Xn]. Ребро с приписанной буквой xV
называется контактом переменной x-i% а именно замыкающим, если
а,= 1, и размыкающим, если а( = 0. Описанный граф называется
контактной схемой и обозначается S(a, Ь). В контактной схеме
допускаются «параллельные» контакты, т. е. контакты с общими
концами. Вершины, отличные от полюсов
конта гной схемы, называются
внутренними.
Пример контактной схемы приведен
на рис. 2.
Пусть С — произвольная цепь без
самопересечений *), соединяющая полюсы
а и Ь. Если цепь С содержит (в некоторой
последовательности) контакты х",1,..., х?Л*
и только их, то ей сопоставляется конъюнкция Кс=хц .._*£*. Так,
цепи а, с, /, b на рис. 2 соответствует конъюнкция xyz, а цепи
а, с, /, е, d, Ь — конъюнкция xyyyz, равная 0.
Контактная схема S реализует по определению функцию
V Кс> где дизъюнкция берется по всем цепям без самопересе-
с
чений, соединяющим полюсы контактной схемы.
Контактная схема на рис. 2 реализует функцию
xyz\Jxyz \Jxyz \lxyz\Jxyyyz\Jxyyyz Vxyyyz Vxyyyz =
= xyz\J xyz У xyz \/xyz = x®y®z.
Контактная схема является удобной математической моделью
электромеханических релейно-контактных схем, которые
доминировали в доэлектронную эпоху в автоматике и телемеханике.
При этой интерпретации говорят, что контакт х{ замкнут (прово-*
дит) при Xi=l и разомкнут при jt, = 0. Размыкающий контакт
Xi ведет себя противоположным образом. Тогда цепь, состоящая
из контактов л?,1, ..., ;£*, проводит тогда и только тогда, когда конъ-'
юнкция *?Ц ... )t]kk равна 1. Это означает, что функция, реализуемая
контактной схемой, есть проводимость схемы', функция равна 1
тогда и только тогда, когда есть проводящая цепь между полюсами
а и Ь. Такая интерпретация порой оказывается полезной.
Самостоятельный интерес представляет подкласс класса
контактных схем — параллельно-последовательные контактные
схемы (П-схемы). Дадим индуктивное определение П-схемы:
а) один контакт (а, Ь) есть П-схема с полюсами а и Ь\
б) если Si(ai, Ь\) и S^fa, 62) суть П-схемы, то схема S(a, b\
полученная отождествлением (склеиванием) полюсов а\ с аг и
Ь\ с Ьчу есть П-схема {параллельное соединение П-схем S\ и
Si) с полюсами а = а\=а2 и 6=^=6, =62;
*) Имеется в виду, что без самопересечений в вершинах графа.
19
с у а
в) схема S(ai,&2), полученная склеиванием полюса аг с Ь\,
есть П-схема (последовательное соединение П-схем) с полюсами
а\ и 6г;
г) других П-схем нет.
Возможно и другое (эквивалентное) определение П-схем.
В П-схеме можно так ориентировать ребра-контакты, что все
цепи, идущие от полюса а к полюсу 6, станут ориентированными,
т. е. путями (в каждой цепи каждое ребро проходится в
положительном направлении). Это свойство является
характеристическим для П-схем. Оно более наглядно.
Воспользовавшись им, сразу можно
сказать, что схема на рис. 2 не является П-схе-
мой: в цепях а, с, /, b и а, е, /, с, d, b контакт
(с, f) проходится в противоположных
направлениях. Эквивалентная ей П-схема
приведена на рис. 3. Контакт вида (с, /)
называется мостиком.
П-схеме естественным образом
соответствует формула в базисе {&, V» "}•
Рис. 3 При этом контакту xV соответствует
формула л?', параллельному соединению схем
соответствует дизъюнкция формул, последовательному —
конъюнкция (см., например, соответствие между П-схемой на рис. 3 и
формулой F2 из примера 1). Если формула нормализована, имеет
место и обратное соответствие.
Функции, реализуемые П-схемой и соответствующей ей
формулой, очевидно, совпадают. Таким образом, П-схемы
изоморфны нормализованным формулам в базисе {&, V»}- Отсюда,
в частности, следует, что каждая булева функция может быть
реализована некоторой П-схемой, а значит, и контактной
схемой. Другой вывод: класс П-схем можно было бы не
рассматривать, а ограничиться изучением изоморфного объекта —
нормализованных формул. Тем не менее класс П-схем не
сбрасывается со счетов, поскольку эти схемы более наглядны.
§ 7. Схемы из функциональных элементов
Понятие «схема из функциональных элементов» сложилось
как альтернатива понятию «схема из автоматных элементов»,
которая функционирует во времени. В англоязычной литературе
термин для обозначения схем из функциональных элементов еще
не устоялся. В частности, они встречаются там под названиями
«прямолинейный алгоритм», «комбинационная схема», «булева
схема», «схема» и т. п.
Чтобы избежать излишней громоздкости и неоправданного
формализма, определим схемы из функциональных элементов в
конкретном базисе В = {&, V»-}- Из определения будет ясно,
как распространить его на произвольные базисы.
20
Пусть G — произвольный конечный ориентированный граф
без контуров, в каждую вершину которого входит не более двух
дуг. Пример такого графа дан на рис. 4, а (заметим, Что в этом
графе есть циклы, но нет ориентированных циклов, т. е.
контуров). Вершины, в которые не входят дуги, называются входами
или полюсами. Остальные вершины называются внутренними.
Некоторые вершины графа пометим как
выходные. Полученный граф называется
сетью.
Утверждение 2. Конечный
ориентированный граф без контуров содержит
вершины, в которые не входят дуги, и
вершины, из которых не выходят дуги.
Рис. 4
Рис. 5
Доказательство. Рассмотрим в графе произвольный
путь максимальной длины. Его начало и конец удовлетворяют
требованиям утверждения. □
В силу утверждения 1 каждая сеть имеет полюсы. Пусть
каждому полюсу сети приписана буква алфавита {х\, ..., *„}, каждой
внутренней вершине с одной входящей дугой — символ ~, а
вершине с двумя входящими дугами — один из символов & или V
(см. рис. 4,6). Символ, приписанный вершине а, обозначается
On (а) (булева операция, приписанная вершине а). Внутренняя
вершина вместе с приписанным ей символом называется
(функциональным) элементом, а именно дизъюнктором, если Оп(а) =
= V» конъюнктором, если On (а) = &, и инвертором, если On (а) =
=~~. Сеть с помеченными описанным образом вершинами
называется схемой из функциональных элементов. Иногда полюсы
схемы изображают кружочками, а элементы — треугольниками
или прямоугольниками (см. рис. 5).
Введем еще несколько обозначений. Если выход элемента а
подается на вход элемента Ь, будем называть а родителем вер-
21
шины 6, а вершину Ь сыном вершины а. Множество родителей
вершины Ь будем обозначать символом Род (Ь\ а множество
сыновей вершины а — символом Сын (а).
Если в последовательности вершин а\, ..., а, (/^2) а,^
еРод(а/ + |) для всех /(1<^/<л — 1), то вершина а» называется
предком вершины щ (а также, разумеется, всех промежуточных
вершин а2, ..., a<-i), а вершина а, — потомком вершины а\. Ясно,
что никакая вершина не может быть своим предком или
потомком из-за отсутствия в схеме контуров. Множество предков
вершины а обозначается символом Пред (а).
Припишем булевы функции вершинам схемы S следующим
образом. Каждому полюсу *,• приписывается функция х,. Пусть
некоторой эершине а непосредственно предшествуют вершины
& и с, которым уже приписаны функции fb (х\, ..., хп) и fc (х\, ..., хп\
Если вершина а помечена символом & (V)» то ей приписывается
функция fb&fc (fb\/fc)- Если в вершину а входит только одна
дуга (а именно из вершины 6), то вершине а приписывается
функция fb. Про эту функцию будем говорить, что она
вычисляется (реализуется) схемой S в вепшине а, и обозначим ее
символом Функ(а). Таким образом можно найти Функ(с1) для
любой вершины d схемы S. Это понятие полезно в задачах
анализа, с^сем, например, при доказательстве нижних оценок
сложности. Когда исследуют макроповедение схемы (т. е.
рассматривают ее как черный ящик со входами и выходами),
интересуются только функциями, вычисляемыми схемой в выходных
точках. Пусть выходные точки схемы некоторым образом
упорядочены: i'i, ..., vm. По определению схема S реализует булевы
функции /i, ..., /m (или, как говорят, булев (я, гп) -оператор
(/|, ..., /ш)), еСЛИ 0yHK(Vi) = fi(Xu...%Xn) (£=1, ...,/я).
Две схемы называются эквивалентными, если они реализуют
один и тот же булев оператор.
Приведенное определение схемы из функциональных
элементов и реализуемого ею оператора очевидным образом можно
распространить на случай произвольного базиса. В дальнейшем
мы будем полагать, что это уже проделано, и иметь дело со
схемами в произвольном конечном базисе. Более того, в
качестве элементов базиса можно брать не только булевы функции,
но, например, функции й-значной логики или операции некоторой
алгебры (например, кольца). Тогда в качестве Функ(а) будут
выступать соответственно функции fe-значной логики или
операции алгебры. В общем случае схему из функциональных
элементов можно рассматривать как схему .вычислений без команд
перехода.
Каждой булевой формуле очевидным образом соответствует
схема из функциональных элементов в том же базисе.
Действительно, объявим листья в дереве формулы полюсами, а корень
дерева выходом. После отождествления одноименных полюсов
получается схема. Например, формуле F* примера 1 (ее дерево
изображено на рис. 1,6) соответствует схем:.! на рис. 6. Булева
22
формула и соответствующая ей схема, очевидно, реализуют одну
и ту же функцию. Поскольку каждая булева функция может
быть реализована некоторой формулой в полном базисе, в
качестве следствия получаем, что каждая булева функция
реализуема некоторой схемой из
функциональных элементов.
Обратное соответствие (формул
схемам), вообще говоря, места
не имеет. Это объясняется тем,
что выходы элементов в схеме
могут «разветвляться» (см. элемент а
на рис. 5), что не имеет аналога
в случае формул. Поэтому сеть
схемы, вообще говоря, не является
деревом, даже если создать
достаточное число копий одноименных рис <>
полюсов. Благодаря ветвлению
выходов элементов схемы могут повторно использовать
результаты промежуточных вычислений (в отличие от формул). Это
приближает схемы к реальным вычислительным процессам и
позволяет «ускорить» вычисления.
§ 8. Сложность схемы и функции
Одна и та же функция, как правило, реализуема
различными схемами (которые по определению эквивалентны). Эта
картина хорошо знакома программистам. Рассмотрения
предыдущих параграфов показывают, что построение какой-либо схемы,
реализующей данную функцию, принципиальных трудностей не
представляет. Последнее высказывание может вызвать
недоумение у тех читателей, которые идут от программирования. Ведь
практическое программирование на девять десятых состоит в
преодолении как раз «непринципиальных» трудностей по
созданию и верификации программ. Чтобы устранить это недоумение,
еще раз подчеркнем, что, относясь с полным уважением к
многогранному и нелегкому труду программиста, мы в этой книге
сосредоточили свое внимание только на одной стороне дела, а
именно на сложностной. Поэтому мы сознательно выбрали
предельно простые языки программирования, которые назвали
схемами и которые дают возможность отвлечься от всех других
проблем программирования, кроме сложностной.
Важнейшие ресурсы при программировании — это время и
память ЭВМ. Если созданная программа имеет
удовлетворительные требования на память и время, на этом разработка
программы заканчивается. Но на практике такое бывает только
в случае одиночных программ или программ разового
пользования. При разработке комплексов программ, как правило, остро
стоит вопрос о вычислительных ресурсах. Поэ1чэму возникает
задача оптимизации программ. Эта задача может ставиться по-
23
разному, например, оптимизировать программу по времени или
по памяти, или по времени при ограничении на память и т. п.
Во многих случаях в разумных пределах можно ограничиться
оптимизацией по времени, поскольку быстрая программа не
успеет израсходовать много рабочей памяти.
При схемных вычислениях сложность характеризуется числом
(и, возможно, качеством) элементов. В § 4 гл. 2 мы увидим,
что схемная сложность хорошо мажорируется вычислительной
(машинной) сложностью.
Введем наиболее распространенные сложностные
характеристики схем:
Lq{F) —число вхождений символов переменных и констант
в формулу F\
Z4!) (F)—число вхождений символов базисных функций,
отличных от констант, в формулу F;
Ьф](F) — число вхождений символов базисных функций от
двух и более переменных в формулу F;
LK(D) —число конъюнкций в д. н. ф. D (длина д. н. ф. D)\
Lb(D) — число вхождений символов переменных в д. н. ф. D;
^kc(S) — число контактов в контактной схеме S;
^n(S) — число контактов в П-схеме S;
LC03(S)—число функциональных элементов в схеме S;
£>сфэ(5)— длина самого длинного пути от полюса до выхода
схемы (глубина схемы).
Из трех мер формульной сложности основной считается
L<t,(F). При графической интерпретации формул L<p(F) равно числу
листьев в дереве формулы, lL} (F) — числу внутренних вершин
дерева, a L0 (F) — числу внутренних вершин с двумя и более
входами.
Формула, имеющая минимальную сложность среди всех
эквивалентных ей формул, называется минимальной. Сложностью
булевой функции f в классе формул (обозначение £Ф(/))
называется сложность минимальной формулы, реализующей /. Иногда
мы будем писать также L% (/), чтобы явным образом указать
базис, в котором строятся формулы. Положим
£ф(я) = тах£ф(/).
Функция L0(n) называется функцией Шеннона. Она равна
сложности самой сложной функции от п переменных.
Аналогично определяются сложность функции и функция Шеннона для
других классов схем. Поэтому мы в дальнейшем будем
считать, что такие выражения, как, например, L0!) (/) или Lj?03* ! (я)>
уже определены. Иногда мы будем опускать нижние индексы
при L, когда не возникает сомнений, о каком классе схем идет
речь.
24
Иногда нас будет интересовать сложность реализации
функций не из всего класса P<>> а из некоторого его подкласса Тп.
В таком случае функцией Шеннона для этого класса Тп
называется величина
L(Tn) = maxL(f).
f<=T"
Вопросы оценки сложности булевых функций и построения
экономных схем находятся в центре внимания этой книги.
§ 9. Теорема о полноте и сложность формул.
Полиномы Жегалкина
Мы можем теперь проиллюстрировать доказательство
теоремы о полноте, сформулированной в § 4: система функций В полна
тогда и только тогда, когда она не содержится ни в одном из
следующих пяти классов: Г0, Т\у S, Му L. В одну сторону
утверждение теоремы проверяется непосредственно. Доказательство
достаточности мы тоже давать не будем, а лишь
проиллюстрируем его (следуя доказательству в [107, 111, 113]) для
системы В, содержащей только двуместные функции. При этом нас
будет интересовать сложностная сторона дела.
Итак, система В содержит двуместные функции fT()J />,, /$,
f\h fb не принадлежащие соответственно классам То, Т\у S, М
и L. Заметим, что некоторые из этих функций могут совпадать.
В частности, функция х&у (если она входит в В) годится на
роль каждой из этих пяти функций. Покажем, что через функции
системы В можно выразить функции 0, 1. х и х&у. Этого,
очевидно, достаточно для доказательства полноты системы В
(ввиду теоремы 2 и соотношения х\/у = х&у).
Утверждение 3. Константы 0 и 1 представимы в любом
полном базисе В, состоящем из двуместных функций, формулами
сложности не более 6.
Доказательство использует функции /Г(), /f, и fs. Если ff0^Tu
то
ffo(x9x)*=l9 /г,(/г0(*.*). /fo(*.*)) = /f,(U) = Of
т. е. константы 1 и 0 представимы со сложностью
соответственно 2 и 4. _
Например, xzDy^T\\T{)j х&уфТ\. Тогда
х!эх= 1, (xzdx)&(xzdx)=0.
Если же ft0&T\ (например, fTo=x&y)t то ff0(xy х) = х.
Очевидно, что хотя бы одна из функций fs(x> х) или fs(xt х) есть
константа со сложностью представления не более 3. С помощью х из нее
можно получить вторую константу со сложностью не более 6. □
Пример 4. ffQ=zx&yy fs=*\/y- Тогда jc = jc&jc, 1 = jc\/jc =
=jtV*&*, 0=(x\/x&x)&(x\/x&x)'
25
Утверждение 4. Из любой немонотонной функции
подстановками констант О и 1 можно получить функцию х.
Пример 5. х=эО = Зс.
Обозначим символом L<t>(f\g) минимальное количество
вхождений переменных и констант, которое требуется добавить к
нужному числу формул, реализующих функцию g, чтобы
получить формулу, реализующую /.
Следствие. В любом полном базисе в, состоящем из
двуместных функций, L%>(f \f)^6.
Утверждение 5. Для любой нелинейной функции fL(л\ у)
при подходящих а, р и у из {О, 1}
fl(x«, у*) = х&у.
В справедливости утверждения можно убедиться перебором.
Например,
(х!эу) = х&у, х\/у = х&у.
Следствие. Любая нелинейная функция ff (л*, у) пред-
ставима в виде (ха&у*)у.
Полиномы Жегалкина. Отметим одно специальное
представление булевых функций. Для этого представим сначала
произвольную булеву функцию формулой в полном базисе {&, ®, О, 1).
Затем, используя соотношения
x{y®z) = xy®xz, JC©JC = 0, х-х = х
и коммутативность и .ассоциативность операций & и ®, раскроем
последовательно все скобки и после приведения подобных членов
получим эквивалентную формулу вида суммы произведений
Xе*/, ... */, Ф<т,
где а^{0, 1}, а знак £о означает суммирование (по модулю 2) по
некоторой части подмножеств {/i,..., is\. Полученное представление
называется полиномом Жегалкина.
Утверждение 6. Каждая булева функция единственным
образом представима в виде полинома Жегалкина.
Доказательство. Представимость булевых функций в
виде полиномов Жегалкина мы уже показали. Докажем теперь
единственность представления. Для этого покажем, что число
различных полиномов Жегалкина, реализующих функции п
переменных, равно 22" — числу булевых функций от п переменных.
Действительно, каждый одночлен xi{ ...х( однозначно
определяется подмножеством индексов /i,...,/s. Всего таких подмножеств
2п (для каждого / (1<л^/г) переменная xt может
присутствовать или отсутствовать), а число непустых подмножеств равно
2я— 1. Набор одночленов и значение константы а однозначно
определяют полином, поэтому число различных полиномов
Жегалкина равно 22". П
26
Комментарии
Детальное определение понятия управляющей системы дано С. В.
Яблонским [108]. Конкретные классы управляющих систем описаны в работах С. В.
Яблонского [107) и О. Б. Лупаиова [48], на которых выросло целое поколение
советских кибернетиков. Наиболее полно и подробно они исследованы в книге
О. Б. Лупанова [54].
Материал § 2—4 можно найти практически в любом руководстве по
дискретной математике. Первое систематическое изложение материала на русском языке
дано в работе С. В. Яблонского [107].
Понятие булевой формулы дано в § 4 в несколько упрощенном виде. При
изучении сложностных категорий вполне можно обойтись таким определением.
При определении сложности формулы и схемы из функциональных элементов
можно учитывать не только количество элементов, но и их качество, приписывая
веса базисным функциям. Тогда сложность схемы равна сумме весов элементов,
входящих в схему. Такое определение можно найти, например, в работе О. Б.
Лупанова [45]. Важной характеристикой базиса является величина
р,
n = min —-—г ,
/и,- — 1
где т, —число входов элемента £,-, р,—его вес, a min берется по всем элементам
базиса с двумя и более входами.
Новые меры сложности можно найти в работах [113, 14G].
Упражнения
1. Доказать, что если / (a'i, ..., х„)Ф 1, то
f(x хп)= & (rf'V ~. V*?).
/'(П, п„) = ()
2. Привести пример формулы в базисе (&, \Д ~!> реализующей функцию 7з —
= *ф#ф2ф 1. Какова сложность этой формулы?
3. Используя изоморфизм между формулами в базисе |&, V» Iй П-схемами,
преобразовать формулу из предыдущего упражнения в П-схему. Какова
сложность этой П-схемы?
4. Построить контактную схему, реализующую функцию
Тл=хфуфг(В\.
5. Выписать On и Функ для каждой вершины схемы на рис. 5.
6. Если все переменные формулы F содержатся среди Л| v„, будс i
писать F = F(x\,..., хп). Функилн, реализуемые формулами F и G, обозначим
соответственно fug. Доказать, что формула F(ai, х? х„) V G {а\% х2, ..., х„)
реализует функцию /.(ои, х2 х„) V £(«ь *2, ••, х„\ где ai^(0, 1]. Доказать
аналогичное утверждение для других булевых операций.
7. Пусть контактная схема S реализует булеву функцию f {х\, ..., хп). Замкнем
накоротко (т. е. отождествим концы контакта) каждый замыкающий контакт a'i
и разомкнем (т. е. уберем из схемы) каждый размыкающий контакт х\ в схеме S.
Какую функцию реализует полученная схема?
8. Как преобразовать П-схему, реализующую функцию /,
в П-схему для функции /?
9. Пусть контактная схема S реализует функцию f (х\у ..., х„). Заменим в
схеме S каждый замыкающий контакт Xi(l^i^n) на размыкающий и наоборот.
Какую функцию реализует полученная схема?
ГЛАВА 2
СЛОЖНОСТЬ СХЕМ
(предварительное рассмотрение)
, Вспомним, что термин «схема» употребляется в этой книге в
трех разных значениях. В самом широком смысле он означает
любой формальный язык, служащий для вычисления булевых
функций. В более узком смысле он означает любую из пяти
введенных в гл. 1 моделей вычислений: булевы формулы, д.н.ф.,
контактные схемы, П-схемы, схемы из функциональных
элементов. И наконец, еще он используется как сокращение для
термина «схема из функциональных элементов». В этой главе термин
«схема» употребляется, если не оговорено противное, во втором
смысле.
§ 1. Задача синтеза минимальных схем
Задача синтеза минимальной схемы заключается в
построении для произвольной функции f(x\, ..., хп) минимальной схемы,
ее реализующей. Поскольку каждая функция имеет конечную
сложность, эта задача допускает тривиальное решение:
достаточно перебирать схемы в порядке возрастания сложности, пока
не встретится схема, реализующая функцию f. Она, очевидно,
и является решением задачи. Попробовав применить такой
алгоритм, очень быстро можно убедиться, что уже при п=4 это
связано с перебором огромного числа схем. Обратившись к помощи
ЭВМ, еще можно справиться с задачей при п =5, затратив
несколько часов машинного времени. Но уже при п> 8 алгоритм
перебора не под силу самой быстродействующей ЭВМ (более
того, даже гипотетической машине, быстродействие которой
определяется скоростью света) из-за астрономического количества
времени, требуемого для реализации алгоритма перебора.
Каждый, кто имел дело с вычислениями на ЭВМ, понимает, что
невозможно практически реализовать алгоритм, требующий годы
машинного* (т. е. чистого) времени.
Это обстоятельство, чрезвычайно характерное для дискретных
экстремальных задач, показывает неадекватность понятия
алгоритма понятию реальной вычислимости, т. е. вычислимости за
«приемлемое время». В настоящее время в математическом оби-
28
ходе используется более точная формализация понятия реальной
вычислимости. Это — алгоритмы полиномиальной сложности,
точнее, алгоритмы, число элементарных действий которых
ограничено некоторым полиномом от числа двоичных символов в
записи исходной информации. Под элементарными операциями
здесь можно понимать, например, команды любой реальной
ЭВМ, так как оказалось, что от выбора элементарных операций
зависит только степень полинома.
Итак, алгоритм перебора не является реально осуществимым,
поэтому мы не будем им пользоваться, за исключением
тривиальных случаев. В дальнейшем нас будут интересовать реально
осуществимые алгоритмы синтеза минимальных схем. Задача
построения таких алгоритмов чрезвычайно трудна и в настоящее
время далека от окончательного решения. Поэтому обычно
рассматривают некоторые ослабления этой задачи.
Одно из возможных ослаблений заключается в приближенном
решении задачи, т. е. в построении не обязательно минимальных,
а «достаточно экономных» схем. Как будет показано в гл. 4, и
эта задача еще остается очень трудной (при «достаточно
точном» решении). Поэтому делают еще одно ослабление: ищут
такие алгоритмы, которые строят экономные схемы не обязательно
для всех, а для большинства функций. Такой подход был
предложен еще К. Шенноном.
Другая важная задача, связанная с трудностями построения
минимальных схем,— это задача нижней оценки сложности
функции L (f). Хотя на эту тему выполнено довольно большое число
исследований, проблема нижних оценок сложности продолжает
оставаться наиболее загадочной и животрепещущей ветвью
теории сложности булевых функций. Она тесно переплетается
с известной проблемой P=NP (см. [133]).
§ 2. Простые соотношения для минимальных схем
В этом параграфе устанавливаются некоторые простейшие
соотношения между сложностями схем. Большинство из них
немедленно вытекает из определения и потому не требует
доказательств. Эти соотношения фактически можно рассматривать как
комментарии к введенным определениям.
Установление более тонких соотношений требует
нетривиальных доказательств нижних оценок сложности и потому
откладывается на более поздние главы. Некоторые из этих соотношений
упоминаются в этом параграфе.
Утверждение 1. Для любой функции /еР\
^кс (fl<M/KMfK«Mf)-
Оно очевидно, так как П-схемы являются частным случаем
контактных схем, а д. н. ф.— частным случаем формул, изоморф-
29
ных П-схемам. Последнее неравенство верно в силу того, что
каждая конъюнкция содержит не более п букв. □
Утверждение 2. Для произвольного базиса В
Оно следует из того, что формулу можно рассматривать как
частный случай схемы из функциональных элементов. □
Заметим, что у нас пока нет соотношения между LKC и £СФЭ.
Простыми средствами эту связь установить не удается. Только из
результатов гл. 8 станет ясно, что для некоторой
последовательности функций fn (х\, ..., х„)
Lc<J>3(fn) = o(LKC(fn)).
Для произвольной функции / соотношение между LKC (/) и
^сфэ (Л остается невыясненным.
Утверждение 3. Если функции базиса В\ представимы
через базис Вг, то
L&3(f) = 0(L&a(f)).
Достаточно каждый элемент схемы в базисе В\ заменить
эквивалентной схемой константной сложности в базисе Вг- □
Имеет ли место аналогичное соотношение для формул? Хотя
такое же построение эквивалентной формулы, безусловно,
возможно, оно может вызвать неограниченное возрастание
сложности. Это объясняется отсутствием ветвлений выходов элементов
в формуле. Поэтому, если замена одного элемента схемы
подсхемой в новом базисе может увеличить сложность схемы из
функциональных элементов на константу, то в случае формул — в
константу раз. Итерация таких замен способна привести к
существенному увеличению сложности.
Для получения более точных неравенств установим сначала
соотношения между элементами деревьев. Под числом входов
вершины понимаем число входящих в нее ребер. Будем называть
формулу приведенной, если она не содержит подформул вида G.
Очевидно, для каждой формулы есть эквивалентная приведенная
формула не большей сложности.
Утверждение 4. Пусть в дереве D, соответствующем
приведенной формуле Fy I обозначает число листьев, v — число
внутренних вершин, из них t—число одновходовых вершин,
г—максимальное число входов внутренней вершины. Тогда при г> 1
-^i-<y-/</-l, у<3/-2. (2.1)
Доказательство. В дереве D приведенной формулы нет
соседних одновходовых вершин. Поэтому ребра, входящие в од-
новходовые верггины, попарно несмежны. Следовательно, одно-
входовые вершины составляют не более половины всех вершин
дерева, т. е. /<(/ + у)/2.
за
Оценим число R ребер дерева. Из каждой вершины, кроме
корня, выходит ровно одно ребро по направлению к корню.
Поэтому /? = /+у—1. Число входящих ребер больше или равно
/ + 2(у — /) и не более t + r(v — t). Поэтому
/ + 2(у — /)</ + u-i</ + r(i;- /),
откуда получаются два первых неравенства в (2.1). Из второго
неравенства в (2.1) с учетом t^(l + v)/2 получаем третье
неравенство в (2.1). П
Следствие. Если максимальное число переменных у
функций базиса равно г и г> 1, то для любой приведенной формулы F
U(F)-\
Вернемся теперь к вопросу о соотношении сложностей
функции при реализации ее формулами в различных базисах.
Представление линейной функции и фи в базисе {&, V» ~1
увеличивает сложность в два раза:
u(&v = uv V uv.
Но если и и v в свою очередь являются линейными функциями,
то отношение сложностей будет расти. Эффект существенного
возрастания сложности при изменении базиса в случае двуместных
базисов зависит только от наличия или отсутствия в базисе
линейной функции двух переменных. Это будет показано ниже в
теореме 1. Предварительно докажем
Утверждение 5. Если полный базис В из двуместных
функций не содержит функций х®у и х~уу то для любой
функции f
# '(/K2L*(/), (2.2)
Ц(/)<13/£ "'(ft (2.3)
Доказательство. В минимальной формуле F для
функции / в базисе В заменим каждую нелинейную функцию g (и, и)
эквивалентным выражением (u^&v^y (см. следствие утверждения
5 гл. 1). При этом число вхождений символов переменных и
констант в формулу не изменится. Далее заменим каждое вхождение
константы в формулу F (пусть / есть число таких вхождений) на
х&х или х&х. Полученная в итоге формула F' в базисе {&, ~) имеет
сложность
L0 (F') = U (F)-/ + 2/<2L0 (F\
что и доказывает (2.2).
Пусть теперь F обозначает минимальную формулу в базисе
{&, ~} для функции /. В соответствии с утверждением 5 гл. 1
заменим каждое вхождение & в формулу F на gy (хау ур), где
g(xy у) —некоторая нелинейная функция из В (она существует в
силу полноты базиса). Такая замена не изменяет сложности
31
формулы. Далее заменим в полученной формуле каждую
подформулу вида и на и. Пусть /—число вхождений отрицаний в
полученную после таких замен формулу Р. В силу утверждения 4
t<2U(F). (2.4)
Каждую подформулу вида и заменим в соответствии с
утверждением 4 гл. 1 и следствием из него формулой, которая сложнее
подформулы и не более чем на 6. Итак, дополнительные затраты
сложности для представления отрицания в базисе В не
превышают 6/, что с учетом (2.4) будет не более 12L0 (F). Следовательно,
доказано неравенство (2.3). □
Теорема 1. Пусть В\ и Вч— два полных базиса из
двуместных функций, которые одновременно содержат или не содержат
линейные функции двух переменных. Тогда
1$ (/)<26L£(/).
Доказательство. Если оба базиса не содержат х®у и
л:~ г/, то доказательство немедленно вытекает из неравенств
(2.2) и (2.3). Если же оба они содержат линейные функции двух
переменных, то сделаем при необходимости замену в
соответствии с хфу = х~у, а возникшее отрицание представим так же,
как при доказательстве (2.3). □
Утверждение 6. Если функция, реализуемая схемой,
существенно зависит от переменных х\, ..., хп, то схема содержит все
эти переменные.
Утверждение 7. Если контактная схема содержит только
замыкающие (размыкающие) контакты переменной xit то
реализуемая ею функция монотонно возрастает (убывает) по х{.
Действительно, из физической интерпретации контактных
схем видно, что при изменении значения переменной х, с 0 на 1
проводимость каждого замыкающего контакта Xi возрастает, а
у контактов всех остальных переменных не меняется, поэтому,
если в схеме нет контактов х1у то возрастает (или не изменяется)
и проводимость всей схемы. Если же переменная дг,- представлена
только размыкающими контактами х„ то проводимость схемы
может только уменьшиться при изменении значения х-% с 0 на 1. □
Следствие. Если функция не является монотонно
возрастающей или убывающей по переменной xir то реализующая ее
контактная схема содержит хотя бы по одному контакту лс, и xt.
Утверждение 8. В минимальной схеме из
функциональных элементов только выходные элементы могут иметь выходную
степень 0.
Действительно, в противном случае этот невыходной элемент
можно было бы удалить из схемы. При этом функции всех
выходных элементов схемы (равно как и оставшихся невыходных)
сохраняются. □
Рассмотрим одно преобразование схем из функциональных
элементов. Пусть а и Ь—две произвольные вершины схемы S.
32
Присоединим все выходные ребра вершины Ь к выходу вершины
а, а вершину b со всеми инцидентными ей ребрами удалим (см.
рис. 7). Такая операция называется заменой вершины Ь
вершиной а в схеме S. Эта операция уменьшает сложность схемы. Если
в схеме S Ьф Пред (а) и Функ(а)=Функ(Ь), то такое
преобразование является эквивалентным. Поэтому справедливо
Утверждение 9. В минимальной схеме из
функциональных элементов функции разных вершин различны.
Рис. 7
Следствие. Минимальная схема не может содержать двух
последовательных инверторов.
Утверждение 10. Если базис В наряду с каждой
функцией вида <р(*1, ..., х/, ..., xq)(q^2) содержит функции
ф(*|, ..., 0, ..., Xq) U ф(*|, ..., 1 Xq)
и в выходных вершинах не реализуются константы, то функции
невыходных вершин минимальной схемы из функциональных
элементов также отличны от констант.
Доказательство. Пусть функция невыходной вершины а
есть константа. Выход элемента а подается (возможно, пройдя
через инвертор) на вход некоторого элемента Ь с On(b) = q>(x\,...
..., Xi, ..., xq). Тогда On(b) можно заменить на ф(хь ..., б, ..., хя),
6е{0, 1}, а элемент а из схемы убрать, что противоречит
минимальности схемы. □
Теорема 2. Минимальная схема из функциональных
элементов с одним выходом в базисе из двуместных функций с
суммарной степенью полюсов п содержит не менее п — 1 двух-
входовых элементов.
Доказательство. Пусть схема содержит т\ одновходо-
вых и Ш2 двухвходовых элементов. Число входящих ребер в
схеме равно mi+2m2. Число выходящих ребер не меньше
n + m\-\-ni2— 1. Поскольку мы считали одни и те же ребра, то
п + т\ + т2— 1 <mi+2m2, т. е. т2^п — 1. □
2 Р. Г. Нигмалулин
33
§ 3. Реализация линейной функции
в различных классах схем
В этом параграфе строятся схемы из разных классов для
реализации линейной функции. При этом преследуется несколько
целей. Во-первых, мы получим представление о возможностях
разных схем. Во-вторых, полученные при этом оценки
сложности понадобятся в дальнейшем для сопоставления с нижними
оценками сложности.
Напомним, что есть всего две линейные функции, существен-
нозависящие от п переменных. Это функции 1п = х\ ф ... ®хп
и /п = //1©1. Выписанные представления являются формулами в
базисе {ф, 1}. Тем самым Lx®*{ln)<^ny L®* ,!(7„Xn +1. Если
принять во внимание утверждение 6, знак ^ в этих
соотношениях можно заменить на знак =.
Реализуем теперь линейные функции формулами в базисе
{&, V, }• Если формула F реализует одну из функций /„ или
/„, то F реализует вторую из них. Поэтому
Ьф' ' (/л)=Z-ф, ' ' (1ц)'
Обозначим для краткости каждое из этих выражений
символом Ln. _
В базисе {&, \Л } линейная функция реализуется уже
нетривиально. Очевидно, что Ц = \. Пользуясь следствием из
утверждения 7 и изоморфизмом между _П-схемами и
нормализованными формулами в базисе {&, V» I» можно убедиться, что
формула х\Х2\/х\Х2 дает минимальное представление для /2, т. е.
L2 = 4. Представим теперь 1п для произвольного n = m-\-k в виде
ln = lm®lk = lJk\/Tmlk (2.5)
(подразумевается, что /* = /*(*„,+1. ..., х„)).
Теорема 3. L^v> >(/„)< А ^ а при „ = 2p
Доказательство. Пусть n = 2p-\-q, где 0<<7<2'\ Будем
строить формулу для /я, последовательно применяя соотношение
(2.5). При этом т и k будем выбирать так, чтобы они отличались
не более чем на 1. Имеем
In = /[л/2] Ф l]n/2[ = h\n/2\_ | ©' ||л/2|Г ©'[J///2] 1 ©' 1J/I/2J Г ==---
Например,
/9 = /4ф/5 = /2ф/2ф/2Ф/з = /1Ф/|Ф/|Ф/|Ф/|Ф/|ф/1Ф/2.
На каждой стадии разбиения индексы у / отличаются не более чем
на 1. Разбиения ведем до тех пор, пока не появится индекс 1.
Для этого нужно р стадий разбиения. После р-й стадии п — 2р
34
слагаемых встречается с индексом 2, а 2-2р — п слагаемых —
с индексом 1. Поэтому
Lw<2(L|/,/2| + L[^)<...<2'?((2.2^n)L, + (n-2'J)L2) =
= 2/,(Злг —2- 2Р) = У (2Р + 3q).
Введем обозначение
Нетрудно убедиться, что функция А (р, q) достигает
максимума при q = 2p/3. Этот максимум равен 9/8. Поэтому Ln^9n2/8.
Если же (7 = 0, то Ln^2p-2p = n2. П
Итак, мы реализовали функцию /„ в базисе (&, V» }
формулой квадратичной сложности. В гл. 8 будет показано, что
Ln^n2. Это означает, что построенные нами формулы при
Рис. 8
п = 2р минимальны, а для остальных значений п близки к
минимальным. Мы видим, что при изменении базиса с {ф, 1} на
{&, V» } сложность линейной функции резко возрастает. _
Поскольку П-схемы изоморфны формулам в базисе {&, \Л )»
полученный результат можно сформулировать и так: в классе
П-схем линейная функция реализуется с квадратичной
сложностью.
Можно ли уменьшить сложность, перейдя к более широкому
классу произвольных контактных схем? Положительный ответ
дает следующая
Теорема 4. LKC(/„)^4/z — 4 при я ^2.
Доказательство. Схема на рис. 8 реализует функцию
In и содержит 4п — 4 контакта. На этом рисунке символы // и
// при вершинах указывают, какая функция реализуется между
этой вершиной и вершиной /0. □
Является ли схема на рис. 8 минимальной? Имеющиеся в
нашем распоряжении средства (утверждения 6 и 7) позволяют
только доказать, что LKC(ln)^2n (при п^2). Однако в гл. 8 мы
увидим, что эта схема действительно минимальна.
Теорема 5. L&^ '(/„■)< 4л — 4.
Доказательство. На рис. 5 показана схема для /.* из
В элементов. На этом же рисунке видно, что схема для /3 полу-
35
чается из схемы для /2 добавлением такого же блока,
реализующего /з = /2ф*з. В силу 1п = 1п-\®хп такая достройка
возможна для любого п. Она требует 4 новых элемента. □
Если в классах формул, контактных схем и схем из
функциональных элементов линейная функция имеет не более, чем
квадратичную сложность, то в классе д. н. ф. она реализуется
намного сложнее.
Теорема 6. Lb{ln) = n2n~\ LK(ln) = 2n-1.
Доказательство. Функция /„ обращается в 1 на-всех
наборах (о\9 ..., оп) с нечетным числом единиц и только на них.
Поэтому произвольная д. н. ф. линейной функции состоит из
л-буквенных конъюнкций, но тогда она совпадает с
совершенной д. н. ф. и содержит 2п~х конъюнкций по п букв. □
§ 4. Соотношение между схемной сложностью
и сложностью машинных вычислений
Одним из главных мотивов при изучении сложности
булевых функций является ее связь со сложностью машинных
вычислений. Эту связь мы собираемся установить в этом
параграфе. Наличие такой связи может показаться неожиданным,
поскольку схемная сложность ассоциируется скорее с
описательной сложностью, нежели со сложностью вычислений. Тем не
менее, как мы увидим, сложность схемы из функциональных
элементов хорошо мажорируется временем и памятью машинных
вычислений.
При изучении указанной связи прежде всего встает вопрос:
с какой машиной сравнивать схемы? В интересах приложений
хотелось бы сравнить схемы с реальными ЭВМ. Но есть
несколько обстоятельств, которые заставляют отказаться от этого.
Прежде всего, результаты сравнений с одной ЭВМ трудно
перенести на другую. Далее, каждая ЭВМ имеет свои стандарты,
что вынуждает сравнивать ее со схемами с определенным
числом входов. Все эти соображения показывают, что удобнее иметь
дело с абстрактной моделью ЭВМ, которая вбирает в себя
характерные черты реальных ЭВМ и в то же время свободна от
непринципиальных ограничений. В настоящее время в качестве
такой модели применяют так называемые РАМ-машины с
произвольным доступом к памяти. В первом приближении
можно считать, что РАМ-программа состоит из команд любой
обычной ЭВМ. Входная информация задается на входной ленте,
выходная — на выходной, а для записи промежуточных
результатов используются регистры. Одна ячейка ленты (так же, как
и один регистр) способна хранить любое целое число.
Подробное описание РАМ не входит в наши задачи. Интересующийся
читатель может обратиться, например, к работе [114].
Итак, в качестве модели ЭВМ разумно брать РАМ. Но мы
рассмотрим более элементарную модель — машины Тьюринга.
Казалось бы, такая подмена в корне меняет дело: машины
36
Тьюринга с конечным алфавитом и с ограниченной
подвижностью головки кажутся безнадежно тихоходными по сравнению
с РАМ. На самом \деле это не совсем так: машина Тьюринга
может всего лишь с полиномиальным замедлением моделировать
РАМ (доказательство см., например, в [126] и [114]). При
этом степень полинома зависит от модификации РАМ и машины
Тьюринга. Итак, с точностью до полиномиального
преобразования времени работы машины Тьюринга равносильны РАМ.
Специфицируем теперь машину Тьюринга, с которой мы
будем сравнивать схемы. Она имеет одну бесконечную в обе
стороны ленту,. ленточный алфавит А = {а\, ..., ат) и алфавит
состояний головки Q = {qo, <7i, ..., qk}- Состояние qo считается
начальным, a qk — заключительным. Один ленточный символ
(назовем его пустым и обозначим Л) играет особую роль. Он
обозначает отсутствие значащего символа в ячейке ленты.
Каждая команда машины М имеет вид
0,47/-►afy/s,
где s^{Ly Ny /?}. Эта команда интерпретируется следующим
образом: если головка в состоянии q\ обозревает ячейку с
символом а„ то она заменяет этот символ на а\, меняет свое
состояние на q] и сдвигается в соседнюю справа (если s = R) или
слева (если s = L) ячейку или остается на месте (если s = N).
В начальный момент на ленте записано исходное слово Х\у ...
..., хп и головка обозревает самый левый символ этого слова в
состоянии q0. Все остальные ячейки заполнены символом Л.
Мгновенное описание (другими словами, конфигурация)
машины Тьюринга в некоторый момент времени — это значащая
часть слова, записанного на ленте, состояние головки и
указание обозреваемой ею ячейки. Начальная и заключительная
конфигурации представлены в табл. 4 соответственно слева и
справа.
Таблица 4
Х\Х2 ... Хп у\у2 ... t/( ... Уг
t t
(Jo qk
Если система команд задана, то каждая конфигурация
однозначно определяет следующую. Работу машины Тьюринга можно
представлять как процесс изменения конфигураций, начиная с
начальной. Если при работе машины Тьюринга какая-то
конфигурация встретилась повторно, это означает, что машина
«зациклилась» и, следовательно, никогда не остановится.
Время работы машины Тьюринга М над входным словом
х\...хп (обозначение Тм(х\ ... хп)) по определению равно числу
различных конфигураций до наступления заключительной
конфигурации.
Прежде чем перейти к непосредственному моделированию
машины Тьюринга схемами, отметим ряд обстоятельств, затруд-
37
и
няющих сравнение. Прежде всего, машины Тьюринга допускают
входные слова произвольной длины, в то время как схемы —
только слова фиксированной длины. Далее, машины Тьюринга
к некоторым входным словам не применимы, тогда как функция,
реализуемая схемой, определена на каждом входном слове.
Время работы машины Тьюринга, вооыце говоря, не ограничено
никакой общерекурсивной функцией, в то время как
минимальные схемы имеют ограниченную сложность (а именно не более
L(n)).
Мы будем применять для моделирования обобщенные схемы
из функциональных элементов, в которых на входах и выходах
элементов присутствуют символы алфавитов А и Q, где А —
ленточный алфавит, Q =Q[){q]h Q — алфавит состояний, q — новый
/23 символ, который называется
холостым состоянием. Ясно, что каждый
такой элемент можно моделировать
обычной (двоичной) схемсй
константной сложности после
предварительного кодирования букв алфави-
/ L N R тов А и Q конечными двоичными по-
а 9 9 Я Я следовательностями. Поэтому пере-
Рис. 9 ход от обобщенных схем к обычным
связан с увеличением сложности
лишь в константу раз.
Итак, пусть машина Тьюринга М работает на словах длины
п не более Т тактов. Построим обобщенную схему, которая
моделирует работу М на словах длины п. Схема строится из
преобразующих элементов U и фильтрующих элементов Ф. Элемент U
имеет два входа и четыре выхода (см. рис. 9). На левый вход
подаются символы алфавита Л, на правый — символы алфавита
Q. Если q = q, то элемент U производит тождественное
преобразование, т. е.
а' = ау qL = qN = q" = q.
Если q=£q и a = aiy q = q\, то в системе команд машины М есть
команда с левой частью а,-<//. Пусть ее правая часть есть ajq'jL.
Тогда на выходе элемента U
a' = aU qL = q'h q*=q, / = ?•
Если s = N или s = R, то соответственно qN' = q'j или qR = q], а на
других {/-выходах — символы q.
На входах и выходе элемента Ф — символы алфавита Q.
Если один из входов q\ q2, q* отличен от q, то он идет на
выход (случай, когда несколько входов отличны от qy у нас
представиться не может). В противном случае выход равен q.
Заметим, что если Тм(х\ ... хп)^Ту то головка может уйти
вправо и влево от начального положения не далее чем на Т ячеек.
Поэтому достаточно держать в поле зрения зону ленты из 2Т-\-1
ячеек, которые мы будем нумеровать числами от —Г до Т. Схема,
38
которую мы строим, имеет прямоугольный вид. У нее Т строк и
2Т-\- 1 столбцов. На пересечении /-й строки и /-го столбца в схеме
находятся один элемент U и один элемент Ф. Мы будем
изображать их один под другим, тем самым каждая
строка будет двухъярусной. Порядок соединения элементов в
схему показан на рис. 10.
Схема работает так, что /-я строка (/=1,..., Г) выходами
своих 2(2Т + 1) элементов представляет/-ю конфигурацию машины
М, а именно элемент U
/-го столбца своим
первым выходом —
ленточный символ /-й ячейки
( —Г^/^Г), а тот
единственный в /-й строке
элемент Ф, выход которого
отличен от qy
представляет своим выходом
состояние головки, а своим
номером — номер
обозреваемой ячейки.
Для наглядности на
том же рис. 10 сверху
показан фрагмент текущей
конфигурации, а га
входах элементов —
соответствующие значения в
предположении, что
команда машины М имеет
вид aiq^a^L.
Построенная нами обобщенная схема моделирует работу
машины М и содержит 2Т{2Т-\-\) элементов. После замены
каждого элемента схемой из двоичных элементов сложность
возрастает только в константу раз. В итоге мы приходим к
следующему выводу.
Если машина Тьюринга М работает на словах длины п не
более Тм (п) тактов, то ее можно моделировать схемой из
функциональных элементов сложности 0(Т2м{п)).
Такое моделирование позволяет получать верхние оценки
сложности для схем из функциональных элементов. Например,
в булевом случае результат может быть сформулирован
следующим образом.
Теорема 7. Пусть машина Тьюринга М вычисляет булев
(л, ш)-оператор (fu ..., fm) не более, чем за Тм(п) тактов. Тогда
Lc*3(fu...,U) = 0(T2M(n)).
Примечание. Легко видеть, что в построенной схеме
много «лишних» элементов. Это прежде всего элементы обоих
верхних углов схемы, где длительное время состояние остается хо-
39
лостым. И в оставшейся части схемы существенны только
элементы в окрестности нехолостого значения состояния. Это
представляет большие возможности для упрощения схемы. Поскольку
нас интересовала только принципиальная возможность схемного
моделирования машины Тьюринга с полиномиальной
сложностью, мы не ставили целью построение минимальной схемы.
Комментарии
1. С неизбежностью перебора огромного числа схем при построении
оптимальных схем для конкретных функций первыми столкнулись инженеры. В
математической постановке этот феномен был сформулирован С. В. Яблонским [109].
Явление неизбежности перебора при синтезе оптимальных схем накладывает
отпечаток на всю проблематику теории сложности.
Для обоснования неизбежности «полного перебора» при синтезе
минимальных схем С. В. Яблонский предложил рассматривать задачи синтеза при
ограничении на средства построения схем. В качестве естественного класса
алгоритмов, допустимых при синтезе схем, он предложил [109] так называемые
правильные алгоритмы (см. об этом также в гл. 7) и доказал, что решение задачи,
близкой к задаче синтеза минимальных схем, в классе правильных алгоритмов
требует «полного перебора». В качестве другого естественного класса
алгоритмов, допустимых при синтезе схем, Ю. И. Журавлев предложил локальные
алгоритмы (см. § 2 гл. 3). Их естественно применять к задачам на покрытие.
В работах [18, 20, 21] доказано, что решение некоторых задач, близких к задачам
построения минимальных покрытий, невозможно в классе локальных алгоритмов,
использующих информацию только об окрестностях конечного порядка. Этот
результат также говорит в пользу невозможности решения «простыми
средствами» задачи синтеза оптимальных схем. К названным работам идейно
примыкает еще результат Л. А. Шоломова [103], который ввел в рассмотрение так
называемые блоковые алгоритмы и показал, что в этом классе алгоритмов
задача распознавания свойства L (/)</, где L (/) —схемная сложность функции /,
имеет не меньшую «информационную сложность», чем полный перебор.
Класс Р алгоритмов, работающих за полиномиальное время, как формальное
приближение к понятию реальной вычислимости предложили А. Кобхэм [124] и
Дж. Эдмондс [127]. Это предложение получило поддержку, когда выяснилось,
что различные модификации алгоритмов (такие, как машины Тьюринга с
различным количеством лент, при наличии или отсутствии входной и выходной лент,
РАМ-машины с произвольным доступом к памяти и т. п.) моделируют друг друга
с полиномиальной задержкой во времени. Это позволяет не уточнять, о времени
работы какого алгоритма идет речь при определении класса Р, так как все
модификации алгоритмов полиномиально эквивалентны.
Следует признать, что класс Р не является адекватным классу реально
выполнимых алгоритмов. В самом деле, если алгоритм затрачивает л1000 шагов,
вряд ли можно считать его реально выполнимым. Но на это можно привести
такое возражение: если для какой-то задачи есть алгоритм полиномиальной
сложности, то, как правило, удается понизить степень этого полинома до 5—6, а еще
чаще до 2—3. Случаи, когда это не удается, автору просто неизвестны. Далее,
сами математики еще не достигли единодушия в вопросе о том, какие алгоритмы
считать реально вычислимыми, а какие нет. Ясно, что граница между теми и
другими должна быть достаточно размытой.
2. Утверждение 3 было подмечено еще в работе Д. Е. Мюллера [159].
Вопрос о зависимости сложности функции от базиса при реализации формулами
был впервые, исследован Б. А. Субботовской [87]. Отправной точкой для этих
исследований послужила полученная ею [86] нелинейная нижняя оценка (вида
сп3/2) сложности линейной функции в базисе {&, V» !• Она установила для
произвольных конечных базисов соотношения, аналогичные приведенным в
утверждении 5.
Как следует из теоремы 1, существенная разница в сложности реализации
функций формулами в двуместных базисах может появиться лишь в том случае,
40
если один базис содержит функцию хфу или х~уу а другой нет. Например,
4?'(*| е - фх«)=п9
a l£'v' !(x,0 ... ®хп)^п2 |96|, т.е. L{£ V' !(/)Х^Ч/))2 Для / = *, ф ... фхп.
Верхнюю оценку расхождения сложностей дал В. Р. Пратт [176]. Он показал, что
для любых базисов В\ и В2, состоящих из двуместных функций,
/4'(/)<С(№(/)рк
3. Первое упоминание (со ссылкой на Дж. Риордана) о квадратичной по
порядку сложности линейной функции в классе П-схем есть в работе К. Шеннона
[190]. Доказательство теоремы 3 приведено в работе С. В. Яблонского [106].
Утверждение 1 и теоремы 1, 3—6 дают первое представление о возможностях
различных классов схем. В частности, они показывают, что П-схемы существенно
«сильнее», чем д.н.ф. Далее они дают основание для предположений, что схемы
из функциональных элементов и контактные схемы в свою очередь «сильнее»
П-схем. Это предположение получит подтверждение в гл. 4 путем сопоставления
функций Шеннона для этих классов схем, а также в гл. 8 на основании нижних
оценок сложности для индивидуальных функций. Пока остается открытым и
вопрос о соотношении возможностей контактных схем и схем из функциональных
элементов. Главная трудность при этом — получение нелинейных нижних оценок
сложности. В гл. 8 будет указан пример последовательности функций, которые
схемами из функциональных элементов реализуются проще, нежели контактными
схемами. Вопрос о соотношении возможностей различных классов схем
обсуждается в обзоре О. Б. Лупанова [53].
4. Первые опубликованные результаты о соотношении между
характеристиками машины Тьюринга и моделирующей ее схемы из функциональных
элементов принадлежат Дж. Э. Сейвиджу [182] и К. П. Шнорру [184]. Н. Пиппенджер
и М. Дж. Фишер [173] предложили технику (см. также [183, гл. 5]), основанную
на разбиении ленты на блоки и переносе блоков. Эта техника позволяет более
экономно организовать моделирование. С ее помощью К. П. Шнорр [186] довел
оценку сложности моделирующей схемы до 0(TM(n)\og SM(n) -f \\М||), где Тм(п)
и SM(n) — соответственно число тактов и число ячеек, достаточное для обработки
слов длины п машиной Тьюринга, а ||М|| обозначает число команд машины М.
Упражнения
1. Во сколько раз могут отличаться сложности реализации функции
f(x\, ... , х„) схемами из функциональных элементов в базисах {&, V> } и
(е,&, М?
2. Достижимы ли оценки, даваемые утверждением 4?
3. Схема на рис. 8 реализует функцию 1„ = х\(& ... фхп. Как выглядит схема
такой же сложности для /яф 1?
4. Следствие утверждения 4 устанавливает соотношения между двумя мерами
формульной сложности Ьф и Li*. Установить подобные соотношения между
/(1) */ и /<2)
Ьф , Ьф И Ьф .
5. Каково соотношение между числом вхождений переменных и числом
вхождений констант в минимальную формулу в базисе, состоящем из двуместных
функций?
6. Достижимы ли оценки из утверждения 5?
ГЛАВА 3
ГЕОМЕТРИЯ ЕДИНИЧНОГО л-МЕРНОГО КУБА
§ 1. Единичный /г-мерный куб
Множество Вп всех двоичных слов длины п называется
единичным n-мерным кубом. Мотивировкой для такого названия
служит геометрическая интерпретация (см. рис. 11). При такой
интерпретации наборы а= (а\, ... , ап)^В" называются вершина-
ми (точками) куба. Очевидно, что число всех точек куба В'1
равно числу различных двоичных слов длины л, т. е. 2".
Подмножество точек Вп~к = {ЬGfi" \ЬЦ = о,, ... ,bik = ak\ (a/efO, 1},/= 1,..., *)
называется (п — к)-мерным подкубом куба
Вп. В частности, каждая точка Ь^В"
образует нульмерный подкуб.
Весом набора а называется число w(a) =
011
111
OOty
ооо
010
101/
100
110
Рис. II
= £ а,, т. е. число единиц в записи набора
а. Очевидно, что для любого набора ogS"
выполняются неравенства 0^w(a)^n.
Множество В" (к) всех вершин куба В'\ имеющих
вес к, называется fc-м слоем куба В". Очевидно, что Вп = [} В" (к).
Непосредственно из определения вытекает
Утверждение I. \Вп(к) \ = \Вп(п-к) | =Cl
Распределение точек по слоям куба В" отнюдь не равномерно.
Большинство точек куба сосредоточено в узкой полосе шириной
не более 2-\jn\ogny состоящей из средних слоев, что показывает
следующая
Лемма 1.
Ци/2)-
\/11(
и
= 0
Jg"i
в"(0
=
//
и
l'/»/2)+ \jn lofc//
ВГ(1)
=о(2").
42
Доказательство. Первое равенство следует из
утверждения 1. Далее,
|(и/2)- V"lf>K"l
и Я" (О
|Ги/2>— Vii log я|
< (|(/i/2)-Vw log «|+ l)Cli/,/2)- v",og/?l.
Для завершения доказательства достаточно применить
соотношения
Г1 — п-
ил""/!(я-/)!»
(уточненная формула Стирлинга) и воспользоваться, например,
рядом Тейлора для логарифма (ср. [49, с. 71]). □
Следствие.
|(i//2)-f v« log"!
U B"(t)
1=\{п/2)— v'rt log«|
В" =2W.
Расстоянием Хэмминга между наборами а и £ из Вп называется
п
число р(а, 6)= £ |а/ — 6/|, т. е. число координат, в которых они
/=|
различаются. Непосредственно проверяется следующее
Утверждение 2. Расстояние Хэмминга является метрикой
в В", т. е. удовлетворяет следующим соотношениям для любых
а, Ь и с из В'1:
1) р (а, Ь) ^0, причем р (а, 6) = 0 тогда и только тогда, когда
2) (> (а, 6) = р(£, а) (симметричность расстояния)',
3) (> (а, ft)<p(a, г) + р(б\ 6) (неравенство треугольника).
Вершины аиЬ называются соседними в В", если р (а, Ь)= I. При
геометрической интерпретации соседние вершины соединены
ребром куба. Это ребро называется ребром i-го направления, если
а1фЬ1. Ребра одного направления «параллельны».
Последовательность а1,..., а! соседних вершин называется цепью длины / — 1,
соединяющей вершины а1 и а1 (обозначение С (а1, а')). Эта цепь
называется кратчайшей, если p(a', a') = t— 1.
Утверждение 3. £ош р (a, b) = d, то существует d\
кратчайших цепей в В", соединяющих точки а, Б. _
Доказательство. Пусть наборы а и В различаются в
разрядах с номерами /| /,/. Каждая кратчайшая цепь между
а и Ь состоит из ребер направлений /| /,/ и только из них
43
(в противном случае цепь была бы длиннее). На первом шаге
имеется d возможностей выбора направления ребра, на втором их
d— 1 и т. д/ □
Набор а по определению предшествует набору В (обозначение
а<£), если Gti^bi для всех £=!,..., л. Например, (0, 1, 0) <
^(1, 1, 1). Наборы а и В называются сравнимыми, если а<6
или В^а. Наборы (0, 1,0) и (1,0, 1) несравнимы.
Утверждение 4. Различные точки из В" веса k попарно
несравнимы (&=1,..., л — 1).
Доказательство очевидно. □
Утверждение 5. Отношение ^ на Вп обладает
следующими свойствами:
1) а^а (рефлексивность);
2) если а^В и В^ау то а = Ъ (антисимметричность);
3) а^В и В^с влекут а^с (транзитивность),
т. е. является отношением частичного порядка на Вп.
Доказательство непосредственно вытекает из определения. □
Обозначим через а/\В набор (ci, ..., с), где c, = min {a,-, ft,-}
(/=1,..., п). Если а^В, то очевидно, что а/\В = а.
Утверждение 6. Для любой пары вершин а, В из Вп
существует кратчайшая цепь С {а, В), проходящая через точку
<*ЛЬ. „ _ _ _ _
Доказательство. Очевидно, что р (а, Ь) = р(ау а/\Ь)-\-
+ р(аД*, В). Поэтому кратчайшие цепи С (а, а/\В) \\С^а/\В, В)
после склеивания в точке а /\ В дают некоторую цепь С (а, Ь) между
а и В длины р (а, 5), т. е. кратчайшую цепь. □
Множество Sr(a) = {b\p(a, В) —г) точек, отстоящих от а на
расстоянии г, называется сферой радиуса г с центром в точке а.
Очевидно
Утверждение 7. \Sr(a)\=Crn.
г
Множество Sr(a)= U St(a) точек, отстоящих от а не более, чем
на г, называется шаром радиуса г с центром в точке а. Например,
S,(0,...,0)= Uo Bn(t\ 5/(1 l)=tjj_Bn(t).
§ 2. Геометрическая интерпретация
дизъюнктивных нормальных форм
При изучении д.н.ф. часто прибегают к геометрической
интерпретации. Для этого функции f(xi9...,xn) сопоставляют
подмножество Nf = [a\f(a)=l}.
Пример 1. Функции /(*, у, аг) = 11110001 соответствует
подмножество #/ = {(000), (001), (010), (011), (111)} вершин куба Я3
(рис. 12).
44
При этом конъюнкции К=хЧ{1...х°£ в качестве подмножества
NK соответствует (n — k) -мерный подкуб (интервал)
Bn-k = {b\bil = a],...ybik = ok}.
Говорят, что этот интервал покрывает точки множества NK.
Конъюнкция К и соответствующий интервал NK называются
допустимыми для функции f, если NK^Nf.
Если д.н.ф. D = K\ V-V Ki реализует функцию /, то оче-
/
видно, что Nf= U NK.. Верно и обратное: каждому покрытию
/=| '
множества Nf допустимыми интервалами
соответствует некоторая д.н.ф. функции /.
Пример 2. Покрытию множества Nf из
примера 1 интервалами {(000), (010)}, {(001),
(011)) и {(011), (111)} (см..рис. 12)
соответствует д.н.ф. х z V xz V yz.
Д.н.ф. называется кратчайшей (мини-
мальной), если она содержит наименьшее
число конъюнкций (символов переменных)
среди всех эквивалентных ей д.н.ф.
Ввиду установленного соответствия
задача построения кратчайшей д.н.ф. для
функции / эквивалентна отысканию покрытия множества N\
наименьшим числом допустимых интервалов функции /.
Допустимый интервал функции / называется максимальным
для /, если он не является собственным подынтервалом
большего допустимого интервала функции /. Конъюнкция,
соответствующая максимальному интервалу, называется минимальной
конъюнкцией (или простым импликантом) функции /.
Пример 3. Конъюнкция yz является минимальной для
функции из примера 2, а конъюнкции xz и xz не являются
минимальными, поскольку соответствующие им интервалы
покрываются большим интервалом {(000), (001), (010), (011)} (см.
рис. 12). Последнему интервалу соответствует минимальная
конъюнкция х.
Д. н. ф., состоящая из всех минимальных конъюнкций
функции /, называется сокращенной д.н.ф. и обозначается Dc(f).
Название «сокращенная д.н.ф.» объясняется тем, что
минимальные конъюнкции получаются из неминимальных
сокращением, т. е. опусканием некоторых букв. Например, минимальная
конъюнкция х из примера 3 получена сокращением конъюнкции
xz (или xz).
В отличие от минимальных и кратчайших сокращенная
д.н.ф. у каждой функции единственная.
Пример 4. Сокращенной д.н.ф. для функции из примеров
1—3 является д.н.ф. х \J yz.
Роль сокращенной д.н.ф. в вопросах минимизации д.н.ф.
показывают теоремы 1 и 2.
45
К
010,
V
Ю1/
V
100
110
/ X
Теорема 1. Любая минимальная д.н.ф. получается из
сокращенной удалением некоторых конъюнкций (т. е. состоит только
из минимальных конъюнкций).
Доказательство. Если некоторая д.н.ф. D содержит
неминимальную конъюнкцию /(, то после «сокращения» К
получим эквивалентную д.н.ф. с меньшим числом букв. Значит д.н.ф. D
не была минимальной. □
Теорема 2. Для любой функции f удалением некоторых
конъюнкций из сокращенной д.н.ф. функции f можно полунить
кратчайшую д.н.ф.
Доказательство. Любую конъюнкцию кратчайшей д.н.ф.
путем сокращения можно заменить конъюнкцией сокращенной
д.н.ф. □
Теоремы 1 и 2 показывают, что при построении кратчайших и
минимальных д.н.ф. в качестве начального этапа полезно
построить сокращенную д.н.ф. Разработаны различные методы ее
построения, ориентированные на различные способы задания
функции. Например, метод Блейка позволяет строить
сокращенную д.н.ф., исходя из произвольной д.н.ф. функции,
последовательным применением следующих двух преобразований: /С' V
V /('/(" = /(' (поглощение), хК' V хК"=хК' V хК" V К'К"
(обобщенное склеивание).
Теоремы 1 и 2 подсказывают очевидный алгоритм
минимизации д.н.ф.: надо из сокращенной д.н.ф. последовательно удалять
конъюнкции, убеждаясь на каждом шаге, что оставшиеся
конъюнкции образуют д.н.ф., эквивалентную исходной. Результат
такого процесса (он называется тупиковой д.н.ф.) зависит от порядка
просмотра конъюнкций и поэтому не однозначен. В частности,
при подходящем порядке просмотра так можно построить любую
минимальную д.н.ф. или некоторые кратчайшие д.н.ф. К
сожалению, очень часто результатом такого построения оказываются
не те и не другие.
Максимум отношения длины тупиковой д.н.ф. к длине
кратчайшей д.н.ф. называется разбросом функции \ и обозначается
Y(f). Величина разброса характеризует актуальность
минимизации д.н.ф.
Теорема 3. max Y(f) = 2n{l~tn\ где е„->0 при п-+оо.
Доказательство этой теоремы дано в работе [8] (см. также
[11]). □
Теорема 3 показывает, что, взяв в качестве приближенного
решения задачи минимизации д.н.ф. некоторую тупиковую д.н.ф.,
можно очень сильно промахнуться.
Введем в рассмотрение еще несколько д.н.ф., связанных с
эздвчей минимизации д.н.ф. Для этого будем рассматривать
д.н.ф. не как дизъюнкцию конъюнкций, а как множество
конъюнкций. Тогда можно определить следующие д.н.ф.:
D\jr(f) — объединение всех тупиковых д.н.ф. функции /;
Ajai(/) — объединение всех минимальных д.н.ф. функции /;
46
#nAf(/) — пересечение всех минимальных д.н.ф. функции /;
D(]t(() — пересечение всех тупиковых д.н.ф. функции /.
Очевидно, что Dnr(/) <= DnA((/) s= DuA,(/) c= Du7(/).
Ясно, что построение этих д.н.ф. (особенно двух средних)
могло бы приблизить нас к построению минимальной д.н.ф.
Для выяснения вопроса о вхождении произвольной
минимальной конъюнкции функции / в д.н.ф. Dnr(/) и Dy-pif) введем в
рассмотрение некоторые топологические понятия. А именно если
конъюнкция К входит в д.н.ф. D, то окрестностью первого порядка
S\(K, D) конъюнкции К в д.н.ф. D
называется множество всех таких
конъюнкций Ki из д.н.ф. D, для
которых NK0 ЫКФ 0. Аналогично
можно определить окрестности и
более высоких порядков.
Схематическая интерпретация
Si(/(, D) показана на рис. 13
(заштрихованная область).
Оказывается, для выяснения
вопроса о вхождении конъюнкции в
д. н. ф. Dn/ достаточно знания
окрестности первого порядка, что
показывает
Теорема 4. Минимальная конъюнкция К функции f входит
в д.н.ф. Dn/(/) тогда и только тогда, когда
NK<£ U NKr
Л А. /;. i/'i) \;Л'}
Доказательство. Если бы множество Л^ покрывалось
объединением интервалов NSi {Клф К\ то процесс минимизации
можно было бы начать с удаления конъюнкции К. Тогда она не
входила бы в D(]T(f).
Обратно, если множество NK не покрывается объединением
интервалов из Si(/C, Dv(f)) \ {/С}, то конъюнкция К не может быть
удалена и, следовательно, К е DrJ(f). О
Для решения вопроса о вхождении конъюнкции в д.н.ф. Dur
знания окрестности первого порядка недостаточно, но достаточно
знать окрестность второго порядка. Об этом говорит следующая
Теорема 5. Если StiK, Dc(/)) = S2(/(, Dv(g)), то конъюнкция
К одновременно входит или не входит в д.н.ф. DUT(f) и DUT(g).
Эта теорема принадлежит Ю. И. Журавлеву [18].
В отличие от д.н.ф. Dnr и DUT построение д.н.ф. DnAf и £>иЛ1
требует знания окрестности бесконечного порядка [18, 20].
Рис. 13
§ 3. Изопериметрическая задача в Вп
Введем понятие границы множества А в Вп. Пусть А ^ Вп.
Точка а е А называется внутренней точкой множества Л, если
все соседние с ней в Вп точки тоже лежат в Л. В противном слу-
47
чае а называется граничной точкой множества Л. Множество
Г(А) всех граничных точек множества А называется его
границей. Например, Г(5г(0,...,0)) = Вл(г). Из определения следует, что
пустое множество и множество Вп имеют в Вп пустые границы.
Если А ^ Вп, то можно рассматривать А и как подмножество
fin-H. Для этого достаточно добавить ко всем словам из Л в
качестве значения (я+1)-й координаты 0 (или I). Границы
множества А в кубах Вп и Вп+|, вообще говоря, разные. Чтобы
подчеркнуть это, будем иногда обозначать границу множества
А в Вп как Гп(А). Как мы уже отмечали, Гп(Вп)=0. В то же
время очевидно, что Гп+\(Вп) = Вп.
Классическая изопериметрическая задача состоит в
нахождении фигуры наибольшей площади с заданным периметром. Как
известно, решением этой задачи является круг. Ниже будет
показано, что аналогично обстоит дело в дискретном
пространстве Вп. Здесь роль круга играет шар. При решении
метрических вопросов положение центра шара дела не меняет. Поэтому
можно считать, что в качестве центра выбрана точка (0,...,0),
т. е. рассматривать шар Sr(0, ..., 0) с границей Вп(г). Поскольку
г
множество Вп(г) служит границей для двух шаров U Bn(t) и
U Bn{t), то изопериметрическую задачу в пространстве Вп лучше
/ = г
перевернуть «с ног на голову»: среди множеств данной мощности
найти множество с наименьшей границей. Имея в виду
приложения, мы будем интересоваться не столько отысканием такого
экстремального множества Л, сколько оценкой \Г(А)\ —длины
его границы как функции мощности множества.
Пусть ВЪ={Ь\Ь €= В\ 6„ = 0), В1=Вп\В1 Множества fig и
В1 суть (я—1)-мерные кубы, полученные «распиливанием» ребер
Ai-ro направления в Вп.
Введем обозначения А0 = А fl fig, А\=А П В". Пусть Гп-\(Ао)
обозначает границу множества Л0 в (п—1)-мерном кубе fio.
Аналогично определяется Гп-\(А\).
Лемма 2.
Доказательство. Пусть а е Гп-|(Л0). Тогда_по
определению а е Ло и существует соседняя с ней точка b е fig \ А0.
Поскольку а е А и fteS"\i4, тоае Гп(А). Аналогично
доказывается, что Гп-\(А\) ^ Гп(А). О
Следствие. \Гп(А)\ > |Г„_,(Л0)| + |ГЯ_,(Л,)|.
Соседом точки a g В" по n-му направлению называется точка
В ^ Вп, соединенная с а ребром я-го направления. Очевидно,
что отношение «быть соседом по я-му направлению»
симметрично. Заметим, что оно не рефлексивно и не транзитивно.
Лемма 3.
|Г„(Л)|>|Гя-|(Л0)1 + ^||-|Ло1,
|Гп(Л)|>|Гп-.(Л,)Ц-|Ло1~|Л,|.
48
Доказательство. Докажем первое из этих неравенств;
второе доказывается аналогично. По доказанному в лемме 2
Гп-\(Ао) £ Гп{А). Далее, для того чтобы точка а е А\ была
внутренней точкой множества А, необходимо, чтобы сосед точки а
по п-му направлению принадлежал множеству А{). Поэтому по
крайней мере |Л|| —|Ло1 точек множества А\ являются
граничными точками множества А. □
Следствие. \Гп(А)\ ^ABS(\A\\ — |Л0|), где ABS(x)
обозначает абсолютную величину х.
♦Теперь мы можем приступить к оценке длины границы
множества А как функции мощности множества. Нас интересует
нижняя оценка этой длины. Если мощность множества А прини-
г
мает «круглые значения», т. е. имеет вид V СПу то существует
шар (J Bn(t) этой мощности, на котором, по нашему
предположению, достигается минимум длины границы. Если же мощность
множества А не обязательно
«круглая», т. е. имеет вид
(—0
lrw\
с:
/1*_
Г 'Г
1
1
' i
i
--1
i
i
i
Ее*
t=on
W
Рис. 14
(очевидно, что любое число от
I до 2П — 1 можно представить
j таком виде), то шар такой
мощности при 6> 0 не
существует. В таком случае наша
-ипотеза о минимальной длине
границы представлена на рис. 14 сплошной линией (полученной
юединением конечного числа точек графика). Тангенс угла а
ia этом графике, очевидно, равен
-с;,
1
г+\
Эбозначим эту величину через tg(n, г).
Л е м м а 4.
tg(rt, г)<1,
tg(n, г)> tg(n+l, г+1).
(3.1)
(3.2)
Доказательство непосредственно следует из определения. □
г
Теорема 6. Если \А\ = £С!, + 6 (0<6<С^+1, 0<г<
^л-1), то \r(A)\^C'„+6tg(n,~r).
49
Примечание 1. При указанных в теореме ограничениях
\А\ может принимать значения от 1 до 2" — 1, т. е. А является
собственным непустым подмножеством Вп.
Примечание 2. Приведенная в теореме оценка
представлена на рис. 14 прямолинейным отрезком (р, </).
Доказательство. Докажем теорему индукцией по
числу п. При п=\ \А\ может принимать лишь значение 1 =
о
= VC'i. Ясно, что в этом случае \Г(А)\ = 1. Теорема 6 дает
/=о
оценку С(/=1. Итак, при п=\ теорема справедлива.
Предположим, что она справедлива в В2, ..., В"-1, и докажем
ее в Вп. Доказательство разбивается на 6 случаев. Чтобы не
отпугнуть читателя этим числом, заметим прежде всего, что во
всех случаях рассуждения совершенно однотипны: применяются
предположение индукции, одна из лемм 2 или 3 и равенство
г г - I
£c;,=2£ci,-i+c:;-,, (з.з>
которое легко выводится из равенства Сп — С1п- \ -f-C!,7.\. Все
выкладки рутинные, и читатель может провести их самостоятельно.
Осталось объяснить, почему возникает много случаев и по
какому признаку происходит разбиение на случаи. Первое
разбиение (на случаи 1 и 2) производится по признаку, какая из
лемм (3 или 2) применяется. Если мощности множеств А{) и А\
отличаются друг от друга значительно, то применяется лемма 3,
в противном случае — лемма 2. Будем считать, что |/4о|^|Л||.
(Поскольку Ао и А\ совершенно равноправны, это не нарушает
общности.) Рассматриваем 2 случая:
1. |y4o)<rj'c'._1 + £±ifi.
2. |Л„|> £(?„_,+i±i6.
/ = ()
Далее применение леммы 3 требует представления мощности
ч
множества А{) в виде \А{)\ = УС(п-\ +б(), 0<6()< С8±|. Но в слу-
/=0
чае 1 параметр q может принимать значения от 0 до г—1, и для
каждого из них применение леммы 3 и предположения индукции
дает свои оценки. Поэтому здесь надо было бы рассмотреть t
подслучаев случая 1. К счастью, удается ограничиться
рассмотрением трех подслучаев, а именно:
la) (Aol^a-i + Y^^
/ = 0
50
16) |Л„|= £Ся-, + 6„, i-С,-',<6о<«-',, (3.4)
1в) |Ло1 = ^а_,+б,,( 0<б0<фб, (3.5)
/ = ()
поскольку подслучай 1а) охватывает широкий спектр значений q
(благодаря возможности ограничиться леммой 3 в ослабленном
виде).
В случае 1а), учитывая (3.3), получаем
|Л,|-|Ло| = |Л|-2|Ло1>
г--2
(=0 \/=о '
Применяя следствие леммы 3 и неравенство (3.1), имеем
ir„M)i>Mii-M„i^c;,+6>c;,+6tg(rt, г).
В случае 16), учитывая (3.3), получаем
|Л,|-1А>1 = |Л|-2|Л„| =
= £а+б-2( ^с;,_,+б,Л =cr„+6+az
-26„.
Применяя лемму 3, предположение индукции и пользуясь
определением функции tg (п, г), имеем
|/'n(/l)|^C;-:i + 6otg(rt-l,r-2) + a + 6 + C^ll-26„ =
= С + 6 + СГ'-6о(2-1 + ^=1т) =
= c« + fi+^Z7+T(c-'-«V> Crn + iUg(n,r)
(последнее неравенство в силу (3.1) и (3.4)).
В случае 1в), учитывая (3.3), получаем
1Л,|-|л„| = ^с:,+б-2 (^ с;,_,+бо) = с;,_, + 6—26„.
/ = () /--=()
Поскольку
в силу леммы 3, предположения индукции, определения функции
51
tg (я, г) и неравенства (3.5) имеем
\r„{A)\^CHz\ + 6otg(n-l, г—1)Ч-С^_, + 6 —2б0 =
=c;;+6-6o(2-i + —)>cs+6(i-^±I—W
=c;+etg(/if г).
Случай 1 рассмотрен полностью.
В случае 2 применяется лемма 2. Чтобы воспользоваться
предположением индукции, случай 2 достаточно разбить на три
подслучая:
2а) |Л0| = £ Ci-i+во, 1^1б<6о<6, 60<C;_i;
г-\
26) |Л0| = £ Ci_,+60, 6<6o<CS-E;
/=0
г
2в) 1А,|=£ Ci-i+во, 0<бо<С^±,1.
/=о
Покажем прежде всего, что этим все возможности
исчерпываются (при |Ло1 ^ |j4i|). Действительно, если
|Л0|> X С"-"
ТО
|Л,| = |Л|-|ЛоК ХС"~1 С"-1=1 C«-i<I^K
/=() /=() / = ()
что противоречит предположению о том, что |>4ol^|i4i|.
В случае 2а)
г
1-4.1= £Ce_i + 6i,
где б, = б-б0, 0<6,<C^t1,.
Применяя лемму 2 и предположение индукции, имеем
\rn(A)\^Crnz\ + 6otg(n-l,r-l) + C^l+bltg(n-l, г).
С учетом б|=б — бо и г 6<6о получаем
\rn{A)\^Cn + big{n, r)-6(tg(«, r)-tg(«-l, r)) +
+ 60(tg(«-l, r-\)-tg(n-\, r))=Crn + 6tg{n, r) +
+ 60-—^ п-б;—^ n>CJ + fitg(«, r).
1 (n — /■)(« — л— I) (n — r)(n — r—\) ' sv » '
52
В случае 26)
.|Л,|= £ С!,_, + 6ь
где 6, = C^_l4-6-6o<CUi-
Отрицательным 6| быть не может, так как это означало бы
l<4il < Mol, что противоречит предположению. Поэтому \А\\
представлено в таком виде, что к нему (как и к |Ло1)
применимо предположение индукции. Применяя его и лемму 2, имеем
\r„(A)\^Crnz\ + 80tg(n-l, г-1) + С^,,+(С;_1 + б-бо)Х
xtg(«-i, r-i)=2c;-|1 + q_,(i-^-r)+6tg(n-i, r-i)>
(в силу (3.2))> 2Cr„z\ + C„_l-CrllZ\ + 6tg(n, r) = Crn + 6tg(n, г).
В случае 2в) в силу |Л0|<|Л||
|Л,| = ^ С'„_,-+-6,,
где б^б-бо-С:,.,, 0<6o<6i<C;/±,I.
Имеем
ir„H)i>c;1_1+6otg(n^i,r)+c:,_I+(6-6o-c;_1)x
xtg^-i, r)=2c;/_I+(6-c;;_I)(i-^±J_)==
= 2C;_, + 6(l-^±i-I) -c;/_1+-^7iri Ci_i + 6tg(nf r)-
+6tg(/i, r)+6(i-^±lT-tg(n, r)) = c;+etg(n, o-
~6, ^±J +cr+]- L±l ^crn + 6tg(n, r).
(n — r){n — r—\) ' (n — r){n — r— 1) ^ ' &v » /
Случай 2 рассмотрен полностью. Теорема 6 доказана. □
г
Следствие. Среди всех множеств мощности V с*п
/ = 0
(0 ^ г ^ п — 1) границу наименьшей мощности имеет шар
радиуса г.
Доказательство. Пусть Sr (а) обозначает шар
радиуса г в Вп. Поскольку преобразования jc,- -> х" (соответствующие
переносу начала координат) сохраняют отношение соседства,
можно полагать, что центром шара является точка б = (0, ..., 0),
53
т. е. Sr(0)= (J Вп (t). Очевидно, что границей этого шара явля-
ется множество В" (г) мощности Сгп. Все другие множества А^В'1
г
мощности у Сп имеют, согласно теореме 6, не менее Сгп
гранично
ных точек. П
§ 4. Расстояния между подмножествами Вп
Пусть Я и Q—произвольные подмножества В'1. Расстоянием
R(P, Q) между множествами Р и Q называется число
min р (а, В). Установим простые свойства расстояния.
Лемма 5.
1. /?(Р, Q)>0; если R (Я, Q) = 0, то P[)Q=£0.
2. /?(Р, Q) = R(Q, Я).
3. R(Py Q)^R (Я, {c\)-\-R (\с\, Q) (ослабленная аксиома
треугольника) .
4. Если Р<=Р' и Q<=Q'f то R(Py <?)>Я(Я', Q').
Доказательство. Докажем только свойство 3, остальные
очевидны.
Выберем а^Р и b^Q так, что R (Я, {с}) = р (а, с) и R({c\,Q) =
= р(с, /;). "-or да по определению расстояния /?(Я, Q)^p(ay b\ а
по аксиоме треугольника для метрики Хэмминга р (a, й)^р (а, с)-\-
+ р(1 5). П
Окаймлением множества Р^В" называется множество О (Р)
всех точек х^В" \ Я, для которых R \х\, Р)= 1.
Лемма 6. £сли Q = B"\ Я, го l(Q) = 0(P).
Доказательство. Пусть а^О (Я). Тогда а^Вп \ P — Q и
Si (а)П(В"\ <?)=?«= 0, поэтому, aeГ (Q), т. е. О (Р)<=Г (Q).
Если же a<=r{Q), то а<=В"\ Я и Я ((a), Я)=1, т. е. а<=0(Р).
Следовательно, Г (Q)^O (Р). □
Будем говорить, что расстояние Я (Я, Q) реализуется на паре
точек (а, 6), если аеР, fe^Q и р (a, b) = R(P, Q).
Лемма 7. Я (Я, Q)^R(P, Q[)0(Q))+l.
Доказательство. Пусть расстояние R (Я, QUO (Q))
реализуется на паре точек (a, ft). Если 6eQ, то Я (Я, QXp(a, £) =
= R(P, Q[)OJQ))<R(P, Q[}0(Q))+l.
Если же b^O(Q)y то на определению существует точка cgQ
такая, что р (й, с)=\. Тогда Я (Я, Q)^p (a, с)^р (a, 6)-f-p (6, с) =
= R(P, QUO(Q))+l. П
Для 1<р, */<2" — 1 положим Я (р, </)= max Я (Я, Q).
Теорема 7. Если l> k, то R( Y С!,, V C(,j =/ — /?.
54
к
Доказательство. Положим Pk— U В" (/), Qt —
II
= (J й" (/). Для любой точки а^Рк w(a)^k и для любой точ-
ки 1)€eQi w(b)^l. Поэтому /?(Рь Qi)^l — k при /> Л.
Следовательно,
R ( £ С'„. £ Сп)>#(/>*. Q,)>l-k.
Обратное неравенство докажем индукцией по параметру d =
= l — k. Введем обозначения р= V С«, */= У С а через Р и
Q обозначим произвольные подмножества, у которых \Р\=р и
\Q\=q.
ЕслиЛ=1,тор + </ = 2", т. е. либо PflQ=£0, либо Q = B"\ Р.
В первом случае /? (Р, Q) = 0<: 1, а во втором случае в силу лем-
мы 6 0(P)~T(Ql т. е. /?(Р, Q)=l.
Предположим, что теорема справедлива при / — /?= 1, ..., d— 1,
и докажем ее при l — k = d.
В силу леммы 7 имеем
/?(/\ Q)<1+/?(P, Q[]0(Q)). (3.6)
Оценим мощность множества Q[]0 (Q). По условию |В" \ Q\ =
= V С!,. Тогда по теореме 6 \Г(В"\ Q)I^C'r\ а по лемме 6
0{Q) = r(B"\Q). Итак,
// //
/ =. / /=/ -1
С учетом свойства 4 (см. лемму 5) по предположению
индукции
к и
RiP, Ql)0(Q))<R ( £ С [ a)</-i-t
и в силу (3.6) /?(Я, (?)<1+/-1-Ы/-/г. П
Следствие 1. Если
\p\>Y.CL lQl>Т с«' '>*•
го /?(Р, Q)</^-fe.
Справедливость этого утверждения немедленно вытекает из
свойства 4 расстояния /? (Р, Q) (см. лемму 5) и теоремы 7.
55
Следствие 2. Если
(и/2) — \п log и
min(|P|, |Q|)> ^ С».
ro /?(Р, Q)^2^fn log п.
Нелишне напомнить, что теорема 7 дает только
максимум расстояния между множествами данной
мощности. Для конкретных пар множеств оно может быть существенно
меньше.
§ 5. Разбиение единичного куба на сферы
Напомним, что сферой радиуса г с центром в точке а называется
множество Sr (а) = \Ъ|р (а, b)=r]. Целью этого параграфа является
построение разбиения куба В" при п = 2к на сферы радиуса
единица (единичные сферы). Оно будет использовано в гл. 4 при синтезе
контактных схем.
Введем сначала на множестве Вп операции сложения и
умножения на скаляр. Определим сложение как (х\, ...,хп) + (у\,..., */л) =
= (*i0*/u ••., хп®Уп), а умножение на скаляр а (аб(0, 1}) как
а(х\у ..., xn) = (oLXi, ..., <ххп). Очевидно, что множество В' с этими
операциями образует линейное пространство.
Обозначим теперь через b (/, k) двоичный набор длины £,
являющийся двоичным представлением числа / (1<л^2*— 1). Легко
видеть, что множество всех таких наборов при фиксированном k
совпадает с множеством Вк \ {(О, ..., 0)}.
Положив я = 2*, рассмотрим теперь множество всевозможных
линейных комбинаций а\Ь{\, /г) + аг£(2, k)-\-,..-\-ап-\ Ь (я —
— 1, k\ Каждая такая линейная комбинация однозначно
определяется набором своих коэффициентов (ai, ..., an_,)(a/e{0, 1}, 1^/^
^я—-1) и принимает значение из Вк. Обозначим символом Нп-\
множество таких наборов a = (ai, ..., a„_,), при которых линейная
комбинация ot|6(l, k)-\-... + ап-\Ь (п— 1, k) принимает значение
(0, 0, ..., 0).
Пример. При & = 3, я = 8 множество Hi представлено в
табл. 5. Действительно, например, для набора коэффициентов (0,
0, 1, 0, 1, 1, 0) линейная комбинация равна 1 «(О, 1, 1)+1 -(1, 0, 1)+
+ 1.(1, 1, 0)=(0, 0, 0).
Множество //„_, может использоваться для коррекции одной
ошибки при передаче сообщений благодаря свойству, описанному
в лемме 8.
Лемма 8. Для любых двух различных наборов а и $ из
НЛ-х Р(«, Р)>3.
Доказательство. Поскольку а + реЯ,,., и р (а, Р) =
= w (а + Р), достаточно доказать, что любой ненулевой набор из
#„_, содержит не менее трех единиц.
56
Таблица 5
0C|
0
0
0
0
0
0
0
0
а2
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
а3
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
а4
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
а5
0
1
1
0
1
0
0
1
0
1
1
0
1
0
0
1
а6
0
1
1
0
0
1
1
0
1
0
0
1
1
0
0
1
а7
0
1
0
1
1
0
1
0
1
0
1
0
0
1
0
1
Если набор а^В"-1 содержит одну единицу, то линейная
комбинация a\b(\y k)-\-... + ап_хЬ (п— 1, k) совпадает с одним из
наборов Ь (/, к) и поэтому отлична от (0, ..., 0), т. е. а^Нп_1.
Если набор а^В"-1 содержит две единицы, то линейная
комбинация <xi6(l, fe) + ... + ап-|6 (п— 1, k) есть сумма двух
различных наборов и потому отлична от (0, ..., 0), т. е. a§£#„_,.
Итак, любой ненулевой набор из Нп_1 содержит не менее трех
единиц. □
Теорема 8. Шары радиуса 1 с центрами в точках а^//г1_,
образуют разбиение куба В"~] при n = 2k.
Доказательство. Поскольку для любых а и р из
Нп-\ р(а, Р)>3, то шары радиуса 1 с центрами в точках а и р не
пересекаются.
Покажем теперь, что любая точка y из Вп~1 принадлежит
некоторому шару Si(a), ae#„_i. Пусть уф (1, k) + ...
...+уя-\Ь(п— J,fe)=(8i,..., 6*).. Если (б|,..., 8*)=(0,..., 0), то по
определению у^Нп-\. В противном случае (бь ..., 6k) = b (/, k)
при некотором /(1</<я —1). Тогда a = (vi,..., Y<-i,% ун-ь ...
...,Yn-i)e//„_,. □
Следствие. \Нп-\\ =2П_ 1/п при n = 2k.
Обозначим символом Нп множество всех двоичных
наборов из В", которые можно получить из Нп-\ приписыванием
в качестве я-го разряда 0 или 1. Очевидно, что |//л|=2 |ЯЛ_1|.
Те о р е м а 9. Сферы радиуса 1 с центрами в точках
аЕЯ„ образуют разбиение куба Вп при n = 2k.
Доказательство. Если точки аир из_ Нп
«происходят» от разных точек из //„_!, то очевидно, что р (а, Р)^3
и S\ (a)f|Si (Р)= 0. Если же P = (ai,..., a„_i,an), то вопреки нашей
«непрерывной» интуиции в дискретном пространстве Вп и в этом
57
случае 5i (a)f|Si (P) = 0. Действительно,
S\ (a) = {(ai, a2 a„), (ai, a2, аз a„) (ои, ..., а„_|,ая)},
S\ (P) = {(ai,a2, -.., a„), (ои,а2, ..., a„_ i,a„),..., (a a„_i,a„)}.
В силу следствия теоремы 8 \Нп\ =2(2"~1/п)=2"/п. Каждая
сфера радиуса 1 в Вп содержит п точек. Следовательно,
(2п/п)п = 2пточек (т. е. все множество В") покрываются сферами. □
§ 6. Линейные коды
Множество Нп-\, введенное в § 5, называется кодом Хэмминга.
Благодаря свойству, установленному в лемме 8, с его помощью
можно обнаруживать и исправлять ошибки, возникающие при
хранении и передаче информации. Дело в том, что при случайном
изменении одного или двух символов в любом наборе,
принадлежащем коду Хэмминга, получается набор, уже не
принадлежащий ему. Поэтому если для передачи или хранения
информации используется код Хэмминга (т. е. только те наборы, которые
ему принадлежат), то одиночные и двойные ошибки указанного
вида легко обнаруживаются.
Код Хэмминга можно использовать и для исправления
ошибок, если предполагать невозможным возникновение в наборе двух
и более ошибок. Действительно, в случае одной ошибки в наборе
а^Нп-\ получается такой набор а', что для любого ре//„_|,
Р=^а, выполняется неравенство р (р, а')^2 (см. лемму 8).
Поскольку р (а, а')=1. набор а по набору а' восстанавливается
однозначно.
Процедура исправления ошибки для кода Хэмминга весьма
проста. Для набора a' = (ai, a2,_..., а,,_ i) следует вычислить
линейную комбинацию <X|6(1, &) + a2£(2, ft) + ... + aw~ \Ь(п— 1, k) и
прочесть ее как число, записанное в двоичной форме. Нетрудно
заметить, что это число является номером разряда, в котором
произошла ошибка. Остается цифру в этом разряде изменить на
противоположную.
Пример. Пусть в наборе а = (0, 0, 1, 0, 1, 1, 0)еЯ7
(см. табл. 5) произошла ошибка в 3-м разряде, т. е. он
превратился в набор ос' = (0, 0, 0, 0, 1, 1, 0). Вычисляя линейную
комбинацию 1 • (1, 0, 1)+ 1 • (1, 1, 0) = (0, 1, 1), мы видим, что она
является двоичной записью числа 3. Значит, ошибка произошла в 3-м
разряде. Заменив цифру 0 в 3-м разряде набора а' на цифру I,
получим набор а.
Подобно этому любое множество Кп^Впу обладающее тем
свойством, что для любых различных а и р из Кп
р(а,р)>2/ + 1,
можно использовать либо для обнаружения не более 2/
ошибок, либо для исправления не более / ошибок.
58
В связи с этим всякое подмножество Кп^Вп называется кодом
длины я, а его корректирующие возможности (если они вообще
имеются) определяются величиной
d{Kn)= min р(а, р),
а, ре=*«
которая называется кодовым расстоянием.
Среди всех кодов особыми свойствами, облегчающими их
построение, а также кодирование и декодирование, обладают так
называемые линейные коды, к которым, в частности, относится
и код Хэмминга. Подобно коду Хэмминга любой линейный код
Кп можно задать с помощью п фиксированных наборов Ь\, ...,Ьп
некоторой длины m следующим образом: (ои,..., а„)Е/(л тогда
и только тогда, когда
a,ft,+... + aA = 6. (3.7)
Иными словами, линейный код Кп — это множество наборов
(ai a„), являющихся решениями линейной системы уравнений
(3.7). Матрица этой системы, образованная столбцами Б\, ...
..., £„, называется проверочной и имеет размеры пгХп.
Очевидно, что линейный код Кп представляет собой линейное
подпространство линейного пространства Вп, причем если все m
строк его проверочной матрицы линейно независимы, то его
размерность равна п — т. Разумеется, верно и обратное: любому
линейному подпространству Кп размерности п — т можно
сопоставить такую матрицу размера пгХп, что однородной системе
уравнений, определяемой этой матрицей, будут удовлетворять все
наборы линейного подпространства Кп и только они, а значит,
любое линейное подпространство является линейным кодом.
С этим связан второй способ задания линейного кода Кп — в виде
матрицы размером (п — т)Хпу содержащей в качестве строк
п — т линейно независимых наборов, принадлежащих /(„. Эта
матрица называется порождающей.
Важной особенностью линейного кода является то, что в нем
разряды можно разделить на информационные и контрольные.
Покажем, как это сделать, если исходить из проверочной матрицы.
Исключим из рассмотрения тривиальный случай, когда
проверочная матрица содержит нулевые столбцы (в этом случае,
очевидно, d (Кп)— 1 и, следовательно, код Кп корректирующими
свойствами не обладает). Кроме того, будем продолжать считать,
что строки проверочной матрицы линейно независимы. Применяя
к ней линейные преобразования (сложение строк и перестановки
столбцов), приведем ее к виду
/ Ьн . . Ь\, „_,„ 1 О
I Ь>\ ... Ь>, „ -,„ 1
^ Ь,»\ ... Ь,п, „. m 0 1
Эта матрица задает линейный код Кп. отличающийся от исход-
59
ного кода Кп лишь перестановкой столбцов, которая сделана
только для наглядности. Заметим следующее: если произвольным
образом выбрать первые п — т символов в наборе, то
оставшиеся т символов можно подобрать так, чтобы получился набор,
принадлежащий К'п. При этом (п — m+l)-Pi символ определяется
из 1-го уравнения системы (3.7), (п — т + 2)-й символ — из
2-го уравнения системы, ..., м-й символ — из m-го уравнения.
Это означает, что первые п — т разрядов можно использовать
для записи информации, а остальные т разрядов служат уже
для контроля. Обычно разбиение разрядов на информационные
и контрольные можно произвести многими способами. В коде
Хэмминга Я„_|, где n = 2k, проще всего в качестве контрольных
разрядов взять разряды с номерами 1, 2, 4, ..., 2*~1; остальные
разряды будут информационными.
Лемма 9. Для линейного кода Кп справедливо соотношение
d(Kn)=minw(y).
Доказательство. Действительно, пусть аир — такие
наборы из Кпу что
d(/C„) = p(£.P).
Тогда, во-первых,
р(а,р) = ш(а + р),
а во-вторых, поскольку Кп является линейным пространством,
а + реЕ/С*.
Поэтому, полагая уо = а + р, получаем
d(Kn)=w(y0),
т. е.
d(Kn)^ minny (у).
yVo
С другой стороны, поскольку бе/Сл, при любом у^Кп
d (Кп)<9 (Y. 0) = w (y + 6) = w(y)9
а значит,
d (КпХ mm w (у). □
yVo
Теорема 10. Если в проверочной матрице линейного кода
Кп любые г столбцов линейно независимы, то
d(Kn)>r+l.
Доказательство. Предположим, что d(/C„Xr. Тогда в
силу леммы 9 в коде Кп есть ненулевой набор Y=(Yb—»Y«)> У
60
которого w(y)^r. Подставив набор (yi, .... Y*) в (3.7), получим
равенство
yibi + ...+ynbn = d,
в котором не более г коэффициентов yiv ..., yif отличны от нуля.
Очевидно, что соответствующие им г столбцов Biv ..., Blf линейно
зависимы. □
Пример. Применим теорему 10 к_коду Хэмминга Нп-\.
В его проверочной матрице все столбцы 6 (1, &), В (2, k\ ..., В (п —
— 1, k) попарно различны и отличны от нулевого. Поэтому любые
два их них линейно независимы. В силу теоремы 10 отсюда следует,
что
d(#„_,)>3.
Этот факт уже был установлен в лемме 8, но с помощью других
рассуждений.
Критерий, сформулированный в теореме 10, был использован
при построении семейства кодов Боуза — Чоудхури [122],
которые оказались весьма эффективными. Здесь мы рассмотрим
более простой пример семейства линейных кодов, которые
строятся совсем другим способом.
Это семейство кодов Рида — Маллера (см. [158, 179]). Они
строятся при я = 2* и зависят от параметра s, который может
принимать значения 0, 1,..., k. Определение этих кодов связано
с представлением булевых функций в виде полиномов Жегал-
кина. Обозначим через Ф* множество всех булевых функций от
k переменных, представимых в виде полиномов Жегалкина
степени не выше 5, т. е. в виде
f (*,,...,x*)=p0epi*ie - ep***®Pi.2*i*2e ...
... ®$k-\,kXk-\xk® ... epi,2.. ,s*ix2 ...*se -
... ©p*_s+i, .,kXk-s+\ -Xky (3.8)
где каждый из коэффициентов р0, Pi,..., p*_s+i,.., * равен 0 или 1.
Каждой такой функции сопоставим набор из 2k— 1 ее значений
на ненулевых наборах, расположенных в естественном порядке.
Множество таких наборов и образует код Рида — Маллера с
параметрами k и s. Обозначим этот код через RMl.
Пример. Построим код RM$ (см. табл. 6). Сравнив его
с кодом #7 (табл. 5), мы увидим, что они совпадают.
Теорема 11. Код RMI длины п —1=2*— 1 является
линейным и удовлетворяет следующим соотношениям:
i а
\RMsk\ =2'=° ,
d{RMt) = 2*-*-1.
Доказательство. Очевидно, что функции, являющейся
суммой по модулю 2 двух булевых функций, соответствует набор
значений, являющийся суммой наборов значений этих функций.
61
Таблица 6
/<Л-|, X., .V.,)
0
А'|
А'2
A'l ф *2
хл
A'l ф Л-.ч
А'2 Ф ХЛ
Х\ ф А'2 Ф X.i
Х\ ф 1
А'2 Ф 1
A'l ф А'2 ф 1
А':, Ф 1
A'l ф ХЛ ф 1
А'2 ф А'., Ф 1
A'l ф А2 ф X.i ф 1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0 0 0 1 1 1 1 х,
0 1 1 0 0 1 1 .V.
10 10 10 1 .v,
0 0 0 0 0 0 0
10 10 10 1
0 110 0 11
110 0 110
0 0 0 1111
10 110 10 ч
0 11110 0 I
110 10 0 1 > DAyf,
1111111 1 RM*
0 10 10 10 /
10 0 1 10 0
0 0 1 10 0 1
1 1 1 0 0 0 0
0 10 0 10 1
10 0 0 0 1 1
0 0 10 1 10
Но сумма по модулю 2 полиномов из Ф* есть снова полином
из Ф£. Поэтому множество наборов значений функций из Ф|
образует линейное подпространство в В", и таким образом код RMI
является линейным.
Число коэффициентов в (3.8), очевидно, равно 1+С* + ...
X а
/ = 0
... + С£. Поэтому число функций в Ф| равно 2 , и первое
равенство теоремы доказано.
Покажем теперь, что если f (х , х*)^Ф{ и f(x\9 ..., хк)Ф0у
то /(jci, ..., Xk) содержит среди своих значений по крайней мере
2k~s единиц.
Для доказательства этого факта выберем в представлении
произвольной функции /, принадлежащей Ф£ и отличной от
тождественного нуля, некоторую конъюнкцию наибольшей степени
/ (t^s), например,
хи ... xir (3.9)
Сделаем какую-нибудь подстановку констант в функцию
вместо остальных k — t переменных. Ясно, что при этом получится
полином, не равный тождественно нулю, так как он содержит
конъюнкцию (3.9). Но если при произвольных подстановках
констант в функцию / вместо одних и тех же k — t переменных
всякий раз получаются функции, отличные от тождественного
нуля, то, следовательно, функция / имеет среди своих значений
по крайней мере 2*"' единиц, причем 2*-/>2*-6.
Поскольку при построении кода RMI значения функций на
нулевом наборе исключаются, в силу леммы 9 из доказанного
следует, что
d{RMsk)^2k~s-\.
62
С другой стороны, функция
Ху ... JCs = (l®*l) ... (104
очевидно, принадлежащая множеству Ф£, равна единице на 2k~s
наборах, среди которых есть нулевой. Поэтому, согласно лемме 9,
rf(/?M!)<2*-s-l,
и второе равенство теоремы доказано. □
Из теоремы 11 следует, что размерность линейного кода RMI
S S
равна ]Г Ck, а значит, в нем можно выделить £ С* информа-
1=0 /=0
ционных разрядов.
Из определения множеств функций Ф| и кодов RMI следует,
что
RMkk-=>RMkk~' zdRMkk~2=>... zdRMlzdRMI
Это означает, что каждый последующий в этой цепочке код
получается из предыдущего удалением некоторого числа
наборов. Среди этих кодов есть тривиальные. Код RMk совпадает
с Вп~\ код RMk~l состоит из всех наборов множества Вп~\
имеющих четный вес, а код RMk состоит из двух наборов
(О, ..., 0) и (1, ..., 1). Остальные коды Рида—Маллера можно
рассматривать как обобщение кода Хэмминга Нп-\, который
совпадает с кодом RMk~2. Многие из них имеют практическое
применение.
Комментарии
1. Понятие единичного я-мерного куба одним из первых ввел в дискретную
математику С. В. Яблонский [107].
2. Изложение § 2 довольно беглое и фрагментарное. Это объясняется двумя
причинами. Во-первых, теория д.н.ф.— это один из наиболее автономных разделов
теории булевых функций, и увлечение этим разделом могло бы сбить с главного
русла этой книги. В то же время не упомянуть основные понятия и хотя бы
некоторые результаты означало бы исказить общую картину. Во-вторых, имеется
полное и методически хорошо отработанное изложение этих вопросов в обзорных
статьях Ю. И. Журавлева [22] и Ю. Л. Васильева и В. В. Глаголева [11],
а также в книге А. А. Сапоженко [83].
С различными методами построения сокращенной д.н.ф. можно ознакомиться
по работе [107]. Метод Блейка [117] описан в [22, 107], а его программная
реализация — в [23].
Изучение разброса функций проведено Ю. Л. Васильевым [8], которому
принадлежит теорема 3. Нижняя оценка разброса для почти всех функций
f(x\, ..., хп) следует из работы А. А. Сапоженко [81].
Понятие окрестности конъюнкции ввел Ю. И. Журавлев [18, 21]. На основе
этого понятия он рассмотрел класс локальных алгоритмов [18—21] и показал,
что целый ряд задач, связанных с минимизацией д.н.ф. (в частности, построение
множеств Ьп7- и Оут*), и некоторые другие дискретные экстремальные задачи
можно решать ь этом классе алгоритмов. Критерий вхождения конъюнкции
в д.н.ф. DftT установлен В. Квайном [178], а локальный характер этого
критерия подмечен Ю. И. Журавлевым [18].
Принципиальные трудности минимизации д.н.ф. известными методами
раскрыты в работах Ю. Л. Васильева [9, 10].
3. Нижняя оценка длины границы ^ложества (теорема 6) получена в
работе [60]. Непосредственное построение множеств с минимальной границей проведе-
63
но Л. Харпером [137] и Г. Катоной [149]. Дальнейшие результаты по изопери-
метрической задаче в Вп получены Л. А. Асланяном [6].
4. Оценка максимума расстояния между множествами в В" как функции их
мощностей проведена в работе Р. Г. Нигматуллина [60]. Эта оценка существенно
используется при применении вариационного принципа (гл. 5).
5. Кодовое множество Н„-\ построено Р. В. Хэммингом [134]. Разбиение
куба на сферы было описано в [44]. Оно будет использовано при синтезе
контактных схем (гл. 4).
6. Семейство линейных кодов было выделено Д. Слепьяном [191]. Он же
изучил их основные свойства. Теорема 10 в другой формулировке была
установлена Р. Боузом [121] еще до появления теории кодирования. Позднее она
использовалась при построении кодов Боуза—Чоудхури [122]. С этими и многими
другими кодами можно познакомиться по [42, 68]. Коды Рида—Маллера были
предложены в [158], а способы их декодирования в [179].
Упражнения
1. Подсчитать число различных подкубов куба Вп.
2. Сколько ребер одного направления в кубе В"? Сколько всего ребер в кубе?
3. Каково максимальное расстояние Хэмминга между точками^из Bn(t)?
4. Каков максимальный периметр треугольника (т. е. сумма р(а, Е) + р(5, с) +
+ р(а, с)) в кубе Вп?
_ 5**. Потребуем от цепи а', :.., а' выполнения дополнительного свойства:
р(а', а!)> 1 при j>i+\. Такая цепь называется еще змеей в ящике. Показать,
что существуют змеи в Вп длины с2", где с — положительная константа (см.
[17]).
6*. Чему равно максимальное число попарно несравнимых наборов в Вп?
7. Обозначим через а\/В набор_ (с\л ..., с„), где с, = тах(а,, &,)(/= 1, ..., п).
Доказать утверждение 6 с заменой а/\Ь на a\Jb.
8*. Доказать, что соотношение
т
выполняется тогда и только тогда, когда каждую конъюнкцию /(,(/= 1 т)
можно представить в виде К} = К]КУ с соблюдением следующих условий:
т
1°. NKS П NK.;
/=■
Ш
2°. U NK,,=Bn
/ = i '
(см. [18, 22]).
9**. Каково максимальное число конъюнкций в сокращенной д.н.ф. для
функций f<=PP (См. [11, 12, 24]).
10*. Показать, что через каждую точку а£В" может проходить не более
Сп максимальных интервалов размерности не более k при k^n/2.
11*. Доказать, что сокращенная д.н.ф. монотонной функции минимальна.
12*. Найти пример функции, у которой сокращенная д.н.ф. длиннее
совершенной (см. [ПО]).
13*. Привести пример функции, у которой минимальная д.н.ф. не является
кратчайшей (см. [18, 22]).
14. Найти границу множества
А={а\а*=Вп и w(a)=2k-\, * = 1, 2 \п/2\).
15*. Показать, что при \А \= У С*„ шар радиуса г является единственным
/=о
решением изопериметрической задачи.
Указание. Повторить рассуждения теоремы 6.
16*. Может ли максимум расстояния R(p, q) достигаться на множествах,
отличных от шаров с центрами в противоположных точках?
64
ГЛАВА 4
УНИВЕРСАЛЬНЫЕ МЕТОДЫ СИНТЕЗА СХЕМ
Универсальные методы синтеза служат для приближенного
решения задачи построения минимальных схем для произвольных
булевых функций. Название «универсальные» связано с тем, что
эти методы рассчитаны на любую булеву функцию, они не
учитывают специфики индивидуальных функций. В § 1 показывается,
что приближенная задача построения схем при достаточно
хорошей точности полиномиально эквивалентна точной задаче
синтеза минимальных схем, т. е. время решения первой задачи
ограничено некоторым полиномом от времени решения второй задачи
и наоборот. Это говорит о том, что, применяя универсальные
методы, соответствующие реально осуществимым алгоритмам,
вряд ли можно рассчитывать на достаточно точное решение для
каждой функции.
Мы уже встречались с понятиями «полиномиальная
сложность», «полиномиальная задержка», «полиномиальная
эквивалентность» и т. д. В дальнейшем аналогичные понятия
поясняться не будут. При необходимости их можно найти в книге [133].
§ 1. Сложность построения приближенно минимальных схем
Мы видели в § 1 гл. 2, что задача построения минимальных
схем сталкивается с принципиальными трудностями. Это
заставило нас отказаться от точного решения задачи и обратиться
к приближенному. В этом параграфе мы покажем, что построение
приближенно минимальных схем при достаточно хорошей степени
приближения полиномиально эквивалентно задаче построения
минимальных схем. Это означает, что приближенное решение
задачи при хорошем приближении почти столь же сложно, что и
решение точной задачи. Практический вывод из этого
наблюдения: применяя эффективные (т. е. реально осуществимые)
алгоритмы, не всегда можно рассчитывать на получение хорошего
приближения к точному решению. Мы докажем это утверждение
для класса д.н.ф. Аналогичный вопрос для контактных схем
вынесен в упражнения.
Д.н.ф. D, реализующая функцию /, называется приближенным
решением с точностью h для задачи построения кратчайших д.н.ф.,
если LK(D)-LK(f)<h.
3 Р. Г. Нигмапулин
65
Очевидно, что приближенное решение с точностью А является
и приближенным решением с точностью А' при Л'>А.
Приближенное решение с точностью 1, как следует из определения,
является точным решением. Заметим, что Л не обязательно
является константой, а может быть и растущей функцией. При этом
естественно считать, что функция / задается некоторой д.н.ф.,
и в качестве аргумента функции А брать число конъюнкций в
этой д.н.ф.
Вместо точной задачи для функции f(x\ х„) рассмотрим
приближенную задачу для функции, получающейся путем
логического умножения исходной функции f(x\y ..., хп) на линейную
функцию lm(z\, ..., zm). Такой переход хорош тем, что легко
допускает декомпозицию решения. Что касается сложности
кодирования и декодирования, то она зависит от величины т. В
частности, если 2т~] (длина кратчайшей д.н.ф. для функции
/ш(2|, ..., zm)) растет как некоторый полином от длины исходной
д.н.ф. для функции /(jcj, ..., л'„), то кодирование и декодирование
производятся с полиномиальной сложностью. Перейдем к более
точным формулировкам.
Лемма 1. Любая д.н.ф. D функции f(x\y ..., хп) & (z\®...
...©zw), где (ФО и |xi, ..., jt„intzi. ..., 2т|=0, полиномиально
(относительно lK(D)) преобразуется к виду
V г"1 ... z^D„^„m(xu ..... хп\
(Т|ф...фа„, = I
где при любом наборе (gi, ..., om) Da „m(xu .... xn)
—некоторая д.н.ф. функции f.
Доказательство. Поскольку линейная функция /т =
= Z\®...®zm принимает противоположные значения на соседних
наборах, каждая конъюнкция произвольной д.н.ф. D функции
/(jci, ..., хп) & {z\®...®zm) содержит все переменные z\, ••> zm.
При этом для каждого набора g = (gi, ..., om) такого, что
<7i0...®aw= 1, и только для них д.н.ф. D содержит члены вида
дг*1 ... x.k z°.1 ... z"'. Вынося за скобки члены вида z°/ ... z"\
получим требуемое представление. Легко видеть, что такое
преобразование д.н.ф. D производится за полиномиальное время. □
Теорема 1. Задача построения кратчайшей д.н.ф.
полиномиально сводится к такой же приближенной задаче с точностью
t]~y для произвольного фиксированного г>0 (/ — длина д.нф.
исходной функции).
Доказательство. При е^1 утверждение теоремы
означает сведение задачи к себе самой. Пусть теперь 0<е<1.
Итак, нужно построить кратчайшую д.н.ф. функции f(x\y ...
..., хп), заданной д.н.ф.
D = /CiV...V*<-
Покажем, как можно решить эту задачу, умея решать
приближенную задачу с точностью /,-е. Выберем
m = ]b-elog/[+l.
66
Тогда
т— l>l=ilog/,
т. е.
_1_(„,_|)
/<2'-г (4.1)
Решим приближенную з дачу для функции
/(*,, ...,xn)&(z\®...®zm),'
заданной в виде
V V KizV-..z>.
i=\ а,ф...фат=1
Длина последней д.н.ф., очевидно, равна t2m~\ что при
указанном выборе т является полиномом от /. Число конъюнкций в
приближенном решении при указанной точности отличается от
наименьшего возможного меньше, чем на (/2W_1),_F, что с
учетом (4.1) не более 2т_|. Произведем декомпозицию
полученного решения в соответствии с леммой 1. Поскольку сложность
приближенного решения для функции f (х]у..., хп) & (zi©...©2m)
отличается от сложности точного меньше, чем на 2т_|, по крайней
мере одна из 2т_| д.н.ф. А,,...от (х\, .., хп) является кратчайшей.
Тем самым мы построили кратчайшую д.н.ф. для функции /,
исходя из приближенного решения задачи для функции / & /т,
за полиномиальное число шагов. □
§ 2. Метод Шеннона синтеза контактных схем
Одним из первых универсальных методов синтеза является
метод Шеннона. Он исходит из представления булевой функции
в виде
/(*|, ...,*„)= V Х\ ...ХпП~к /(Oh ..., On-k, Xn-k + \, ..., *я). (4.2)
Для построения схемы в соответствии с формулой (4.2) строятся
(1, 2л~*)-полюсник Dn-ky реализующий всевозможные
конъюнкции х\ ...xnn-k (между своим входом и соответствующими
выходами), и универсальный (22 , \)-полюснйк (Д, реализующий все
функции от k переменных *„_* + ь..., хп (между своим выходом и
соответствующими входами). Далее соединяются «коротким
замыканием» (т. е. склеиваются) полюс из D„_*, на котором
реализуется конъюнкция хЛ..*,,!"**, с полюсом из £/*, на
котором реализуется функция f(o\y..., а„_*, x„-k+1, ..., хп) (рис. 15).
Такую операцию проведем для каждого набора (gi, ..., on-k).
Замечание. При указанном построении некоторые полюсы
универсального (22 , 1)-полюспика могут оставаться незадейст-
вованными, а другие, наоборот, использоваться многократно
67
(например, если
f (<J|, ..., On-k> Xn-k + \y ..., Xn) = f (<X|, ..., CLn-ky Xn-k + l> ..., *n)).
Полученная в итоге схема, очевидно, реализует все слагаемые
в формуле (4.2). Однако априори при этом могут появиться и
«лишние» проводящие цепи. «Лишняя» цепь имеет вид,
изображенный на рис. 16. Для предотвращения появления «лишних»
проводящих цепей
достаточно, чтобы
многополюсник Dn-k обладал
свойством разделитель-
ностиу т. е. чтобы любая
b его цепь, соединяющая
два разных выхода,
имела тождественно
нулевую проводимость.
Оценим теперь
сложность полученной
схемы. Она,
очевидно, складывается из
сложности (1, 2"~*)-полюсника £„_*, реализующего
конъюнкции от n — k переменных и обладающего свойством
разделительное^, и сложности (22 , 1)-полюсника £/*, реализующего
все функции от k переменных. Оценим сверху эти слагаемые.
Лемма 2. L(Dn-kX2-2n-k — 2.
Доказательство. Схема на рис. 17 (она называется
контактным деревом) реализует все конъюнкции от n — k
переменных и содержит 2,+22 + ...+2я~* = 2п~*+|— 2 контактов.
Она, очевидно, обладает свойством разделительности. □
Лемма 3. L ((/*)<2-22*.
Доказательство. Построим схему индуктивно. При k = 1
схема на рис. 18 реализует все 4 функции от z\ и имеет
сложность 2<2-22 .
Рис. 16 Рис. 17
68
Пусть построен универсальный многополюсник (Д_|,
реализующий все функции от переменных zi,..., z*_i, и L(Uk-\)<
<2-22 ~ . Многополюсник Uk получим путем достраивания
Uk-\. А именно возьмем 22 полюсов, соответствующих
функциям от k переменных. Среди этих функций 0.
есть 22 ~ функций, которые не зависят от z*
и потому уже реализованы в Uk-\.
Соответствующие им в Uk полюсы отождествим с
соответствующими полюсами в Uk-\ без
затраты дополнительных контактов.
Если f (z\y..., Zk) существенно зависит от z*,
то представим ее в виде
/(z,,...,Z*) = _ Рис. 18
= Zkf(Z\y .-, Zk-U 1) \/Zkf{Z\, ..., Z*_|,0).
Соединим соответствующий ей полюс контактами»Zk и Zk с
полюсами многополюсника £Л-ь реализующими соответственно
/(zi,..., 2*-i, 1) и /(zi,..., z*_i, 0). При этом проводимости в Uk-\
не изменяются, и поэтому Uk реализует все функции от k
переменных. В итоге получаем
L{Uk)<L(Uk-x) + 2{22k-22k-X)<
<2.22*-'+2-22*-2.22*-1=2.22*. □
Итак, мы оценили сверху оба слагаемых L(Dn-k) и L{Uk).
Теперь положим k = [\og(n — 2 log п)\. Тогда
»-2'<*»<2»<П-2 1ое/1,
2
I(f)<2"-*+'+2-22*< 2Я+''2 |_2.2n-2,ogn<4~+2^<4^.
Итак, мы доказали, что имеет место следующая оценка.
Теорема 2. LKC (п)^4 —.
Ниже будет показано, что эту оценку можно усилить в 4 раза.
§ 3. Метод каскадов
Выше уже отмечалось, что метод Шеннона не ориентирован
на получение экономных схем для конкретной
последовательности функций. Однако его модификация, известная как метод
каскадов, может давать хорошие результаты и для
индивидуальных функций.
Метод каскадов заключается в последовательном разложении
функций по одной переменной и поэтапном построении схем.
Продемонстрируем его на примере линейной функции
In == %> \ Ш • • • Ш %п •
69
Разложим /„ по х\:
1п = Х\ (1®Х2®...®Хп) V Х\ (0®Х2ф...(ВХп) = Х\1п-] V Х\1„-\.
Если Sn-i и Sn-\ обозначают контактные схемы,
реализующие соответственно 1п-\ и 1п-\ (у них может быть общая часть),
то /„ может быть реализована схемой
такого вида, как показано на рис. 19.
Продолжая аналогично, получаем
/„ _ I = Xг/л - 2 V Xiln-2,
ln-\=X2ln-2 V X2ln-2>
Рис. 19
12 = Хп-\1\ V Хп-\1\,
l2 = Xn-\h V Хп-\1\,
1\=Хп, 1\=Хп.
Особенность этих представлений в том, что в разложении
1т и 1т для любого т участвуют одни и те же функции. Поэтому
не происходит лавинообразного возрастания числа
встречающихся подфункций.
Последовательно строя схемы в соответствии с выписанными
разложениями, начиная с 1\ и 1\, получим схему, изображенную
на рис. 8 (каждая вершина помечена знаком функции,
реализуемой между этой вершиной и «правым» полюсом).
§ 4. Метод Лупанова синтеза схем
из функциональных элементов
Более искусный метод синтеза, позволяющий строить
асимптотически минимальные схемы для почти всех функций, был
предложен О. Б. Лупановым. Его модификации подходят для
разнообразных классов схем. Сначала рассмотрим более простую
модификацию, относящуюся к схемам из функциональных
элементов.
Есть две крайности при построении экономных схем. Одна из
них — рассматривать схему как нечто неделимое и не
интересоваться ее структурой. Пример такого подхода — алгоритм
перебора. Другая крайность — строить схему из минимальных
кирпичиков. Тогда очень трудной становится задача экономной
комбинации кирпичей. Пример такого подхода дают дизъюнктивные
нормальные формы.
Метод О. Б. Лупанова стремится найти золотую середину.
Он ищет экономную комбинацию достаточно простых кирпичей.
Метод основан на специальном представлении функций через
более простые. Такой подход с программистской точки зрения
естествен. Трудность заключается в искусном выборе этих
простых функций и экономном представлении с их помощью
произвольной функции.
70
Пусть f (х\, ...ухп) — произвольная булева функция. Ее можно
задать с помощью двумерной таблицы М (см. табл. 7; k —
параметр, \^.k^n). На пересечении столбца о>|, ..., а„_* со строкой
ая_А + |,..., ап в таблице М стоит f (о\ а„_*, а„_* + ь ..., а„).
Таблица 7
Хп-к+1 • •
0
к?-л+/ ••
/
. Xn_j
0
. 0
. «1,./
/
^
0
;
*7
7
/7
б,
/
7
: а,
; ^
п
J
1
^
'<»/*■
s'$s
,*»-*♦/.»■.*>
Разобьем строки матрицы М на полосы /4i,:.., Лр по s строк
(последняя полоса может иметь меньше s строк). Очевидно, что
2*
Пусть // — функция, совпадающая с / на полосе А и
равная 0 в остальных полосах. Очевидно, что
/= V и-
1 = 1
Разобьем столбцы матрицы Af,- функции /, на группы
одинаковых между собой столбцов. Пусть Bt- обозначает группу
столбцов матрицы М,-, содержащих в полосе Л/ двоичный вектор
т (см. табл. 8). Для некоторых /, т группа Д> может оказаться
пустой. Обозначим через fa функцию, совпадающую с /v на
0
1
1
1
0
0
0
0
Та
1
1
0
1
блица
I
0
1
0
0
0
0
1
8
0
1
1
1
0 1
1 1
1 1
1 1
Ai
Bt, oi
71
группе столбцов Д- и равную 0 в остальных точках (см. табл. 9).
Заметим, что
Функцию /,~ (х\у..., хп) можно представить в виде конъюнкции
f$(Xu ...,Хп-к)№{Хп-к + \, ...,ХЯ)
функций /-~} и /i-fl которые мы сейчас определим.
Таблица 9
/,-..„
^оооооооо
10 0 0 0 1 10
10 0 0 0 1 10
10 0 0 0 1 10
В/, о|
А,
{
1 0
1 0
1 0
10-
1 0
1 0
1 0
1 0
0 1
0 1
0 1
••01
0 1
0 1
0 1
0 1
1 0~~|
1 0
1 0
1 0
1 0
1 0
1 0
1 0
fi, 0111 (*1,
Хп-к)
Ai
{
0
0
0
1
1
1
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
1
0
0
о]
0
0
1
1
1
0
0
U, 0111 (Xn-k+\
Хп)
В таблице для функции /> (л'|, ..., xn-k) в столбцах Д.- «сверху
донизу» стоят единицы, в остальных местах — нули. У функции
fi- (*„_*+1, ..., хп) полоса Ai заполнена столбцами типа т, в
остальных полосах стоят нули (см. табл. 9). Поскольку все строки
в таблице для функции /> совпадают, то она зависит только
72
от переменных х\ xn~k. По аналогичным соображениям
функция /,f зависит только от лг„_*+|, ..., хп.
Итак, исходная функция / может быть представлена в виде
1=1 ?
Д2)
x„-k)fx (*„.-*+1 л'„). (4.3)
Функции /у- и fj-T являются кирпичиками этого представления.
Эти функции действительно простые, о чем говорят
нижеследующие утверждения.
Утверждение 1. Функция
/.- (xn-k+\,
Хп)
обращается в единицу не более, чем на s наборах значений своих
аргументов.
*(»,
<(2)
Функция //т~ (л'|, ..., xn-k) в отличие от /^ может иметь много
единиц, но в среднем по всем функциям f\~ (при каждом
фиксированном /) их мало.
Утверждение 2. При f i Ф f 2
/<-,Y-1>=o
(так как в этомслучае группы столбцов В1Х, и Bt~, не пересекаются).
Будем строить схему для функции / в соответствии с
формулой (4.3). Схема состоит из блоков (рис. 20).
Блок А реализует все конъюнкции xa\...x„-k. Для реализации
отрицаний xi(\^.l^.n — k) нужно n — k инверторов. Для
реализации одной конъюнкции достаточно
£(Л)<(л —Л) + (я —Л—l)2"-*< .
^(n-k)2n~k. !
Блок В реализует все конъюнкции
Хп — k + 1 • • • Хп .
L(B)<ft2*.
Блок С реализует все ненулевые
функции /,;(Х|, ..., Xn-k) для всех / и т, исходя
из конъюнкций блока Л, в соответствии
с их совершенными д.н.ф. При фиксиро-
X
... f
А
1
С
J
1 1
£
~~Г
F
i
f
Г ••• т
В |
I
D |
У
1
ванном * каждая конъюнкция X\...xn-k
входит в совершенную д.н.ф. лишь одной рис. 20
функции frT (в силу утверждения 2).
Поэтому для реализации всех ненулевых функций fo при
фиксированном / требуется не более 2n~~k дизъюнкторов и
L(C)^p2n~k.
73
Блок D реализует все функции f}~] в соответствии с их
совершенными д. н. ф. Каждая такая д. н. ф. содержит не более s
конъюнкций (утверждение 1). Число различных f не более 2\
Поэтому
L(D)^(s—l)p2s<sp2\
Блок Е реализует всевозможные конъюнкции /\<f,/\f\
L(£)<p2s.
Блок F реализует / как дизъюнкцию функций /,~.
Вспомнив, что р^ — +U получим
ZД/;)<(n-/г)2',"' + fe2' + (^-fl)(2''-/' + 52:ч + 2•ч+,).
Теперь минимизируем эту сумму по параметрам k и s.
Попытка решать эту задачу средствами дифференциального
исчисления привела бы к тяжелым уравнениям. Поэтому мы будем
фактически действовать подбором. Положим
fc = |3 logtt|, s = \n — 5 log7i|.
Тогда
(n-k)2n *<^, k2k^3(\ogn)n\
¥.+ l=¥.(l+0(±)), 2"--4s2s + 2v+l=2"-"(l+0(-J-)).
Поэтому
'•'П<т(|+0(1))-т(|+°т>
Поскольку эта оценка имеет место для произвольной функции
из P'i то доказана следующая
Теорема 3. ^~\п)^{\ +0(^)).
Для будущего нам понадобится реализация булевых
операторов схемами из функциональных элементов. Булев (я, т)-
оператор — это упорядоченная m-ка булевых функций. Он
отображает множество Вп в В"1. В множестве таких операторов нас
будет интересовать подмножество Fth'",r операторов, которые
могут принимать ненулевые значения лишь в первых г строках
своей области определения (при лексикографическом
упорядочении множества В"). В последних 2" — г строках операторы из
рп,т,г Принимают значение (0, 0, ..., 0) (т нулей). При г = 2"
класс Fn'"l,r совпадает с множеством всех (п, т)-операторов.
Класс Fn,mr содержит, очевидно, 2тг операторов. Если г
существенно меньше, чем 2", следует ожидать, что функции из Ftu '"•г
имеют более простую реализацию, чем произвольные (я, т)-опе-
74
раторы. Это действительно так. Об этом говорит следующее
утверждение.
Теорема 4. Если последовательности гп\ т,„... и п,...
..., гПу... таковы, что
пгпгп -*оо, (4.4)
(log mn)/rn-+ О, (4.5)
то для произвольного оператора f^pn*m-r
Lew !(/г)<т-^-, + 0(Аг).
L*J ч ' log(mnrn) v '
Стоит отметить, что из (4.4) и (4.5) следует соотношение
/ rnnrn \
Шп=0 (-. -( г),
\\og{mnrn)r
которое содержательно означает, что при условии (4.5)
сложность в основном тратится на вычисления, а не на запись
результата.
Для доказательства используется, по существу, та же
конструкция, что и в теореме 3, только в табл. 7 строк будет меньше,
а именно \г/2п~% поскольку оператор может принимать
ненулевые значения лишь в г точках. Для получения требуемой
оценки нужно тщательно выбрать значения многочисленных
параметров конструкции. Мы не будем приводить эти подробности. Их
можно найти в работе О. Б. Лупанова [49].
§ 5. Реализация системы конъюнкций
контактными многополюсниками
Контактное дерево Dm> построенное в § 2 (при m = n—k),
реализует все 2'" конъюнкций jtf1... хгш" и имеет сложность
2"' + ,_2, т. е. затрачивает в среднем примерно по 2 контакта на
одну конъюнкцию. Это дерево является важным компонентом
универсальной контактной схемы, поэтому для понижения
сложности схемы надо понизить сложность реализации системы
конъюнкций. О. Б. Лупанов предложил для этой цели конструкцию,
которая экономнее контактного дерева асимптотически в два
раза. Опишем эту конструкцию.
Она существенно использует разбиение куба Вг на сферы
радиуса 1. Вспомним (§ 5 гл. 3), что, когда г является
натуральной степенью двойки, такое разбиение существует. Докажем
сначала вспомогательное
Утверждение 3. Если ф (х\ч ..., хг) — характеристическая
функция сферы радиуса 1 с центром ((5|, ..., рг) (г. е. функция,
равная 1 в точках сферы и равная О в остальных точках), то
Ф U, Xr)j& = J?\l... jr?L",' £г J#;,' ... *?', 1 <£<r,
U-'Ui xr)x^^ = 0 при 1фцУ l<£<rf<r.
75
Доказательство. Достаточно заметить, что
ф(*1,..., хг) =х\х х\2... х*г V.-
...VjA1...j%I\41£+\ ~.x*r'\J...\/xV...f;i\x*'. (4.6)
Первая строка утверждения показывает, что любую
конъюнкцию, соответствующую точке сферы с центром (f$i, ..., рг), можно
«выщепить» умножением ф на подходящую переменную или ее
отрицание. □
Построим сначала многополюсник, реализующий конъюнкции,
соответствующие одной сфере с центром (Pi,...,pr). Для этого
представим п в виде n = r-\-qy где г есть некоторая степень
двойки, и обозначим переменные через х\ч ...>хг и у\, ...,yq. Пусть
Т есть контактная схема, реализующая (pUi, ..., хг) и построенная
в соответствии с (4.6). Ее сложность равна г . Присоединим
к одному из полюсов схемы Т вход контактного дерева Dq,
реализующего все конъюнкции уУ ... у\\ а к каждому из 2я
выходов этого дерева — по пучку контактов л4}1, ..., х*У (рис. 21).
Полученный многополюсник назовем (7\ q)-схемой. Он содержит
менее
r2+2q+l + r2q (4.7)
контактов и реализует в силу утверждения 3 все конъюнкции
вида jc*!1... x?{l\ Лг A^lf [ ... x?ryJ\ ... y\q. Этих конъюнкций будет r2q.
При г-+оо и r = o(2q) имеем r2 + 2q+l+r2q~r2q, т. е. (Г, ?)-схема
затрачивает в среднем асимптотически один контакт на
реализацию одной конъюнкции, что вдвое меньше, чем в контактном
дереве.
Рис. 21 Рис. 22
Обозначим символом Кп минимальное число контактов,
достаточное для реализации всех элементарных конъюнкций х"1...^"
(1, 2л)-полюсником.
Теорема 5. Кп~2п.
Доказательство. Рассмотрим разбиение куба Вг при
г = 2л на сферы радиуса 1. Число таких сфер равно 2г/г. Для
каждой сферы построим (7\ <7)-схему. Входы всех этих схем
объединим (рис. 22). Так как сферы образуют разбиение, полу-
76
ченная схема реализует все конъюнкции *"}' ... л£\ Число
контактов в этой схеме с учетом (4.7) не превосходит
К=^л2 + 2"-г+1+г2"-')=г2г+^+2л.
Положим г=2||"'!'"-2|о«",1. Тогда "~2jog" <r<n-2log« и
К<— + 2"Г + 2n = 2"(l+o(i-Y).
п я—2 log л \ \ п //
С другой стороны, очевидно, что Кп^2п. П
Легко видеть, что (7\ <7)-схема не является разделительной,
так как дсЦ* j^'^O. Однако она обладает ослабленным свойством
разделительности, о чем говорит
Утверждение 4. Пусть cud — произвольные различные
выходы (7\ q\схемы, соответствующей сфере с
характеристической функцией ф (а'ь ..., хг), и пусть /а/ (*ь ..., хп) — функция
проводимости между cud. Тогда
ф(*1 Xr)fcd(X\, :.,ХП)=0.
Доказательство. Возможны два случая расположения
выходов end (рис. 23). Если контакты jtf1 и Д\ инцидентные
Рис. 23
соответственно выходам с и d, принадлежат одному пучку
(рис. 23, а), то fed (х\,..., хп) = х\1х?Г]'], и в силу утверждения 3
доказываемое равенство выполняется. Если же контакты х?г1 и
д^п принадлежат разным пучкам (рис. 23,6), то доказываемое
равенство выполняется в силу разделительности контактного
дерева Dq. □
§ 6. Метод Лупанова синтеза контактных схем
Этот метод является развитием метода из § 4. Наряду с
конструкцией § 4 он использует разбиение куба на сферы и
экономную реализацию системы конъюнкций из § 5.
Пусть n = r-\-q-\-ky где г — степень двойки. Значения этих
параметров будут выбраны позже. Пусть ф/ (х\у ..., хг) обозначает
77
характеристическую функцию 1-й сферы в разбиении куба Вг на
сферы радиуса 1. Итак, нужно построить контактную схему для
произвольной булевой функции f (хи
fi (*i *«) = Ф/ (х\ Xr) f (хи
Очевидно, что
27г,
/=V//-
/=i
Обозначим центр 1-й сферы через (P/.i,..
может отличаться от 0 только в точках
х„). Рассмотрим функции
Хп\ 1=1 Т/т.
Р/.г). Функция fi
(Р/,1, ..., P/4-i, Р/,Ь Р/Д+Ь .-., Р/.г, *г + 1, .-., Х„)
(их г2п~г штук), и ее можно задать двумерной таблицей (см.
табл. 10).
Та б л и ц а 10
U.A ' ••
0
и
к**/ ••
/
'"г '
/'
• *г-Г
1
^
;
•$,
7
<5. _я
: А,
: Л?
С
v
л,
г
7-
}*
}•
К
fb(6n....6,,)-f(6, <*„>
В этой таблице 2* строк и г2Л * г столбцов, соответствующих
наборам (Р/,1,..., p/,-f_i, Р/д, P/.* + i, .... Р/,г, *, + i, •••> *«-*). К этой
матрице М (ft) применяются те же построения, что и к матрице М
в § 4. А именно строки матрицы М (fi) разбиваются на полосы
А[У...УАР по 5 строк (в последней может быть меньше). Число
полос удовлетворяет неравенству
Пусть fu — функция, совпадающая с // на полосе Д в М (fi) и
равная 0 вне ее. Очевидно, что
//=V//,.
78
Разложим функцию //,, по переменным Х\ *„_*, опуская
заведомо нулевые члены (для которых (ai,..., аг) не входит в
/-ю сферу):
//./(-V| х„) =
= V хТ ... *;'Г--Ь//./(Л| ап-к,хп-.к + \ хп). (4.8)
Заметим, что каждая из функций //,,(ai, ..., а„_л, xn-k+ \ х„)
совпадает с одной из функций f}~] (jc„_*+i, ..., х„), введенных
в § 4.
Сначала в соответствии с (4.8) строится контактная схема
S/. / для функции //., (рис. 24). Здесь S], представляет собой
^ v, J
Рис. 24
(7\ q)-схему, соответствующую 1-й сфере. Схема Sjj реализует
все конъюнкции jt"1 ... дС-Л, для которых (а( аг) входит в 1-ю
сферу, и содержит не более
'2 I <лп к - г -f I _j_ гс\п - к— г
контактов (см. (4.7)).
Схема S?r- реализует функцию /,.**' ( хп — k+ \у ..., хп) в
соответствии с ее совершенной д. н. ф. и содержит не более sk
контактов (в силу утверждения 1). Выходы этих схем,
построенных для всевозможных f (их 2s штук), объединяются.
Общее число контактов в этих схемах не больше
sk2\
Схема S/, / получается путем соединения всех выходов схемы
S[ i с входами соответствующих схем Sf Г, а именно выход,
реализующий д'Т ... л'",'-.**, соединяется с входом той схемы Sf Г,
которая реализует функцию
[1т(хп *+!,...,**) = //./(а -а,!-*, *«--*+!, ...,*я). (4.9)
79
В силу утверждения 4 «лишние» цепи, если и возникают, имеют
нулевую проводимость. Поэтому схема S/, / реализует функцию
//, |. Для сложности имеем оценку
L(S/./)< r2 + 2n-k-r+l + r2n-k-r + sk2s7 (4.10)
Для построения схемы, реализующей функцию /, достаточно
параллельно соединить подсхемы S/,, для всевозможных / и /
(их не более
л-m + i)
штук). Поэтому
М/Х AL(SU).
Выберем теперь значение параметров г, k и 5 так, чтобы
получить возможно меньшую сложность схемы. Положим
г = 2[т,0Н^ k== |2 log м |, s = ( п —2-л/л |.
Тогда
-\[гг/2<г^,-фг, s~n.
Покажем теперь, что в выражении (4.10) главный член есть
r2n~k~r. Действительно
_^_e0(4),^H-o(i)-o(-L).
г2'-к-' VV« Г2"'"-' v г ' VV«
skT п ( niognr-** \_п(п"*\щп \=п(±)
Поэтому
L(S/.,) = r2"-*-'(l+0(-L)). (4.11)
Так как Ц/)< Л L (S/,,-) и— + l = -^L(l+o(— )) , из (4.11) по-
лучаем
Итак, нами доказана
Теорема 6. LKC (л) < £(l +0 (1 )).
Некоторое видоизменение описанной конструкции позволяет
строить экономные П-схемы для булевых функций. Мы не будем
здесь приводить эту конструкцию, а только сформулируем
результат.
Теореиа 7. М,>< ,JL(|+0 (Sfijl))
80
§ 7. Градиентный метод
Дизъюнктивные нормальные формы имеют очень бедную
структуру: дизъюнкция конъюнкций. Поэтому методы
декомпозиции, использованные в предыдущих параграфах при синтезе
схем из функциональных элементов, контактных схем и формул,
здесь не работают. Задачи построения минимальных и
кратчайших д. н. ф. удобно рассматривать как задачи на покрытие.
Пусть А обозначает конечное множество {а\, ..., aN)y а Pi,
Р2,...—такую систему множеств, что [}Pi^A. Система
множеств Р,,,..., Pis называется покрытием множества Л, если
О Р/.зЛ. В частности, система Рь Р2, ... образует покрытие.
Про точку ai^Pi говорят, что она покрывается множеством Р/.
Множества Р, называются еще интервалами (или гранями, или
гиперребрами).
Сложностью покрытия Р,,,..., Pig называется число s.
Покрытие называется минимальным, если оно имеет наименьшую
сложность среди всех покрытий множества А. Задача на
покрытие заключается в отыскании минимального покрытия. К этой
весьма общей задаче сводится целый ряд задач дискретной
математики (раскраска графов, тестовые задачи и т. п.). Одним
из наиболее известных представителей задачи о покрытии
является задача построения кратчайшей д. н. ф. В этой задаче роль
множества А играет множество Л// = {а | /(а) = 1}, а роль Р\,
Рг, ... — максимальные интервалы функции /.
Для решения задачи о минимальном покрытии издавна
известен простой эвристический метод, который носит разные
названия: градиентный алгоритм (ГА), метод наискорейшего
спуска, метод вычерпывания и т. д. В англоязычной литературе
он известен как greedy — алгоеитм (поедающий, или жадный).
Метод заключается в пошаговом отборе в покрытие таких
множеств, которые вносят наибольший вклад в покрытие оставшихся
точек. Точнее его можно описать так:
шаг 1: Я:=0; ПОКР := 0, / : = 1; для всех / Р\ := Р\[\А\
шаг 2: пусть ру= max | Р/ | (обозначим через Р' то множество,
на котором этот максимум достигается);
шаг 3: П : = П {}[?']; ПОКР :=ПОКР[]~Р1\ для всех /
/>/+| : = p}\pi;
шаг 4: / :=/+!; если А\ПОКРф 0, то переход на шаг 2,
в противном случае останов с ответом П.
Пусть SrA обозначает сложность покрытия, построенного
градиентным алгоритмом, a Som — сложность минимального
покрытия. Отношение SrA/SQin характеризует точность
градиентного алгоритма. Оценим точность градиентного алгоритма.
Пусть Pi,..., Р„, — некоторое минимальное покрытие
множества Л, ПОКР(1) — множество покрытых после / шагов
точек при применении ГА, ОСТ(1) =А\ПОКР(1). В дальнейшем
можно считать, что т^2.
81
Лемма 4.
\покр{1)\ >4"1(1--т!г)/- (4Л2)
Доказательство. При /=1, очевидно, \ПОКР(\)\^
Предположим, что неравенство (4.12) справедливо для
номеров шагов 1, ..., /—1, и докажем его для /-го шага. Если
\ПОКР(1—\)\ =yV, лемма доказана. В противном случае не
все Pi, ..., Рт еще вошли в градиентное покрытие П. Те из них,
что еще не вошли в //, покрывают множество ОСТ (1-Х). По
крайней мере одно из них покрывает не менее (1/ш)-й доли
глпти w N—\nOKP(l-\)\ п
ОСТ(1— 1), т. е. не менее ' — точек. Поэтому
m -
\ПОКР(1)\>\ПОКР(1-\)\+ v-i/70AP(/-Di =
= JL + (1 _ _L) \покр(1-\)\ >l + ly(i-i)' =
-i'i'd-iy-.vd-d-i)')^
Следствие. |ОСГ(/)| ^ ^V (1 —
Обозначим теперь через / минимальное натуральное число
такое, что \ОСТ (l)\^.m.
Утверждение 5. SrA < l-\-m.
Действительно, на каждом шаге ГА покрывается по крайней
мере одна новая точка. Поэтому, если |ОСГ(/)|<ш, то до
получения покрытия осталось сделать не более m шагов. □
Оценим теперь сверху /. Уравнение \OCT(l)\ = m может и
не иметь решения из-за дискретности функции \ОСТ(1)\.
Поэтому решим вспомогательное уравнение /V = m.
Его решение L связано с / простым соотношением (см. следствие
леммы 4 и рис. 25, значения функции \ОСТ(1)\ отмечены на
нем точками): /< L . Легко видеть, что L =■ —— .
1 In (ш/(/н— П)
Т е о р е м а 8. SrA < S (l + ,1п/Т" „> ) •
г ,л v ' m\n(m/(m — 1)) /
Доказательство. Покажем сначала, что
S/v, <L + m.
Если /^L, то это неравенство следует из утверждения 5. Если же
82
/> L, то в силу следствия и определения числа L
\OCT(D\^N(\--L)<<N(l-±)'=m,
т. е.
|ОСГ(/)|<т—1.
При этом
Spa </ + I OCT(i) |<]L[ + m—KL + ш.
Подставив в доказанное неравенство значение L и заметив, что
SOIIT = m, получим неравенство теоремы. □
4 -^-—
I L.L ^
/25 L I I
Рис. 25
Следствие. SrA ^SQm (1 —|— In (N/tn)).
Достаточно заметить, что т In (m/ (m — 1) ) > 1, если т ^ 2. D
Применим следствие к д. н. ф. Для них, очевидно, N^T.
Поэтому
Sr>l<So„T(l+/iln2).
Итак, градиентный алгоритм для любой функции строит
д. н. ф., отличающуюся от кратчайшей не более, чем в п In 2+1
раз. На самом деле для большинства функций это отличие
существенно меньше (примерно log log я), но доказательство
этого факта требует изучения статистических свойств булевых
функций, что и будет сделано в следующей главе.
Комментарии
1. Результаты § 1 опубликованы в [63].
2. Метод Шеннона опубликован в [190]. Большую роль в популяризации
этого метода (и вообще проблематики сложности булевых функций) и
переложении его на современный математический язык сыграла работа С. В.
Яблонского [107]. Метод Шеннона применим и к схемам из функциональных
элементов (см., например, [159, 113]).
3. Метод каскадов предложен Г. Н. Поваровым [69].
4—6. Метод синтеза схем из функциональных элементов, позволяющий
строить асимптотически минимальные схемы для почти всех булевых функций,
83
изложен в работе О. Б. Лупанова [45]. Этот метод годится для любого
полного базиса; более того, даже при более общем определении сложности схемы,
когда каждому элементу £, базиса приписывается вес не обязательно 1, а
2"
некоторое число р,> 0 (см. комментарии к гл. 1). Тогда ^сфэ (п) <Р—•
Синтез асимптотически минимальных контактных схем и формул для почти
всех булевых функций описан в работах О. Б. Лупанова [44, 46]. Эти методы
с некоторыми модификациями были впоследствии применены к самым
разнообразным классам схем и функций. Нет никакой возможности перечислить все
эти результаты. Практически в каждом выпуске «Проблем кибернетики» можно
найти такие работы.
Следует признать, что упомянутые выше работы [45, 46] довольно трудны
для чтения. Осознавая это, О. Б. Лупанов изложил в статье [48] свои
результаты в более упрощенной форме, несколько поступившись общностью в пользу
доступности. С небольшими изменениями статья [48] вошла в книгу О. Б.
Лупанова [54]. Наше изложение § 4—6 почти дословно следует этой книге.
7. Градиентный алгоритм настолько самоочевиден, что вряд ли кто-нибудь
может претендовать на его изобретение. Эта же самоочевидность служит
причиной заблуждения некоторых практиков, считающих его точным алгоритмом.
Такого же рода алгоритмы (с тем же названием) применимы не только к
задачам на покрытие, так что ГА является одним из наиболее распространенных
алгоритмов в комбинаторных задачах. Ввиду своей крайней примитивности
он не производил поначалу впечатления серьезного алгоритма. Но в течение
десятилетий так и не был предложен другой алгоритм, который по своей
эффективности, широте применений и точности мог бы его превзойти. Поэтому в
последние годы он выдвинулся в число фундаментальных алгоритмов
комбинаторного анализа. Ему стали посвящать обзоры (см., например, [151]) и отводить
отдельные главы в монографиях (см., например, [145]).
В отличие от методов синтеза для схем, формул и контактных схем
градиентный алгоритм не гарантирует построения асимптотически минимальных
покрытий для почти всех /еЯ<>, но он обеспечивает большую равномерность,
поскольку в силу теоремы 8 для всех функций feP'j отклонение SrA от 50нт «не очень
велико» (в частности, при построении кратчайших д. н. ф. SrA/Som^n In 2: П.
Теорема 8 доказана в [62]. Несколько авторов (см., например, [148])
независимо пришли к тому же результату. Применительно непосредственно
к д. н. ф. ГА рассмотрен в [82].
Упражнения
1. Доказать полиномиальную сводимость задачи построения минимальных
контактных схем к своей приближенной с константной точностью [63].
2. Применить метод Шеннона для реализации линейной функции.
3. Построить для конкретного т пример многополюсника, реализующего все
конъюнкции х*хх ... xaj и имеющего меньшую сложность, чем контактное дерево
[48, 54].
4. Какой участок схемы на рис. 24 «повинен» в том, что схема не является
П-схемой?
5. Построить пример задачи на покрытие, в которой SrA ^с (log N)SQm
(см. [62]).
ГЛАВА 5
СТАТИСТИЧЕСКИЕ СВОЙСТВА БУЛЕВЫХ ФУНКЦИЙ
В этой главе нас будет интересовать статистическая картина,
а именно поведение сложности «основной массы» функций.
Мы будем говорить, что почти все (булевы) функции обладают
некоторым свойством Л, если доля функций от п переменных, не
обладающих свойством Л, по отношению к числу всех функций
из Р\ стремится к нулю с ростом п.
В гл. 4 были описаны методы синтеза схем, которые
позволяют установить верхние оценки сложности булевых функций.
Для изучения статистики теперь нам нужны нижние оценки для
почти всех булевых функций. Основой для их получения служит
весьма общий мощностной метод Шеннона, который в еще более
общем виде известен как
Принцип Дирихле: если некие предметы
раскладываются по ящикам и при этом предметов меньше, чем ящиков, то
некоторые ящики останутся пустыми.
§ 1. Оценки сложности дизъюнктивных нормальных форм
для почти всех булевых функций
Начнем с оценки мощности множества Nf точек из В'\ в
которых функция / принимает значение 1.
Лемма 1. Для почти всех булевых функций f
2"-*-п2п/2^ \Nf\ ^2п~1+п2п/2. (5.1)
Это предложение является непосредственным следствием
леммы 1 гл. 3. □
Пусть теперь p(f) есть некоторый неотрицательный параметр,
характеризующий функцию /. Примерами могут служить
сложность L (/) функции /, мощность множества Nf, число допустимых
интервалов и т. п. При изучении статистики значений параметра
р (/) часто оказывается полезным знание среднего значения
85
параметра по всем функциям /,еР5. Его роль видна из
следующего утверждения.
Лемма 2. Доля функций f из Р«>, для которых р (f)^ — p (я),
не превосходит г (е> 0).
Действительно, в противном случае р(п) было бы больше. □
Эта очевидная лемма говорит о том, что для большинства
функций значение параметра не может сильно превосходить
среднее значение. Она используется для верхней оценки
значений параметра почти всех функций.
Среднее значение целого ряда параметров можно находить,
используя двудольный граф инциденций. Продемонстрируем эту
технику на примере параметра /* (/) — числа /г-мерных
интервалов, входящих в множество Nf.
Итак, пусть вершины графа разбиты на две части (доли).
Одну долю в графе составляют вершины-интервалы размерности
k в л-мерном кубе (Ckn2n~k
вершин).Другую долю образует множество Я? (22"
вершин). Вершина-интервал соединяется с
вершиной-функцией ребром тогда и только тог-
: г : да, когда интервал входит в множество Nf
о^-Лф I (f-л ^° для эт°й Функции (рис. 26). Поскольку все
~\J к к i у интервалы совершенно равноправны (один
: : из них можно перевести в другой пере-
в носом начала координат в м-мерном кубе),
° число функций /, для которых интервал
Рис. 26 входит в множество Nf, одно и то же для
всех интервалов размерности к. Обозначим
его через Ф*. Очевидно, что фк = 22'1~2 (в 2к точках интервала
функция равна 1, в остальных 2" — 2* точках она принимает
значение 0 или 1).
Число ребер построенного двудольного графа при подсчете
2"'"
справа налево равно У h (/,), а при подсчете слева направо
оно составит Скп2п~кФк. Поэтому
1 JL 1 Г* 9" -*
2* f±x Г
Итак, нами доказано следующее утверждение.
Лемма 3. Среднее число h (п) допустимых k-мерных
интервалов по всем функциям из Р\ равно
а г
Лемма 4. Почти все функции из Р\ не имеют допустимых
интервалов размерности k = \ log лг| + 2.
86
Доказательство. 11оложим в лемме 2 е = 1 /п и покажем,
что — //г (п) —>- 0. Действительно, при указанных значениях k и г
1 „ 1<>К " Ч 2 0п — log » - 1 log « + 3 0n — log и — |
—/* (П) < /I f-rr, = ► 0. □
Следствие 1. Для почти всех fePS
Доказательство. Указанное неравенство имеет место
для всех функций, удовлетворяющих леммам 1 и 4, так как в
условиях леммы 4 каждый допустимый интервал покрывает не
более 2/г точек из Nf. □
Следствие 2. Для почти всех булевых функций из Р§
Ц (f) ~ nU (/)•
Доказательство. Очевидно, что Lb(f)^nLK(f) для
всех fsPS. В силу леммы 4 у почти всех /еРг каждая
конъюнкция минимальной д. н. ф. содержит не менее п — log п — 2 букв.
Число конъюнкций в минимальной д. н. ф. не менее LK(f). Поэтому
^б(/) Хл — log п — 2) LK(f) для почти всех /еР?. □
Это следствие показывает, что для почти всех функций
достаточно оценивать одну из двух характеристик Lb (f) или LK (/).
Поэтому мыв дальнейшем будем интересоваться только LK (/).
Оценка, полученная в следствии 1, может быть усилена. Для
этого мы покажем, что интервалы размерности, близкой к log я,
покрывают лишь нулевую долю точек из Nf для почти всех
/^Рг. Обозначим через Н£ (/) число точек в множестве Nf,
покрываемых интервалами размерности больше k.
Лемма 5. Если kb= log ((1 + е) log п log log п) (t*> 0), то
для почти всех f^P'j
HtM)=o{2").
Доказательство. Рассмотрим множество Q функций ф,
обладающих следующими двумя свойствами:
1) они не имеют допустимых интервалов размерности
* = |logn|+2;
2) /*(/) < nlk{n) для всех fe<fe.
В силу лемм 2 и 4 множество И содержит почти все булевы
функции. Для функций /ей имеем
Н?г (f)< I /*(/)2*< X nlk(n)2k =
к-<к'~к *'<к*к ^nCtr-V
= У з— < 2"к тах ^ •
Убедимся, что при k > kb величина / (я, А) = /гА + ,/22/г убывает
по k (по крайней мере, если п достаточно велико). Для этого
87
рассмотрим отношение двух соседних членов:
t(n,k) _ /i»+122*+' =?Р_
/(л,Л+1) 22" nk+'2 п
При 6 > log log п это отношение больше единицы, т\ е. при
k> fct функция /(я, /г) убывает. Поэтому при ke<k<.k
максимум величины /(/г, &) равен /(я, [&,|+1). Следовательно,
tf+(/)<2"(logM + 2)—"' ~ =о(2п). а
kv М / ^ V G> I / (|+F) log log л V '
Теорема 1. Для почти всех f^P'i
M/)>(i-s)j—Ц^-х— ,
где б — произвольная положительная константа.
Доказательство. Рассмотрим функции, на которые
распространяются леммы 1 и 5. Они составляют множество почти
всех функций. Каждый интервал размерности, не
превосходящей &с, покрывает не более 2*"=(1 +г) log п log log п точек. В силу
лемм 1 и 5 такими интервалами надо покрыть не менее 2л_| —
— я2"/2 — о (2п) ~ 2п~1 точек. Отсюда и вытекает утверждение
теоремы. □
Теперь мы можем оценить точность градиентного алгоритма
применительно к почти всем функциям из Р$.
Следствие. Для почти всех /еP'i градиентный алгоритм
строит д. н. ф., отличающуюся по длине от кратчайшей не более,
чем в (1 +б„) In log п раз (е„-^0).
Доказательство. Напомним, что в теореме 8 гл. 4
применительно к д. н. ф. N= \Nf\, m = Z,K(/j. В силу следствия
теоремы 8 гл. 4 для всех /еЯг, удовлетворяющих теореме 1,
5гл<50пт(1+ In ( I , log п log log п) )<SonT In log л. □
(1 О) 1
Непосредственным применением градиентного алгоритма
к д. н. ф. А. А. Сапоженко доказал [82] следующий результат.
Теорема 2. Для почти всех f^P't
где с — некоторая константа.
Доказательство опирается на неравенство Чебышева и
требует значительных выкладок. Поэтому здесь оно не приводится. □
Отметим, что теорема 2 первоначально была доказана
А. Д. Коршуновым [33] другим, более сложным методом.
§ 2. Мощностной метод Шеннона и его применения
Мощностной метод Шеннона получения нижних оценок
сложности применим практически к любому классу схем. Во многих
случаях он позволяет получить асимптотически точные нижние
88
оценки для функции Шеннона L (п). Метод основая на
следующем утверждении.
Лемма 6 (Шеннона). Если число N(k, п) минимальных
схем сложности не более ky реализующих по одной функции из
РЪ, есть о(22"), то для почти всех f из Рг
HS)>k.
Доказательство очевидно, так как этих схем хватит для
реализации лишь нулевой доли функций. □
Для применения этого метода нужно уметь оценивать сверху
число N (k, п). Мы проделаем это сначала для схем из
функциональных элементов. Итак, пусть N' (т, п) обозначает число
минимальных схем из функциональных элементов в базисе {&,
V, } сложности т, реализующих по одной функции из P§. Тогда
k
N(k,n)= £ N'(m,n).
т = 0
Пусть 5 есть минимальная схема в базисе {&, V, } с /г
полюсами и m внутренними вершинами, причем m^l. Занумеруем
произвольно внутренние вершины числами от 1 до т. Сопоставим
схеме 5 при этой нумерации N слово W (S, N) длины m в
алфавите АХАХЕ, где А = {хи ..., хп) U {1..... ™\ Е = {&у \Д "}•
следующим образом. Пусть внутренней вершине
с номером / предшествуют вершины а и Ь
(или только одна вершина а в случае
элемента ~). Каждая из них при нумерации N
помечена одной буквой алфавита Л, т. е.
либо символом некоторой переменной, если это
полюс, либо числом от 1 до пг. Обозначим
эти метки соответственно через N (а) и N (Ь).
Кроме того, /-й вершине приписан один
символ алфавита Е\ обозначим его через Е (/).
Тогда /-я буква слова W (S, N) есть (N(a),
N (6), £(/)), если £(/) есть & или V, и (N (а),
N (а), Е (/)) в противном случае. Например, рис. 27
для схемы на рис. 27 слово W (S, N) равно
(jc, у, &)(3, 4, &)(*, у, V), (1. 1. "). Ясно, что
по слову W (S, N) схема S восстанавливается однозначно с
точностью до изоморфизма; ее выходом является единственная
внутренняя вершина с выходной степенью, равной 0.
Число различных слов длины m в алфавите АхАХЕ равно
(3(я + /л)2)т. Поэтому мы уже получили оценку
JV'fm, rt)<(3(Ai + m)2)m, m>l. (5.2)
При m = 0 все определяет выбор выхода. Поэтому W (0, п) = п.
Но оценка (5.2) очень груба. Действительно, при разных
нумерациях внутренних элементов, вообще говоря, получаются
разные коды W (S, N) одной и той же схемы. Поэтому, если дока-
89
зать, что все эти коды действительно различны, то оценку (5.2)
можно будет усилить в т\ раз. Именно так мы и поступим.
Лемма 7. При Ы\ФЫ* W(S, N^W{Sy N2).
Доказательство. Разобьем вершины схемы S на ярусы.
Нулевой ярус состоит из полюсов, /-й ярус образуют вершины,
все предшественники которых лежат в ярусах с номерами
меньше /, причем хотя бы один в (/— 1)-м ярусе. В силу отсутствия
контуров каждая вершина попадает в какой-то ярус.
Найдем ярус с наименьшим номером, в котором есть вершина,
имеющая разные номера при нумерациях N\ и Л/2. Пусть / —
номер какой-нибудь такой вершины при нумерации N\. Тогда
слова W(Sy N\) и W(S, Л/2) различаются в /-й позиции (иначе
получается противоречие с утверждением 9 гл. 2). □
Следствие 1. При всевозможных нумерациях элементов
схемы каждая минимальная схема S сложности m кодируется т\
различными словами в алфавите АхЛхЕ.
Следствие 2. Число N'(m, п) при m ^ 1 удовлетворяет
неравенству
kin \^ (/*+т)2,"3'"
Лемма 8. Число N(k, п) при k^l удовлетворяет
неравенству
Доказательство. Используя неравенство т!> (т/3)'",
вытекающее из формулы Стирлинга, имеем
N(k, п)= l N'(m, п)<? + х\+к^<"'^Х?*<
Лемма 9. Для почти всех функций f из P'j
Wfl> 27л.
Доказательство. Ввиду леммы 6 достаточно доказать,
что
N(2"/n, п) п
2п "^0 ПРИ П-^оо.
Мы покажем, что логарифм этого отношения стремится к — оо.
Действительно, учитывая лемму 8, имеем
log-^<(^ + l (\og9 + n-\ogn) +
+ 2^-log l+2l)-2"=-^logn + oglogW)^-oo. П
90
Теперь применим мощностной метд Шеннона к контактным
схемам. Достаточно рассмотреть контактные схемы без петель,
т. е. без ребер вида (а, а).
Пусть Sk обозначает число, a G* — множество неизоморфных
двухполюсных графов (т. е. графов, в которых отмечены две
вершины в качестве полюсов) с k ребрами (возможно,
кратными), в которых изолированными вершинами могут быть только
полюсы.
Лемма 10. S*<(18fe)*.
Доказательство. Число вершин в графе из G* не
превосходит 2fe-f-2. Поэтому число пар вершин, которые могут
образовать ребра, равно r = CL+2 = 2fe2 + 3* +1. Считая
заданными 2ft+ 2 вершин, из которых полюсами являются первая
и вторая, и отбирая из г ребер k штук (возможно, с
повторениями), можно получить с точностью до изоморфизма любой
граф из G*.
Число сочетаний с повторениями из г элементов по k равно
С?+*_|. Действительно, можно установить взаимно однозначное
соответствие между сочетаниями с повторениями (из элементов
Л|, ..., Лг) и обычными сочетаниями (из элементов Л|,..., Лг,
В\у..., Bk-\)y если каждому сочетанию с повторениями вида
/лj /i,- ... /1/. /\jt) /\j-} ... /i/., ... /I/ /1/ ... /\j
\ у 1 \ : yj ~-J у i ^
(/i<0*2< ... </s, k\-\-kz-\- ... -\-ks = k) сопоставить (обычное)
сочетание вида
Л,-, Л,2 ... Л,- В1В2...Вк1_х В,1 + | ...ft,+*2-i...
\—I—t j у ^ !—> < « '
a- k\-\ k2-\
... В*,+ь+ +Лч_| + | ••• Bk-\
У '
"** -'
(выпущены те дополнительные символы В, номера которых суть
*,,*,+** ...,*1+*2+ ... +*s-l).
Пример. Сочетанию с повторениями Л5, Л6, Л6, Л9 из
элементов А\ А\{) сопоставляется обычное сочетание из
элементов Л|,..., А\о, В|, В2, BuMs, Л6, Л9, Вг. Это сочетание
расшифровывается так: в ряду элементов В выпущены В\ и В3. Значит,
кратность элемента Л5 есть 1, а кратность элемента Л6 есть
3-1=2.
Итак,
*! (Л/3)* (/г/3)*
Пусть NKC(k, п) обозначает число контактных схем без петель
и изолированных вершин (кроме, быть может, полюсов),
содержащих не более k контактов и реализующих функции f(x , хп).
Лемма 11. Л/кс(/г, л)<(36лЛ)*+|.
Доказательство. Каждая такая схема может быть
получена из двухполюсного графа с тем же числом ребер путем
91
приписывания каждому ребру одного из символов х\ х,„ х\, ...
..., хп. Поэтому
k
NKC(k,n)^£(2n)"Sh.
С учетом леммы 10 имеем
к
NKC(kyn)^ ^(36гг/г)Л<(/?+ 1 )(36м/г)/'^Овлг/г^^1. (5.3)
Лемма 12. Для любого е> 0 при достаточно больших п
LKC(n)>^(\-E\
причем доля функций f(x\, ..., *я), для которых
стремится к нулю с ростом п.
Доказательство. В силу леммы 6 достаточно показать,
2"
что при k = — (1 — е)
NKC(k,n) = o(22").
Из (5.3) имеем
"og^r- <(1+^(1-е))(« + 0(1))-2« =
= -e2* + 0(^-W-oo. П
Перейдем теперь к оценкам числа П-схем (или, что то же
самое, нормализованных формул в базисе |&,\Л~1Ь Пусть
Nn(kyn) — число нормализованных формул в базисе {&,\/>_!>
содержащих не более k символов переменных и реализующих
функции f(X\, ..., х„).
Лемма 13. Мп(&, п)<{сп)\ где с — некоторая константа.
Доказательство. Каждая из рассматриваемых формул
сложности l(l^k) содержит /^- 1 символов операций 4 и V и не
более /—1 пар скобок, т. е. всего не более 4/ —3 символов.
Дописав к ней необходимое число раз вспомогательный
символ а, получим слово длины 4k в алфавите \х\у ..., х1и х\ хп, &,
V, (,),_а|, содержащее не более k символов алфавита Х = {х\, ..., хп,
х\, ..., хп\. Поэтому
k
/=1 /=|
(Ci/f способов выбора мест для букв из X, (2п)1 способов
расстановки букв из X на эти места, 54*-/ способов заполнения
оставшихся мест остальными символами). □
Лемма 14. Для любого е> 0 при достаточно больших п
uv ; log л
92
причем доля функций f(xiy... , хп), для которых
^(/X^d-e),
стремится к нулю с ростом п.
Доказательство. Из леммы 13 при k = -. (1-е) имеем
log"^-"* <-£- (1-е) (logn + 0(l))-2"=-e2" + 0(-^L).
2г log Л MOgAl/
Последнее выражение стремится к — оо при п-+оо. С учетом
леммы 6 этого достаточно для доказательства нашей леммы. □
§ 3. Эффект Шеннона
Сопоставим теперь верхние оценки сложности, полученные в
гл. 4, с нижними оценками сложности из § 2.
Теорему 3 гл. 4 и лемму 9 этой главы в результате
совместного рассмотрения можно сформулировать так:
Теорема 3. Почти все функции /еР? имеют
асимптотически одинаковую сложность в классе схем из функциональных
элементов, равную асимптотически L(n)t причем
L&^"'(n)~27*.
Для контактных схем и П-схем утверждения выглядят
совершенно аналогично (ср. теоремы 6 и 7 гл. 4 и леммы 12 и 14 этой
главы):
Теорема 4. Почти все функции /еРг имеют
асимптотически одинаковую сложность в классе контактных схем, равную
асимптотически LKC(n)y причем
LKC(n)~2n/n.
Теорема 5. Почти все функции /ePg имеют
асимптотически одинаковую сложность в классе П-схем, равную
асимптотически Ln(n), причем
Ln(n)~2"/\ogn.
Сопоставление теорем 3—5 приводит к следующему
заключению, известному под названием эффект Шеннона: почти все
функции из Ръ имеют асимптотически одинаковую сложность; эта
сложность асимптотически равна L(n).
Графически эффект Шеннона представлен на рис. 28 (по оси
абсцисс откладываются функции из Р§ в порядке неубывания
сложности, по оси ординат — функция L(f); для наглядности
дискретное множество точек графика соединено кривой). Видно,
что сложности почти всех функций лежат в узкой полосе. Этот
эффект был предсказан К. Э. Шенноном [190], но доказать его
ему не удалось. Для его обоснования понадобились более мощ-
93
ные методы синтеза О. Б. Лупанова. Он же предложил назвать
эффект именем Шеннона.
Эффект Шеннона наблюдается при реализации функций
схемами из разнообразных классов. Он является важной
статистической характеристикой множества РЧ в данном классе схем.
Эффект Шеннона дает качественную характеристику поведения
сложности. Для его обнаружения
((у\--^: - нужно, во-первых, оценить сверху
' L(n) (как это делалось в теоремах
3, 6, 7 гл. 4), а во-вторых, оценить
снизу L(f) для почти всех f^P'j,
причем эти оценки должны
асимптотически совпадать.
Однако свести верхнюю оценку
с нижней удается не всегда, а в
ис некоторых случаях это просто
невозможно. Например, для д.н.ф.
LK(n)^2n~l (см. теорему 6 гл. 2), а для почти всех булевых
функций
(теорема 2 этой главы), т. е. вторая часть в утверждении
эффекта Шеннона для д.н.ф. заведомо не верна. Возникает вопрос: а
выполняется ли здесь первое утверждение эффекта Шеннона о
том, что почти все функции /еРг имеют асимптотически
одинаковую сложность? В случае положительного ответа говорят о
полуэффекте Шеннона.
Полуэффект Шеннона является важной статистической
характеристикой в тех случаях, когда полный эффект Шеннона не
имеет места или его наличие не удается доказать. Для его
обоснования требуется принципиально другая методика, нежели для
эффекта Шеннона. В § 4 излагается такая методика.
О полуэффекте Шеннона можно говорить применительно не
только к классу Р\ всех булевых функций п переменных, но и
применительно к подклассам этого класса (например, к
монотонным функциям, функциям с данным числом единиц и т. п.).
Для подкласса Тп полуэффект Шеннона означает, что почти все
функции из Тп имеют асимптотически одинаковую сложность.
§ 4. Вариационный принцип
Вариационный принцип служит для доказательства
полуэффекта Шеннона. Суть его заключается в построении экономной
д.н.ф., исходя из кратчайшей д.н.ф. другой, «находящейся
неподалеку» функции. Этот принцип применим не только к д.н.ф., но
и к другим схемам и множествам функций.
Уточним сначала, что означает термин «полуэффект
Шеннона».
94
Пусть \(п) обозначает произвольное подмножество
множества Я?» которое содержит почти все булевы функции, т. е.
|Д(л) I ^22". Выделим в множестве Д(я) два подмножества:
Д„р и Дсл — соответственно самых простых и самых сложных
функций из Д(я). Если функции из Л(л) занумерованы: /i, /2,...
в порядке неубывания сложности, то множество Апр содержит
начальный отрезок /i, /2,... , Lyl), а множество Дсл — конечный
отрезок fq(n)y /7(,04.,,..., /|\(„)|. Обозначим средний отрезок, т. е.
Д\(Д„РиДол), через Дср.
Тогда полуэффект Шеннона можно сформулировать
так: при подходящем выборе множества Д(м) и чисел р(п) и
q(n), удовлетворяющих условиям
Щп)\~2\ (5.4)
р(п) = о(22"), q{n)~?\ (5.5)
выполняется соотношение
(на рис. 29 для наглядности
дискретное множество точек графика
соединено сплошной кривой), т. е. для
множества Д\Дсл имеет место эффект 1ТГ~£ 7 ^Га^
Шеннона. Л«* Р ^ ч А™
Если бы мы располагали методом Рис. 29
синтеза, который дает для функций
из Д\ДСЛ верхнюю оценку, асимптотически совпадающую с нижней,
то полуэффект Шеннона для Р<2 был бы доказан. При отсутствии
такого метода вариационный принцип предлагает действовать
следующим образом.
Функции /еР§ рассматриваются как точки 2"-мерного куба,
а р(/> ё) обозначает расстояние Хэмминга, т. е. в данном случае
число точек а^В" таких, что f(6L)=jt=g(d). Обозначим через
/пр и fCJl такую пару функций соответственно из Дпр и ДСл, что
р (/пр, /ел) = ITlin р (/, g)=R (Д„р, Дел)
/ ^ ''Vip
(см. § 4 гл. 3). В силу упорядочения функций /, (см. рис. 29)
^к (Ы - U (/,) < LK (/сл) - LK (/пр). (5.6)
Суть вариационного принципа состоит в оценке разности
LK(fсл)— LK{fПр) через расстояние р(/пр, /сл). Для реализации
этого принципа надо подходящим образом выбрать А (я), р(п) и
q(n). Мы выберем их так: А (я) — множество функций /^Рг,
которые не имеют допустимых интервалов размерности [logп) +2,
2" '-я2'"-
p(n) = \\(n)\-q(n)= £ Ck (5.7)
/=0
95
Тогда в силу леммы 4 выполнено (5.4), а в силу
доказательства леммы 1 гл. 3 и (5.4) выполняется (5.5). В силу (5.5) и
упорядочения функций /, на функцию fq{n) при достаточно
большом п распространяется теорема 1. При этом
u(^,)>(i-6),0j;o;logn. (5.8)
Далее в силу выбора функций /пр и /сл, (5.7) и следствия 2
теоремы 7 гл. 3
Р (/Пр, /ел) = R (Апр, Лсл) < 2п2п/2. (5.9)
Приступим теперь к оценке разности \LK(f) — LK{g) |,
которую будем называть вариацией сложности на паре функций /, g.
Лемма 15. Если /, #еД(я) и р(/, g) = 1, то при я>6
IM/)-M£)l<",ogrt-H.
Доказательство. Функции / и g различаются только в
одной точке. Пусть для определенности /(ос) =0, g(d)j=l, a jjo
всех остальных точках р выполняется равенство /(p)=g(j}).
Тогда д.н.ф. для функции g может быть получена из кратчайшей
д.н.ф. функции / добавлением одной допустимой для g
конъюнкции К такой, что /((d) = 1. Поэтому
М£)<М/) + 1. (5.10)
Д.н.ф. для функции / может быть получена из кратчайшей
д.н.ф. D(g) функции g следующим образом. Сначала удалим из
D(g) все конъюнкции К такие, что /((d) = 1. При этом в силу
определения множества Дп значение функции может измениться
лишь в тех точках, которые отстоят от точки d на расстояние не
более [log/z] +1, т. е. принадлежат шару S|,og„|+, (d). Чтобы
восстановить правильное значение в этих точках, достаточно
включить в д.н.ф. не более
|logn|+l
г*
I
конъюнкций. Если м^б, то [logrt] +l^n/2, а тогда
[Iogrt] + l
£ cJ<([iogM] +1)cL,og"l+I</2,ogrt+l,
k = \
М/)<М*)+л,ов" + |.
Последнее неравенство в сочетании с неравенством (5.10)
дает утверждение леммы. D
Лемма 16. При п^б
иися)-Ьк(Ы)<2п,0*п+22п'2.
96
Доказательство. В пространстве В2" проведем
кратчайшую цепь между точками /сл и /пр, проходящую через точку
/сл&/пР. Такая цепь существует в силу утверждения 6 гл. 3.
Длина d этой цепи (см. (5.9)) не превышает 2п2я/2. Каждая
точка h этой цепи удовлетворяет хотя бы одному из неравенств:
Л</сл или Л</пР. Поскольку (сл и /Пр принадлежат множеству
Л (л), то и АеА(п). Обозначим последовательные точки этой
кратчайшей цепи следующим образом: /пр = А,, Л2, ..., A<*+i = /Сл.
Тогда
I ММ - МЫ I = I ММ - Мй2) + ММ - МАз) +
d
+Мйз)-... + ММ-МЛ*+|)1<11МА.)-МЛ.+.)1-
Каждая разность \LK(hi) — LK(/i/+i) I в силу предыдущей леммы
не превышает nlog" + 1, d^2/z2n/2, что и дает утверждение
леммы. D
Теорема 6 (полуэффект Шеннона). Существует функция
t(n) такая, что для почти всех булевых функций /еЯ§
М/)~/(я).
Доказательство. В силу (5.6) и леммы 16
LK (М - U (М < U (/сл) - U (/пР) < 2n,0^+22"/2.
С учетом (5.8) имеем LK(fq)—LK(fp)=o(LK(fq)), т. е. МЫ ~
~LK(fq). Ввиду (5.4) и (5.5) это означает, что для почти всех
fesP?
М/)~М/р).
В качестве функции t(n) можно взять, например, LK(/, 2„),
поскольку (по крайней мере при достаточно больших п)
ММ<М/| 22,)<MM- п
Чтобы установить полуэффект Шеннона для подклассов Тп
класса Р§, нужно модифицировать вариационный принцип.
Необходимость модификации вызвана тем, что для подклассов
класса Я§ равенства (5.4), (5.5) и, следовательно, (5.7) обычно
не имеют места. Чтобы преодолеть это препятствие, можно
предварительно «уплотнить» подкласс Г\ т. е. закодировать функции
из Тп двоичными последовательностями длины меньше, чем 2п
(причем достаточно сделать это не для всех функций из Тпу а
только для почти всех). Таким образом можно добиться
выполнения равенств, аналогичных (5.4), (5.5), (5.7), где вместо 2п
будет стоять некоторое т<2". Если при этом обратное
отображение обладает свойством непрерывности, а именно изменению
кода в «малом» числе разрядов соответствует изменение функции
в «малом» числе разрядов, то можно применять вариационный
принцип.
4 Р. Г. Нигмаяулин 97
Комментарии
1. Первые статистические свойства д.н.ф. (лемма 4) были установлены
Ю. И. Журавлевым [18]. Технику двудольных графов к д.н.ф. применил
B. В. Глаголев [13, 14], которому принадлежат леммы 3, 5 и теорема 1. Более
подробные сведения по статистическим свойствам д.н.ф. можно найти в работах
[11, 83].
2. Лемма 6 для оценки сложности схем впервые была применена К. Э.
Шенноном [190] (лемма 12) и им же вместе с Дж. Риорданом [180] (лемма 14).
Описанную в § 2 технику подсчета числа схем из функциональных элементов
можно найти в работе М. Патерсона [165]. Более точная оценка, требующая
несколько больше выкладок, описана О. Б. Лупановым [48]. При изложении
лемм 10—14 автор почти дословно следовал работе [48].
3. Эффект Шеннона для целого ряда классов схем был установлен О. Б.
Лупановым [44—46] и впоследствии для других классов схем и функций другими
авторами (см. например, [109, 56, 70, 27, 32, 41]). Автору представляется
справедливым ввиду больших заслуг О. Б. Лупанова в установлении этого
эффекта присоединить его имя к имени Шеннона в названии этого эффекта.
4. Вариационный принцип описан в работе [61], его модификация для
монотонных функций — в работе [65].
Эффект или полуэффект Шеннона наблюдаются для столь широкого круга
схем, что возникает вопрос: а есть ли вообще такие классы схем, для которых
они не имеют места? О. Б. Лупанову удалось построить такой пример [51]
(схемы из функциональных элементов с задержками), использовав явление
несоизмеримости задержек. Более простых примеров схем с таким свойством
пока не обнаружено. Кандидатами могут служить, видимо, некоторые схемы с
ограничениями, например, контактные схемы без нулевых цепей [72].
Хотя полуэффект Шеннона для д.н.ф. установлен еще в 1967 г., до сих пор
неизвестно числовое значение асимптотики сложности почти всех функций из Р$.
Оценки, даваемые теоремами 1 и 2, отличаются по порядку в log log п раз.
Лишь в 1981 г. А. Д. Коршунов [34], предложив новый метод синтеза д.н.ф.,
2"
сумел найти порядок асимптотики сложности — -. : ; . После того как
logrt log log/i
C. Е. Кузнецов [40] в два раза усилил нижнюю оценку теоремы 1, а А. Д.
Коршунов [35] усилил свою верхнюю оценку из [34], разрыв между верхней и
нижней оценками уменьшился до величины 2,63 раза.
Упражнения
1. Найти среднее число максимальных /г-мерных интервалов у функций из
РЪ (ср. с леммой 3, [11]).
2. Применить технику нумерации элементов схемы из § 2 для оценки числа
контактных схем.
3. Какие соображения заставляют выбрать р(п) и q(n) такими, как в (5.7)?
4. Применить вариационный принцип для установления полуэффекта
Шеннона для П-схем.
ГЛАВА 6
ИНВАРИАНТНЫЕ КЛАССЫ.
ПРИНЦИП ЛОКАЛЬНОГО КОДИРОВАНИЯ
В гл. 4 были рассмотрены методы, позволяющие строить
экономные схемы для почти всех булевых функций. Однако функции,
встречающиеся на практике, как правило, подчиняются
некоторым закономерностям, позволяющим выделить их из массы почти
всех функций. Поэтому следует ожидать, что они могут быть
реализованы проще, нежели почти все функции. Вопросам
выделения таких классов функций уделял внимание еще К. Э.
Шеннон. Примерами таких функций могут служить монотонные,
симметрические, линейные функции, функции с данным числом
единиц и др. Широкое семейство классов таких функций
(инвариантные классы) в параметризованном виде описал С. В. Яблонский.
Мощное средство построения экономных схем для
«регулярных» функций дает принцип локального кодирования,
разработанный О. Б. Лупановым. Его удобнее всего применять к
схемам из функциональных элементов. Этот принцип путем
кодирования функции сводит задачу синтеза к реализации функций от
меньшего числа переменных. Хороший язык программирования
позволяет, как правило, экономно реализовывать функции,
допускающие простое описание (кодирование). Однако это верно
только до определенных пределов: последовательность самых
сложных в классе схем из функциональных элементов функций
описана десятью словами, но имеет по определению очень
высокую схемную сложность. Спрашивается, при каких условиях
коротко кодируемые функции имеют малую сложность? Принцип
локального кодирования дает такое достаточное условие —
кодирование должно быть локальным. Это означает, что для
вычисления значения функции в каждой точке достаточно знать только
кусок описания (кода). Ввиду большой универсальности этого
принципа его применение к конкретным классам может
потребовать решения дополнительных задач, но центральная идея —
локальность кодирования — остается неизменной.
Поскольку в этой главе рассматриваются только схемы из
функциональных элементов, мы будем называть их просто
схемами, а их сложность обозначать просто L.
99
§ 1. Реализация симметрических функций
Функция f(x\,..., хп) называется симметрической, если она
инвариантна относительно любой перестановки переменных.
Следовательно, она принимает одно и то же значение на всех
наборах с данным числом единиц. Поэтому симметрическая функция
}(х\,..., хп) полностью определяется последовательностью я =
= (ло, ль .-., ял), где я/ — значение функции / на (любом) наборе,
содержащем / единиц и и—-/ нулей. Поскольку соответствие
между симметрическими функциями / и наборами я длины л + 1
взаимно однозначно, то число симметрических функций от п
переменных равно 2Л"Н. Очевидно, что набор я может служить
кодом функции /, причем это кодирование обладает свойством
локальности: для вычисления значения функции f на конкретном
наборе <т= (ai,..., оп) достаточно знать только кусок кода (в
данном случае это один разряд с номером /, если o\ + ... + on=i).
Схема для симметрической функции строится из двух блоков
(рис. 30).
xi хп
*л
А
—ГГ"
Рис. 30
Блок 2П реализует (я, ]log(/i + l) [)-оператор, который по
набору 5= (аи •••> <*«) выдает сумму его цифр (т. е. число единиц в
наборе a) ai+... + an, представленную в двоичной системе с
использованием ]log(n + l)[ разрядов. Поскольку эта сумма
принимает значения от 0 до м, то такого числа разрядов достаточно.
Блок А по двоичной записи числа i единиц в наборе а выдает
я/, т. е. значение симметрической функции на наборах с /
единицами.
Оценим предварительно сложность оператора Слн сложения
двух ^-разрядных двоичных чисел. Это (2ft, k-\-1) -оператор,
который по двоичным представлениям jc*_i, Jt*_2,..., х0 и y*_i,
Ук-2> ..., Уо чисел х и у находит их сумму z в виде двоичного слова
z*, Zk- и —э 2о (напомним, что по определению двоичного представ-
*-i
ления чисел х= £ХР*)- Будем реализовывать этот оператор
/=о
схемами в базисе Pi, состоящем из всех двуместных функций.
Рис. 31
100
Как мы уже говорили (см. утверждение 3 гл. 2), изменение
базиса может изменить сложность схемы из функциональных
элементов лишь в константу раз. В данном случае выбор базиса Р|
оправдан тем, что именно в нем удается найти минимальные схемы
для оператора Слк.
Утверждение 1. В базисе В = Р%
Ьв(Слк) <5£-3.
Доказательство. Рассмотрим «школьный» алгоритм
сложения чисел. Пусть С;(0<!/^А) обозначает величину переноса
в /-й разряд. Тогда вычисление г\ и c;+i по xh yjf cs(\ </<£ — 1)
можно произвести блоком из 5 элементов (рис. 31), a z* = c*,
2o=*o®t/o, С\=х0у0. □
Обобщая оператор Сл^ обозначим через Слк,1,т оператор
сложения трех двоичных чисел, а именно Л-разрядного,
/-разрядного и т-разрядного.
Следствие. В базисе В = Р\ при 1 </<k
Le(C^,/,,)<5/2.
Действительно, в схеме из утверждения 1 можно считать Со
равным третьему (одноразрядному) слагаемому. □
Перейдем теперь к оценке сложности оператора 2„, который
находит сумму цифр л-разрядного двоичного набора a=(ai,...
..., On): 2„(a,,...,a,:) = (a,,..., ap), где p = ]\og(n + l) [.
Лемма 1. В базисе В = Р\
L*(S„)<5ai.
Доказательство. Рассмотрим сначала случай п = 2р — 1.
Тогда log(n-f-l) есть число целое, и поэтому схема для
оператора Е„ строится проще. Будем вычислять значение суммы
oi + ...-\-on путем многократного сложения пар чисел и еще
одного одноразрядного числа. Так, представив п = 2р — 1 в виде
(2Р~1 — 1) + (2Р_| — 1) + 1, мы видим, что (ai,..., ар) можно найти
как сумму двух (р—1)-разрядных чисел, каждое из которых
является суммой 2р~х — \ цифр набора а, и одного
одноразрядного числа — цифры набора а. В свою очередь, каждое из этих
(р—1) -разрядных чисел найдем как сумму двух (р
—2)-разрядных и одного одноразрядного и т. д., пока не дойдем до
сложения одноразрядных чисел. В целом схема для 2„ будет
складываться из одной схемы для оператора Слр_i,р—i, i, двух схем для
Слр_2.р-2.1,..., 21' схем для Слр_{1+Х1р_{1+Х1, и т. д. и, наконец,
2Р~2 схем для Сли,|. Поэтому ввиду следствия утверждения 1
I*(Zy_,)<£V.5(p-(H-l)) =
= X Ы2*'-1-' = 5(2''-1-р)=5(п-р).
/=1
101
Если же 2Р ' — 1 <А2<2/)— 1, то представим п в виде
п=(2п-1) + (21К '-1)+...+(2"-1)+6(2'"-1),
(6.1)
где б е {1, 2} и р — 1
зующую оператор
J2^ •-!
...,2,
= ps> ps-\> ...> Pi ^ 1. Тогда схему, реали-
2„, можно составить из схем
-2/' -|»
2/"-
(последняя схема в б экземплярах) и схем
сложения. Последовательность соединения блоков видна из рис. 32.
Й5Щ '"ЙМше
Ч^- *f
^
Рис. 32
Отсюда, из верхней оценки для L(22,,_,), утверждения 1 и (6.1)
следует, что в базисе В = Р$
М2Я)< ZL(22ft_I)+eZ.(2s,,_1)+i:L(C^)<
<5(2" - 1 -р,+2"*-> - 1 -р,_, +... + 6(2" - 1 -р,)) +
+ 5(ps + ps-i+...+Pi)<5n. П
Теорема 1. fi базисе Р\ для класса S" симметрических
функций от п переменных справедлива оценка
Lc*3(S")^5n.
Доказательство. Построим схему для произвольной
симметрической функции f(x\,...,x„) в соответствии с рис. 30.
Сложность блока 2„ оценена сверуу в лемме 1. Оценим теперь
сложность блока Л, который по двоичной записи числа /
единиц в наборе б выдает л,. Этот блок реализует некоторую
функцию от ]log(rt + l)[ переменных, и поэтому в соответствии с
102
теоремой 3 гл. 4
пП'чМи + Щ
V 1 log (« + 1) [ v '
Итак, L(f)^L(Zn) +L(A)^5n. Поскольку это неравенство
справедливо для любой симметрической функции из S'\ теорема
доказана. □
§ 2. Инвариантные классы и их свойства
С. В. Яблонский описал богатое семейство классов «более
простых» функций, которое включает многие известные классы. Эти
классы названы им инвариантными.
Множество функций (?с=Л> называется инвариантным
классом, если наряду с каждой функцией f^Q оно содержит все
функции, получающиеся из / применением следующих трех
операций:
1) добавление и изъятие фиктивных переменных,
2) переименование переменных (без отождествления),
3) подстановка констант на места некоторых переменных.
Инвариантными являются, например, классы линейных,
монотонных, симметрических и многих других часто встречающихся
функций. Тривиальным инвариантным классом является Р>.
Понятие инвариантного класса тесно связано со схемными
рассмотрениями, поскольку операции 1—3 имеют очевидную
схемную интерпретацию.
Обозначим через' Q(я) множество функций инвариантного
класса Q, зависящих (не обязательно существенно) от
переменных Х\, ..., х„.
Теорема 2. Последовательность \Q(n) |,/2" стремится, не
возрастая, к пределу, и 1 ^ lim | Q(n) | ,/2"^2 для всякого не-
П-*- оо
пустого инвариантного класса Q.
Доказательство. Пусть /(jti, ..., хп% хп + \)
—произвольная функция из класса Q, зависящая от п +1 переменных.
Рассмотрим разложение
/(*!, ...,*„, X„+\)=Xn+\f(X\ х„ч 1) V*« + i f(x\< ...,*я, 0).
Поскольку f(x х„, 1) и f(x\, ..., Jt„, 0) принадлежат классу Q,
то
\Q(n + l)\<\Q(n)\2.
Следовательно,
IQ(«)l,/2>IQ(« + DI,/2"+'>...
Если Q не пусто, то
l = lx/*l<\Q(n)\l/2*^(2*l)l/*t = 2.
юз
Следовательно, предел последовательности \Q(n)\wr существует
и заключен в сегменте [1, 2]. D
В силу теоремы 2 lim \Q(n) |1/2" можно представить в виде
Л-+-оо
2°, где 0<а^1. Число а является важным параметром
инвариантного класса Q, характеризующим его мощность. Поэтому
иногда мы будем его указывать в качестве индекса при Q.
Очевидно, что если офб, то
|Q0(n)|=2o2/l(, + 4 £п->0 при п-+оо. (6.2)
Следствие. Если инвариантный класс Qa=£P2l то о<1.
В самом деле, если Qa^P2y то при некотором
фиксированном m существует функция g(xiy..., xm) &Qo. Поскольку
последовательность \Qo{n)\x/r не возрастает,
lim|Q<J(n)|'/2"<IQa(m)|,/2"<(22'"-l)^2",<2. D
Л-»-оо
Легко подсчитать, что для классов L, S и М параметр о
равен 0. Очевидно, что для тривиального инвариантного класса
?2 он равен 1. В связи с этими примерами возникает вопрос о
том, существуют ли вообще инвариантные классы с
параметром а, большим 0 и меньшим 1? Для ответа на этот вопрос
рассмотрим класс Q, состоящий из функций f(x\,..., jk„), пред-
ставимых в виде
/(*,, ...,Xn)=lr(Xil9 ...yXir)&g(X\y ..., Х„),
где г — любое целое число от 0 до я, 1Г обозначает любую из
двух линейных функций, зависящих существенно от г
переменных, a g — произвольную функцию, все существенные
переменные которой содержатся среди переменных *,-,,..., xir. Легко
видеть, что Q — инвариантный класс.
Оценим величину \Q(n)\. При г = п функция f(x\,...,xn)
равна 0 в тех 2Л_| точках, где 1п(х\,..., хп) = 0. Поэтому, выбрав
линейную функцию lf равной jci®...©jcn, получим 22" различных
функций feEQ(n). Итак, 22Л" < |Q(n) |.
С другой стороны, при фиксированной функции 1г = Хцф...
...фх1г имеется не более 22' ^22" различных функций
f^Q(n). Число различных линейных функций, зависящихпот
переменных ДС|, ..., х„, равно 2П_М. Поэтому \Q(n) | <2п+,22" .
Итак,
22"~ЧlQ(")l<2"+,22',~,.
ПОЭТОМУ lim|Q(,)r/2" = V2.
П-*-оо
Итак, мы построили пример инвариантного класса Qa, для
которого а=1/2. Можно ли для любого а такого, что O^a^l,
построить инвариантный класс с параметром а? Ответ на этот
вопрос дает следующая
104
Теорема 3. Для любого a (O^a^l) можно построить
инвариантный класс Q такой, что
lim|Q(Az)r/2" = 2a.
Ее доказательство приведено в работе [109]. □
§ 3. Реализация функций из инвариантных классов
Построим схемы из функциональных элементов в базисе
{&, V» "")» реализующие функции из произвольного
инвариантного класса Q„ с параметром а> 0. Такие инвариантные классы
называются ненулевыми.
Теорема 4. Для произвольного ненулевого инвариантного
класса Q 9«
MQ("))<<4'
причем для почти всех функций f из класса Q(n)
L(f)>(l-e)a|
для любого г> 0.
Доказательство. Верхняя оценка. Пусть k —
натуральное число, \^.k^n. Рассмотрим все функции f(x\,..., Xk) из Q.
В силу (6.2) |Q(*)|=2a2*(l+ei)t где e'k-+0 при Л^оо. Поэтому
функции /(лг| , jc/e) из Q можно закодировать двоичными
последовательностями (Л|, ..., Jld) длины
d = ]log|Q(*)|[ = a2*(l+e*), (6.3)
где ek-+0 при /е-^оо, таким образом, что разные функции имеют
разные коды. При фиксированном способе кодирования каждый
разряд я,- кода однозначно определяется кодируемой функцией
f(X\,...,Xk).
Пусть теперь F(xu ..., хп) —произвольная функция из Q,
зависящая от п аргументов. Рассмотрим 2n~k функций, которые
получаются из F при всевозможных подстановках констант
a*+i,...,a„ на места последних /2 — /г переменных функции F.
Очевидно, что кодом функции F(x\y..., хп) может служить
конкатенация 2"~* кодов функций
f (*,,...,**, 0,..., 0, 0), F (*,,...,**, 0,..., 0, 1),...,
F(xu ...,**, a* + i, • ., On), ..., F(x\, ...д*, 1, ..., 1, 1).
Каждая из этих функций, очевидно, принадлежит классу Q(k) и
уже имеет свой код Я|, ..., nd. Для фиксированной функции F
каждый разряд этого кода является функцией переменных
Xft+I, ...,*„: Я; = Я/(**+|, ...ухп) (1=1,..., d).
Построенный код обладает свойством локальности в
следующем смысле: для нахождения значения функции F в
произвольной фиксированной точке (ai, ..., a„) достаточно знать не весь
105
код функции F, а только его кусок
Л| (a*+i, ..., а„), л2(а*+1, ..., а„), ..., л,/(а* + 1 а„).
По этому куску кода однозначно восстанавливается функция
F(x\,..., Xk, OHi,...,on), а из ее таблицы извлекается значение
* „_£ в точке (о , a*, o*+i,..., а„). Схема для
функции F строится в соответствии с этим описанием.
Она состоит из трех блоков (рис. 33).
Блок А строит кусок кода, т. е. реализует
функции л/.(х* + |, ..., х„) (/ = l,...,d). В силу
теоремы 3 гл. 4
nn — k
В I MM*A+I, ..., *я)Х- Г(1+6„_*),
n-k
1^
Рис. 33
где 6„-*-^0 при n — k-+oo. Поэтому систему всех
d функций л, с учетом (6.3) можно реализовать
со сложностью не более
суп — к суп
(1+Л„-*)(1+е*).
n-k ул ' ""-*' "n-k
Строение блока А зависит от исходной функции F.
Блок В производит декодирование. Он по куску кода Л| (ст* + |,...
..., On), ..., л</(а/г + |, ..., оп) восстанавливает функцию F(x\, ..., л:*,
а/?_(_i, ..., оп) в виде столбца ее значений
F(0 О, a*+i, ..., оп), ..., f(oi, ..., a*, a* + a„), ...
.... F(l,..., 1, <t* + i.
<T«).
Блок В реализует 2* функций от d аргументов. В силу теоремы
3 гл. 4 и (6.3)
(1+6,/) =
L(S)<2* — (l+6d) = —k
v 7 ^ d. ' ; ст2*(1+к*)
(С\ и С2 — некоторые константы).
Блок С из столбца значений функции F(xi,...,Xk, a* + i,...
..., оп) выбирает одно значение, соответствующее х\=о\,...
..., Xk = Ok, и подает его на выход. Он реализует простую функцию
от 2k-\-k аргументов, но нас устраивает сейчас очень грубая
оценка
Строение блоков В и С не зависит от исходной функции F.
Таким образом, вся схема содержит не более
s(n, k)=o-£r(\+6n-k)(l+*k)+?<*
n-k
106
элементов. Положим
*=[т|оИ-
Тогда k-^oo, n — k^oo, n — k^n, 2k-^^n и s(n, k)~o—.
Тем самым получена верхняя оценка для L(Q(n)).
Нижняя оценка. Применим мощностной метод Шеннона к
классу Q. Для этого в лемме 6 гл. 5 достаточно заменить
мощность 22" класса P'j на 2о2"(,+к")—мощность класса Q(n).
Действуя, как в лемме 9 гл. 5, имеем для любого е> О
\og(N((l-z)o^, /i)/|Q(/i)|)< ((l-e)o^ + l)(rt-logAi +
+ Ojl))+2(l-e)a-^log(l+(14^)-a2-(l+e,) =
= (-г-ея)а2я + о(2й)-*-оо.
Этим доказана нижняя оценка. □
Следствие 1. Если для инвариантного класса Q о = О, то
L(Q(n))=o(2"/n).
Для доказательства достаточно заметить, что при о = 0
сложность блока А есть о(2п/п). □
Следствие 2. Для каждого инвариантного класса Q
(O^a^l) имеет место соотношение
,. L{Q{n))
Оно фактически объединяет утверждения теоремы 4 и
следствия 1 настоящей глам.1 и теоремы 3 гл. 5. □
§ 4. Принцип локального кодирования
При реализации функций из инвариантных классов в § 3
был использован принцип локального кодирования,
разработанный О. Б. Лупановым. Этот весьма общий принцип путем
кодирования сводит реализацию функций из заданного класса к
реализации функций от меньшего числа переменных. При этом
кодирование обладает рядом свойств. Во-первых, кодирование
является локальным. Это значит, что для вычисления значения
функции на произвольном фиксированном наборе (<Т|, ..., оп)
достаточно знать только часть кода. Во-вторых, вычисление
значения функции по куску кода (это делали в нашем примере
блоки В и С) осуществляется с существенно меньшей
сложностью, чем сложность всей схемы. Это означает, что в
основном сложность сосредоточена в блоке, вычисляющем кусок кода.
В-третьих, кодирование является «асимптотически наиболее
экономным». В нашем примере длина кода 2n~kd~a2n~ log| Q(n) |.
Впрочем, последнее условие не является обязательным: если оно
107
выполнено, схемы получаются «асимптотически наилучшими» для
достаточно мощных классов; если оно не выполнено, схемы не
будут «асимптотически наилучшими», но все же могут
оказаться достаточно хорошими.
Очевидно, что всякая функция допускает тривиальное
локальное кодирование — достаточно кодом функции объявить
столбец ее значений. Но при таком кодировании для многих
функций получаются неоправданно сложные схемы. Схема
оказывается тем проще, чем короче код. Точнее говоря, при
«малой» сложности декодирования сложность схемы тем меньше,
чем ближе длина кода к логарифму числа рассматриваемых
функций или операторов.
Принцип локального кодирования имеет несколько
модификаций:
1) «принцип равномерного кодирования» — когда куски
кода имеют одинаковую длину и не пересекаются;
2) «принцип неравномерного кодирования» — когда куски
кода могут иметь различную длину и пересекаться;
3) «принцип параметризации» — когда кусок кода состоит
из одного разряда.
В § 3 мы имели дело с равномерным кодированием. Опишем
его несколько подробнее. Итак, пусть F есть (я, т)-оператор,
и пусть ему можно поставить в соответствие:
1) код л = (ль ..., л/,) длины h = dr, разбитый на г кусков,
каждый длины d\
2) оператор А^ (выбора куска кода), т. е. (п, /)-оператор
(/ = ]logr[), который по набору значений аргументов (<п,...
..., оп) определяет номер куска кода, содержащего информацию
о значении оператора F в точке аь ..., а„;
3) оператор А{Р (декодирования), т. е. (n-\-t + d,
т)-оператор, который по набору значений аргументов, куску кода и
номеру куска кода вычисляет значение оператора F на наборе
(<j|,..., а„).
Обозначим символом А (/, с?)-оператор, который по номеру
куска длины / выдает этот кусок длины d. Тогда оператор F
можно представить в следующем виде:
F(x)=Ap(x, А(Аф(х)), Аф(х)). (6.4)
Схема строится в соответствии с этим представлением (рис. 34).
При реализации функций из инвариантного класса Q (см. § 3)
эти операторы имеют следующий вид:
1) оператор А^ отсутствует, поскольку в данном примере он
производит тождественное преобразование: роль номера куска
кода играет (ок+\, ..., ая);
2) оператор А построения куска кода реализуется блоком Л,
который содержит основную часть элементов всей схемы;
3) оператор декодирования Л{,2) реализуется двумя блоками
8 и С, которые по куску кода и исходному набору (alt ..., а„)
выдают значение функции F(o\ a„).
108
Представление (6.4) возможно для любого оператора F:
достаточно взять A]p=F(x). Однако в этом случае такое
представление не отвечает на вопрос: как строить экономную схему
для оператора F? Принцип локального кодирования начинает
работать по существу, когда операторы А{р1) и
А^Р «существенно проще», чем исходный
оператор F. А это, в свою очередь, достигается за счет
простого кодирования и декодирования и
подбора соотношения между параметрами A, d и п.
В этих условиях основной оператор А из
представления (6.4) можно реализовать стандартным
образом как (/, d) -оператор, который может
принимать ненулевые значения лишь на первых
г наборах (ои,..., а/). Обозначим класс таких
операторов через Fu и-г.
Итак, принцип локального кодирования как
«индустриальный» метод реализации функций
и операторов F состоит в следующем: путем
выбора простого способа кодирования,
обладающего свойством локальности и потому
допускающего простую реализацию операторов А^ и А^\
свести задачу к стандартной задаче реализации операторов
из класса F1, dt г.
Для точной формулировки теоремы о сложности получающихся
при этом схем введем предварительно несколько обозначений.
Пусть F={Fiy F2,...}— последовательность классов операторов,
причем F„ состоит из (я, тп)-операторов (не обязательно всех).
Пусть
Рис. 34
//(Fn)=log|Fnl, J(Fn) =
H(Fn)
log Я (Л) '
L(Fn) = maxL(F).
Ff=Fn
Теорема 5 (о сложности схем при применении принципа
равномерного кодирования). Пусть
n + mn = o(J(Fn)) (6.5)
и операторы из Fn допускают равномерное кодирование с
соблюдением условий
hn~H(Fn)y
dn = o(J(Fn))>
L(A<p)=o(J{Fn)), i=l,2.
(6.6)
(6.7)
(6.8)
Тогда
L(Fn)~J(Fn). (6.9)
Замечание 1. Эта теорема дает достаточные условия, при
которых сложность класса операторов определяется мощностью
этого класса.
109
Замечание 2. Содержательный смысл условий теоремы
состоит в следующем. Условие (6.5) означает, что число полюсов
и выходов схемы существенно меньше числа ее элементов,
условие (6.6) — что кодирование операторов является
«асимптотически наилучшим», (6.7) — что длина куска кода существенно
меньше числа элементов схемы, (6.8) — что сложность реализации
вспомогательных операторов А^ и А{Р существенно меньше
сложности всей схемы.
Доказательство. Нижняя оценка получается
применением леммы Шеннона. А именно мы покажем, что число N(k, m, п)
минимальных схем сложности не более /г, имеющих п входов и т
выходов, при k= (1 —b)J(Fn)y где г — произвольное
положительное число, удовлетворяет соотношению N(k% m, п) =o(\Fn\).
Это будет означать, что почти все операторы из Fn имеют
сложность большую, чем (1— e)J(Fn).
Из (6.5) следует, что
H(F„)-+oo4 J(Fn)-+oo. (6.10)
Рассуждая аналогично тому, как при доказательстве леммы 8
гл. 5, и учитывая, что каждая из т выходных вершин выбирается
среди k + n вершин схемы, получим
N(ky m, л)<(9*)*+,(1 + у)" (k + n)m. (6.11)
С учетом соотношений (6.5), (6.10) и (6.11) при k= (1 — e)J(F„)
имеем (для простоты индексы опускаем)
\ogN(k;Fm;n) <((i-e)/ + i)(iog/ + 0(i)) +
\Гп\
+2(l-B)J\og(l + j^)+m(logJ + 0(\))-H =
= {l—t)J\ogJ + 0(J)+o{J\ogJ)—H.
Из (6.10) следует, что/ log/~tf, т. е. / \og J = Н -\-о(Н); поэтому
\ogNlk'm'a) <(1-е)Я+о(Я)-//=-вЯ + о(#)-+-оо.
Итак, нижняя оценка доказана.
Верхняя оценка. Пусть F — произвольный оператор из Fn.
Схему для него будем строить в соответствии с представлением
(6.4) (см. рис. 34). Поэтому
L(F)^L(AP)+L(Ap)+L{A)4 (6.12)
причем оператор А принадлежит FLlLry где
h=dr (6.13)
и / = ]logr[. Очевидно, что
/<logft. (6.14)
по
Из (6.6), (6.13) и определения J (Fn) следует, что
(logd)/r^(\ogh)/r=d(logh)/h~d/J
и в силу (6.7)
(logd)/r-+0. (6.15)
Кроме того, из (6.6) и (6.10) следует, что
dr = h-+oo. (6.16)
Таким образом, для класса FLlLr выполнены условия теоремы 4
гл. 4 (это условия (6.15) и (6.16)). Поэтому
log (dr)
Преобразуем это неравенство:
МЛ)<(см. (6.13), (6.14))<^+0(log/i)<-^ ~/(F„)
(см. (6.6) и определение функции J(Fn)). Из этого соотношения
и из (6.12) и (6.8) получаем L(F)*£J (Fn)- Сопоставление этой
оценки с нижней дает (6.9). □
Принцип неравномерного кодирования применяется, когда код
оператора F состоит из кусков различной длины и они могут
пересекаться. Этот случай сводится к случаю равномерного
кодирования путем преобразования кода так, чтобы
1) сохранилось свойство локальности кода;
2) новые куски кода стали одинаковыми по длине;
3) длина кода изменилась незначительно.
Принцип параметризации является частным случаем обоих
описанных выше принципов.
Мы не будем приводить детали описания этих модификаций
принципа локального кодирования и теоремы о сложности
схем, построенных их применением. Они подробно описаны в
работе О. Б. Лупанова [49].
§ 5. Применения принципа локального кодирования
Большинство известных к настоящему времени
асимптотически точных оценок сложности для функций и операторов из
различных классов обязаны своим появлением принципу
локального кодирования. Надо отметить, что трудности доведения
оценок до асимптотически точных нарастают по мере уменьшения
мощности класса функций. Так, для еще довольно мощного
класса — класса монотонных функций (для которого все же
параметр а равен нулю (см. § 2)) построения § 3 уже не дают
асимптотически точной оценки, и приходится применять
специфическое кодирование и декодирование, чтобы получить
следующую оценку.
ill
Теорема 6. Для класса Мп монотонных функций /(xi, ...
...,*„)
^СФЭ (M)^loglog|MV
Продемонстрируем еще на одном простом примере
применение принципа локального кодирования.
Как обычно, (п, пг)-оператор называется симметрическим,
если каждая из пг функций этого оператора является
симметрической. Класс Sn> m симметрических (я, пг) -операторов
содержит 2(л+,)т операторов.
Теорема 7. Если
log л
то
\0gmn Л /C17v
->оо, —- К), (6.17)
/I*. V. I/C»."»^ 'Лтл
log (птя) '
Доказательство. Применим принцип равномерного
кодирования (теорема 5). Пусть симметрический (пу пг)
-оператор F состоит из пг симметрических функций /i, /2, .., fm- Каждая
из них полностью описывается (см. § 1) своей
последовательностью л. Обозначим эту последовательность для функции
// как л' = (л£, л7,, ..., л'п). Итак, л- есть значение /-й функции
симметрического оператора F на наборе а с / единицами. Тогда
в качестве кода оператора F можно взять строку
(ПО, Ло, ..., Ло , Л|, Л1, ..., Л|, ..., Л/, Л/,..., Л( , ..., Лп, Лл, ..., Лп).
Он состоит из п-\-1 кусков длины т.
Блок А{р] (см. рис. 34) по набору а =(о\у ..., ап) вычисляет
номер /куска, равный сумме о\ + ... + огп. В силу леммы 1
L{Axp])=0{n). (6.18)
Блок А по номеру / куска строит этот кусок кода, т. е. л/,
л?,..., лГ. Блок Лр2) в данном случае производит
тождественное преобразование, поскольку выход блока А — это и есть
значение оператора F на наборе а. Поэтому блок А{р2) здесь
можно опустить.
Нам осталось убедиться, что выполнены условия теоремы 5.
Для этого вспомним, что в нашем случае
#= log|S"-m|=(n+l)/n, (6.19)
log// log((Ai + l)m)' *DZU'
h = (n+l)my (6.21)
d = m. (6.22)
112
Далее из (6.17) следует, что тп-+оо при п^оо. Поэтому
в силу (6.20) и (6.17) выполнено (6.5). Наконец, (6.6) следует
из (6.21) и (6.19); (6.7) —из (6.22), (6.20) и (6.17); (6.8) —из
(6.18), (6.20), (6.17) и того, что L(Af)=0. Итак, все условия
теоремы 5 выполнены.
Поэтому
L(Sn* т)~ (я +1)m ^ пт r-j
^ ' log((n-f l)m) \og(nm)'
Приведем без доказательства еще несколько результатов,
полученных применением принципа локального кодирования.
Бинарное отношение Z. на множестве Вп означает
лексикографическое предшествование. Так, (0, 1, 1, 1, 0) Z. (1, 0, 0, 0, 1).
Лексикографический порядок на множестве Вп есть линейный
порядок, (л, т) -оператор F называется монотонным, если из
aZ.^ следует F(a)/-F(fi).
Теорема 8. Для класса УЯп монотонных (л, п)-операторов
^•"'(зю")-^.
Пусть W1, * — класс функций f(x{y ..., хп) таких, что \N\\=k.
Ясно, что он содержит С*- функций. Введем обозначение l(n, k) =
= min(fc, 2n — k).
Теорема 9. Если
то
/(Я. kn)
log"
сфэ Ч* )'
log 4?
log log ф
Функция / с областью определения Df^Bn и областью
значений {0, 1} называется недоопределенной булевой функцией.
Доопределением такой функции называется любая полностью
определенная булева функция (по нашей прежней
терминологии просто булева функция), совпадающая с / на множестве
Dj. Схема, реализующая какое-либо доопределение функции /,
реализует по определению функцию /.
Недоопределенные булевы функции часто возникают в
приложениях, когда реакция устройства на некоторые
комбинации входных символов может быть произвольной. Естественно
считать, что функция этого устройства на этих комбинациях не
определена.
Обозначим через F(N, п) множество всех недоопределенных
функций f от п аргументов, заданных на N наборах, т. е. таких,
для которых |D/|=yV. Следует ожидать, что чем меньше /V,
тем проще реализуются функции из F(N, л), поскольку при этом
возрастают возможности для более простого доопределения
функции /.
113
Теорема 10. Пусть для некоторого числа 6> 0
последовательность Nn удовлетворяет условию
Nn>n log,+V
Тогда
Lj?«^ (F(N„, п)) - -^
log N„
Комментарии
Большая часть этой главы (§ 1, 3—5) написана по материалам работы
О. Б. Лупанова [49], которой автор следовал почти дословно. Материалы § 2
содержатся в работе С. В. Яблонского [109].
1. Симметрические булевы функции привлекали внимание математиков
еще со времен К. Э. Шеннона [190] своей простотой и естественностью.
Все верхние оценки сложности симметрических функций в классе схем из
функциональных элементов используют конструкцию, описанную в § 1: первый
блок находит сумму цифр набора а , а„ в двоичном виде, второй по этой
сумме выдает значение функции. Трудности получения асимптотически точных
оценок для класса симметрических функций определяются тем, что этот класс
очень «жидок». Поэтому невозможно добиться выполнения условия (6.8)
теоремы 5.
Н. П. Редькин [78] доказал минимальность схемы для сложения двоичных
чисел, описанной в утверждении 1. Рекурсивная схема для реализации блока
£„ нахождения числа единиц в наборе описана в [49]. Более детальная
разработка этой конструкции проведена в [160] (см. также 1183]).
Л. Дж. Стокмейер [193] установил нижнюю оценку сложности L (S") >
^Ъп/2 — О {\) в базисе B = Pi. В той же работе он констатирует, что L{S")^.
<6/i.
Из двублочной конструкции теоремы 1 извлекается верхняя оценка вида
п' в классе формул. Для этого нужно только убедиться, что длины путей от
полюсов до выхода (т. с. глубина) не превышают с\ log я, и после этого
«развернуть» схему в формулу и оценить сложность формулы через ее глубину.
Чтобы получить возможно меньшие значения константы с\ надо искуснее
организовывать суммирование в первом блоке. На этом пути В. М. Храпченко [98]
понизил константу с в базисе |&, V. j до 4,93, а в базисе В = Р-> ее
последовательно понижали Н. Пиппенджер |169] до 3,56. М. Патерсон [166]
до 3,42 и Дж. Питерсон [168] до 3,37. В некоторых специальных базисах
В. М. Храпченко [100] еще больше понизил эти оценки. В классе контактных
схем верхняя оценка, установленная О. Б. Луиановым |50|, имеет вид
LK(:(5")<2/iVIor/i.
2. Понятие инвариантного класса булевых функций введено С. В.
Яблонским [109]. С ним тесно связано понятие правильного алгоритма, о чем будет
идти речь в гл. 7.
3. Теорема 4 применительно к классу контактных схем доказана С. В.
Яблонским [109]. В случае схем из функциональных элементов для реализации
функций из инвариантных классов можно применять принцип локального
кодирования. В этом случае доказательство упрощается. Построение из § 3
проведено О. Б. Лупановым [49].
4. Принцип локального кодирования разработан О. Б. Лупановым [49].
Он дает пример редкостного сочетания эффективности с элегантностью.
Интересный вариант этого принципа описан Е. П. Липатовым [43].
5. Целый ряд' задач на построение асимптотически минимальных схем
(см. теоремы 7—9) применением принципа локального кодирования решил сам
О. Б. Лупанов [49]. Другие результаты § 5 (теоремы 6 и 10) принадлежат
соответственно А. Б. Угольникову [93] (см. также [172]) и Л. А. Шоломову
[102]. Работа Н. Пиппенджера [170] комбинирует результаты теорем 9 и 10:
в ней находится асимптотика функции Шеннона для класса функций F"i,,, с
dT неопределенными элементами и р{\—d)2" единицами в классах схем из
функциональных элементов и формул.
114
Теорема.6 впоследствии была распространена на схемы в монотонном
(неполном) базисе {&, VI. что фактически означает ее усиление. Но сделано это
было же другими методами. Сначала Н. П. Редькин [77] установил порядок
величины иСфэ'(М"), а затем А. Е. Андреев [4) получил асимптотику.
Упражнения
1. Построить схему для оператора Слк в базисе |&, V* I-
2. Найти значение параметра а для инвариантных классов L, S и М.
3. Будет ли кодирование локальным, если функции из некоторого класса
Т(п) перенумеровать числами 0, 1, ... и кодом функции /еЛя) объявить двоичное
представление ее номера?
4. Почему к симметрическим функциям не применима теорема 4?
ГЛАВА 7
НИЖНИЕ ОЦЕНКИ СЛОЖНОСТИ
ШЕННОНОВСКОГО ТИПА. ГИПОТЕЗА ЯБЛОНСКОГО
Мощностной метод Шеннона, описанный в гл. 5,
устанавливает нижние оценки сложности для почти всех булевых функций
(причем очень высокие, а именно экспоненциальные). Однако
он оказывается бессильным, когда речь идет о нижней оценке
сложности конкретной последовательности функций.
Последовательность «самых сложных» функций, для которой методом
Шеннона доказывается экспоненциальная нижняя оценка
сложности, трудно признать конкретной. В самом деле, она не
отличима в массе почти всех булевых функций, например,
в'следующем смысле: ни для какого реально вычислимого предиката,
истинного лишь на нулевой доле булевых функций, мы не в
состоянии доказать его истинность на «самых сложных»
функциях.
Кроме неконкретности последовательность «самых сложных»
функций имеет еще один недостаток — в ее определении
использовано понятие сложности. Поэтому доказательство нижней
оценки сложности для этой последовательности является, по
существу, тавтологией: последовательность сложна, потому что
ее функции по определению отличны от всех простых функций.
В этой главе будут построены последовательности функций
экспоненциальной сложности, свободные от второго
недостатка,— в их определении не присутствует понятие сложности.
Мы увидим, что они в каком-то смысле (либо по построению,
либо по обоснованию нижней оценки сложности) родственны
последовательности самых сложных функций. Что касается
первого недостатка (неконкретности) при построении
последовательности сложных функций, он, по всей вероятности,
непреодолим. Поэтому С. В. Яблонский предложил еще в 1954 г.
рассматривать только такие алгоритмы построения
последовательностей функций, которые не выщепляют из массы функций
одну сложную последовательность, а имеют дело с естественно
заданными классами функций. Такие алгоритмы он назвал
правильными. В § 3 показывается, что построение
последовательности самых сложных функций в классе правильных
алгоритмов требует перебора всех функций из Р2.
116
§ 1. Примитивно-рекурсивное задание последовательности
сложнореализуемых функций
Мы построим последовательность сложнореализуемых
функций, предложенную Л. А. Шоломовым, таким образом, чтобы
вскрыть ее родство с шенноновской последовательностью самых
сложных функций. Под схемами здесь имеются в виду схемы из
функциональных элементов в базисе {&, V» )•
Рассмотрим класс F(ny t) функций из Р\, принимающих не
более / единичных значений. Очевидно, что
F(ny /)= лУоИ"Л
где Яя-k обозначает класс функций /(jci, ..., хп) таких, что \Nj\ =k.
Из теоремы 9 гл. 6 следует, что при достаточно больших / класс
F(n, t) содержит функции сложности не менее
log Ст
(1-е) ^-1— (7.1)
'log log С2.
для любого 8> 0.
Для произвольного натурального А определим подкласс А-
простых функций класса F(ny t) как множество Fnp(n, /, А)
функций f^F(n, /), для которых выполнено неравенство
1 log С'г
Ш)<
2А log log Cr
По определению класса Fn?(ny t, A)
[l log Cr i
-F-wZ**- (7-2)
Рассмотрим последовательность функций fn, i. н(х\9 ...t xn)^
^F(ny t)\Fn?(n% /, А). Из (7.1) и (7.2) видно, что эта
последовательность не пуста. Очевидно, что функции /„, л п являются
А-сложными, т. е. для них выполняется неравенство
1 logC^,
L{U '•ft)> IT i^ql
(при достаточно больших /). В частности, при /, близких к 2п~\
2"
имеем L(/„,/,/,)> с— , а это при сопоставлении с теоремой 3 гл.
5 показывает, что функции /„, /(h являются по порядку самыми
сложными. Итак, мы построили последовательность /«././i(jci, ...
..., хп) функций большой сложности, но это построение ничем
не отличается от шенноновского.
Теперь мы в несколько приемов эффективизируем это
построение, чтобы исключить присутствие сложностных категорий
в определении последовательности /,,, /, л.
117
Пусть {а1, а2, ..., ok\ есть минимальное множество наборов
из В" таких, что каждая функция f^Fn?(n, /, h) обращается
в нуль хотя бы на одном из этих наборов. Первый шаг в эф-
фективизации последовательности /„, t, и заключается в
следующем: возьмем в качестве функции /„. /t /, не любую функцию из
F(ny t)\Fnp(n, t, Л), а функцию, обращающуюся в 1 на наборах
а\ а2, ..., а . Тогда она заведомо отличается от любой функции
из Fnp(n, /, h). Чтобы ее можно было выбрать из множества
F(n% /), должно выполняться неравенство k^t. Покажем, что
для достаточно больших п и h это действительно так.
Ограничимся для простоты случаем / = 2Т (т — натуральное число).
Лемма 1. Пусть / = 2\ где т — натуральное число,
log n=o(t(n))4 /<2"-'. (7.3)
Тогда для любой константы /г^2 найдутся наборы а ', а2, ..., о*
такие, что каждая функция f^Fn{)(n, /, h) обращается в нуль
хотя бы на одном наборе ст'(1</</г), причем для всех
достаточно больших п
£<2т-/,+ 2.
Доказател ьство. Оценим сначала число функций класса
Fnp. Оно, очевидно, не превосходит числа N(L, п) минимальных
схем сложности не более
1 log С[)П
2" log log C'r
Из (7.3) ясно, что
n = o(L). (7.4)
Воспользовавшись леммой 8 гл. 5, получим
|/>(л, /, А)|< N(L, n)<Z/,,+"ih).
Отсюда
logl/Vrt, /, h)\ <L(l+o(l))logL <
I log С'
< *, , U ('°g log c:>"-,0S loS loS C-/z)(l +o(1)) <
2" log log C[f - . "
<l|ogC,(l+o(l)). (7.5)
Расположим все функции из Fnp (я, /, /г) в некотором порядке
и занумеруем их: /|, /2, ..., //V (N = \ Fnp (/г, /, h)\). Из столбцов
значений функций /i, ..., /v образуем (2"Х Л/)-матрицу, поместив на
пересечении /-й строки (/ = 1, ..., 2") и /-го столбца (/= 1, ..., N)
значение функции // на i-ы наборе из В".
Используем градиентный метод (см. § 7 гл. 4) для
выделения множества строк, покрывающих все столбцы (здесь /-я строка
покрывает /-й столбец, если на их пересечении стоит нуль).
Напомним, что один шаг этого алгоритма применительно к нашей за-
118
даче заключается в следующем: отобрать в покрытие строку с
наибольшим количеством нулей и вычеркнуть из матрицы эту строку
и все покрытые ею столбцы. Оценим число k шагов этого
алгоритма.
Пусть Ts — матрица, полученная после s-ro шага, a Ns — число
столбцов в ней. По определению класса Fnp(ny t, h) каждый
столбец матрицы Ts-\ содержит не менее 2" — Т нулей, а во всей
матрице 7\ч_| нулей не меньше Ns-\ (2" — 2Т). Поэтому в Гч_|
найдется строка а\ которая содержит не менее Ns-\ (2" — 2Т)/2П
нулей. Следовательно, после s-ro шага получим матрицу Ts с числом
столбцов
2" 2"
Отсюда
Ns^Ns-i 2Т-" <yV.s._2 22(T-/0 <...<N2-V(T-'0.
Легко видеть, что при
—IKI+'
выполнено соотношение
NS()^N2s«{T-n)<\.
Это означает, что /VS() = 0, и, следовательно, число шагов алгоритма
не превышает s<>. Поэтому с учетом (7.5) и п = о (log С*п) имеем
*<S0=[l2^|+l<_|.logCril-!-(H-O(l)).
in— т ] 2 г п— т
Отсюда
logfc< log log С2; — log (« — т) — h + o(l). (7.6)
Для оценки первого слагаемого правой части воспользуемся
соотношением
ft! ft" V b'
Имеем
logC2;,<2T log^f <Т(п — т + 2) <2т.3(/г —т). (7.7)
Подставляя это неравенство в (7.6), получаем
logfc<x+ log3 + \og(n — т) — log (лг — т) — А + о(1).
Это означает, что для всех достаточно больших п
*<2Т"Л+2,
т. е. для h > 2 *</. □
119
Замечание. Легко видеть из доказательства леммы, что
функция, которая по /г, т, h и / (i^k) строит набор а', может быть
взята примитивно-рекурсивной (п. р.). Точнее говоря, эта п. р.
функция ф(я, т, Л, /) строит не сам набор а', а число, двоичной
записью которого является набор а'. Обозначим это число так:
Целое (&).
Из леммы 1 видно, что при h ^2 и достаточно больших п
k^.ty и, следовательно, последовательность функций /п./,л,
равных 1 на наборах а1, а2,..., а*, принадлежит множеству
F(ny t)\Fnp(n, /, h). Последовательность /„,/,,, стала более
конструктивной, но ее определение по-прежнему использует сложност-
ные категории. Чтобы освободиться от этой зависимости, сделаем
еще один шаг в направлении конструктивизации
последовательности. Для этого прибегнем к нумерациям п. р. функций.
Конструктивизация последовательности /„./,*. Занумеруем пары
натуральных чисел (включая 0) числами 1, 2, ..., сопоставив паре
(/, /) число Р (/, /) = 2' (2/+ 1). Возьмем произвольную вычислимую
нумерацию всех двуместных п. р. функций: сро (z, w), (pi (z, w\ ...
Для произвольных натуральных чисел п и / рассмотрим
множество чисел
Anj= { ф/ (/. /!)|P(i\ /)</). (7.8)
Положим
а (у у \— / !> если Целое (х\ хп) €= An,h (7Q.
gnjKxu...,xn)- | Q есл|| Целое (xj x^ ^ л^ (/.У)
Покажем, что при подходящем выборе h и определенном
соотношении между п и / последовательность g„,, принадлежит
разности F (я, /Д^пр (л, Л Л), т. е. последовательность #„,, — это один
из вариантов последовательности /„././„ отличающийся большей
конструктивностью.
Из (7.8) следует, что gnJ е F (п, t). Осталось показать, что
gn, / ф /> (л, Л А).
Для этого достаточно убедиться, что для всех /(1</</г)
gnt(oi)=\y т. е. Целое (а1) е Л„,/. Мы докажем последнее
соотношение, указав такое число с, что для любого /(1</</г) при
соответствующем z выполняются соотношения: Целое (с?) =
= фс(г, л) и Р(с, 2)</.
Выбор числа с. Предварительно введем ряд обозначений.
Нам удобнее будет иметь дело с двоичными записями
натуральных чисел. Для натурального числа а обозначим символом
Дв (а) двоичное представление числа а минимальной длины,
символом 0" — слово, состоящее из а нулей. Очевидно, что
Целое (Дв(а)) = а, а Дв (Целое (щ ... а,,)) совпадает с а\ ... ар
с точностью до незначащих нулей слева. Легко видеть также,
что Дв (Р(а, Ь)) = Дв(Ь) Юа при ЬфО.
Если а = а\ ... ар— двоичное слово, то через а* обозначим
слово а\ а\ ... ар ар 01. По двоичному слову Дв*{а) Дв (Ь)
однозначно
но восстанавливаются слова Дв (а) и Дв (6), поэтому слово
Дв* (а) Дв (Ь) можно считать кодом пары чисел (а, Ь). Символом
1{а\ ..'. ар) обозначим длину слова щ ... ару т. е. р.
Перейдем от четырехместной функции ф(л, т, A, i) из
замечания к лемме 1 к двуместной функции \|) (г, п) следующим
образом. Если Дв (г) = Дв* (а) Дв* (Ь) Дв (d) 10р (р>0) для некоторых
чисел a, b, d и р, то положим г|э (г, п) = у(п1 1(Дв(г)) + а, b, d)..
В остальных случаях положим г|? (г, п) = 0. Пусть функция г|э (г, я)
в нумерации двуместных п. р. функций имеет номер с, т. е.
1|з(г, n) = %(z, п).
Выбор числа Л. Выберем в качестве значения параметра Л
произвольное натуральное число, удовлетворяющее неравенству
A_2|Iog(A+l)[>c + 2|Iog(c + 2)[ + 9. (7.10)
Нахождение числа z. Пусть п и / удовлетворяют условиям
леммы 1 и п достаточно велико, чтобы выполнялось неравенство
£<2Т-Л+2. (7.11)
Для произвольного i(l^i^k) образуем двоичный набор z' =
= Дв* (с+ 1) Дв* (Л) Дв (/) 1. Оценим его длину с учетом
неравенств (7.10), (7.11) и /(#e(z))<]log(z+l)[:
/(y)<2|log(c + 2)[ + 2 + 2Jlog(A+l)[ + 2 + llog(i+l)[ +
+ 1<Л —с —9 + 4 + т —й + 3+1=т —с—L.
Обозначим через z набор длины т —с— 1, полученный из z!
дописыванием справа некоторого числа нулей. Пусть z = Целое (z).
При этом Дв(г) = г и, во-первых,
фс (Z, /l) = tp(z, я) = ф(л, l(z) + c+ly Л, /) = ф (п, т, А, /) =
= Целое (а'),
а во-вторых,
1(Дв(Р(с, z))) = l(z\Oc) = l(z) + c+l=T,
и, следовательно,
Р(с, г)<2т-1</.
Таким образом, последовательность gn,u определенная
равенством (7.9), начиная с некоторого я, действительно совпадает с
построенной в начале параграфа шенноновским методом
последовательностью fn,t,h- Тем самым доказана следующая
Лемма 2. Если пу t и h удовлетворяют соотношениям (7.3)
и (7.10), то для всех /г, начиная с некоторого,
gn.t(X\, ...,*«) е?(л, t)\Fn?(n, /, А).
Из леммы 2 и определения класса Fnp (л, /, А) немедленно
следует
Теорема 1. Пусть параметр t = t (п) удовлетворяет
соотношениям
log n = o(t(n)\ /<2W-', t = 2\
121
Тогда найдется константа С (зависящая лишь от нумерации
п. р. функций) такая, что при всех п, начиная с некоторого, для
функций gn,t, определенных соотношениями (7.9), выполняется
неравенство
L(gnj(xi хя))>с '7е; •
log log С2„
§ 2. Арифметизация схем из функциональных элементов*)
Другой способ получения высоких нижних оценок сложности,
предложенный Л. Дж. Стокмейером, заключается в арифметиза-
ции схем. При этом схемы и булевы функции представляются
числами, а утверждения типа «схема S реализует функцию /» —
некоторой формулой, которая при стандартной интерпретации
истинна тогда и только тогда, когда схема S действительно
реализует функцию /. Если такая арифметизация в подходящей
формальной теории проделана, то можно построить предложение
этой теории, которое представляет собой шенноновское
утверждение «существует функция /о(*и •.., xm\ отличная от всех функций
сложности не более А (пг)» (при надлежащем выборе А (пг)),
и далее предложение, значение истинности которого (при
стандартной интерпретации) совпадает со значением функции /0 (х\
.... Хщ) на соответствующем наборе значений переменных х\, ..., х,„.
Тем самым вычисление значений функции /Y, можно свести к
распознаванию истинности предложений формальной теории. Если
показать, что сложность этого сведения «небольшая», то будет
получена «высокая» нижняя оценка сложности распознавания
истинности предложений этой теории.
Реализация этой идеи требует преодоления ряда технических
трудностей. Продемонстрируем один из возможных вариантов.
Особенностью этого варианта является то, что в
рассматриваемой теории выразимы не все булевы функции и не все схемы, но
и тех и других «достаточно много».
Если х — двоичный набор, то будем обозначать символом
Обцелое (х) число, двоичная запись которого есть слово ху но
прочитанное в обратном порядке. Например, Обцелое (110) = 3.
Пусть N обозначает множество целых неотрицательных чисел,
Л/+ — множество натуральных чисел, т. е. yv+ = yv\{0).
Представление булевых функций. Для z^N обозначим
символом Делители (z) такую булеву функцию m переменных, что для
нее Целители (z)(x)=l тогда и только тогда, когда Обцелое (х)
делит нацело число г. Например, при 2=12 и пг = 4 булева
функция Делители (г) принимает значение 1 в точках 1000, 0100,
1100, 0010, ОНО и ООН.
Будем говорить, что число z представляет булеву функцию
Делители (г). Очевидно, не каждая булева функция может быть
'*) Чтение этого параграфа требует определенных навыков работы с
логической литературой.
122
так представлена. Например, если Делители (г) (0001)= 1, то и
Делители (г) (0010)= 1. Булевы функции вида Делители (г) будем
называть арифметизированными. Чтобы получать для них
высокие нижние оценки сложности, их число должно быть достаточно
велико. Следующее утверждение оценивает снизу число арифме-
тизированных функций.
Лемма 3. Если m > 2 и
F = {f\f<= РЧ1 и (3z)\f= Делители (z)\l
то
\F\^22'""/m.
Доказательство. Пусть X = {х ^ Bm \ Обцелое (х) есть
простое число |. Каждое подмножество множества X, очевидно,
определяет представимую булеву функцию, а именно если Гс^,
то 2 = [] Обцелое (х). Поскольку разные числа z представляют
*еА" IVI
разные функции, то \F\^z '.
Пусть л (г) обозначает число простых чисел, не превышающих
z. Нам понадобится следующее хорошо известное утверждение.
Факт 1. Для z>2
Ir^- <л(г) <9г^-.
4 log z v ' log г
Доказательство см., например, в [162].
При ш^2 из него следует
|Х|=л(2/"-1)=л(2ш)>2"'-2/^. □
Представление схем. Теперь перейдем к представлению схем
из функциональных элементов парами чисел. Для простоты будем
рассматривать схемы в базисе В = {Д состоящем из одной
функции,— штриха Шеффера. Напомним, что по определению х/у =
= х&у . Легко видеть, что базис В полон. Под схемной
сложностью в этом параграфе понимается сложность в классе схем из
функциональных элементов в базисе В = [/}. Отметим одно
очевидное свойство схем.
Утверждение 1. Если L (/) < р, то существует схема
сложности р, реализующая функцию /.
Действительно, добавив новый элемент и взяв в качестве его
родителей две произвольные вершины, получим эквивалентную
схему. □
Пусть S есть произвольная схема с m полюсами и / — m
элементами. Занумеруем в схеме S полюсы лг0, х\, ..., хт-\
соответственно числами 0, 1,..., т— 1, а внутренние вершины числами
ш, т-\-1, ..., /— 1 в той последовательности, в какой вычисляются
функции в этих вершинах схемы; номер /— 1 присваивается
выходной вершине. Тогда для любой внутренней вершины а и любого
ее предка / (будь это полюс или внутренняя вершина)
выполняется неравенство /<а. Схему S, очевидно, можно закодиро-
123
вать последовательностью / — пг пар рт, ...,р/_|, где пара ра
состоит из номеров вершин-родителей вершины а. Отсюда вытекает
Утверждение 2. Число схем из функциональных
элементов в базисе В = {/}, реализующих функции пг переменных и
имеющих сложность не более t — m, не превышает
(/_l)2«-m) (/_т+1).
Подобно оценке (5.2) из гл. 5, эта оценка, конечно, очень
груба. Но мы удовлетворимся ею, поскольку цель этого
параграфа состоит в получении не асимптотически точных нижних оценок
сложности, а просто оценок вида А/1 с некоторой константой К > 1.
Будем говорить, что пара чисел и> v^N+ представляет схему
сложности t — пг с пг полюсами, если для каждого элемента
a(m<a<f—1) и его родителей i и / (очевидно, 0</, /<а)
имеют место равенства
/ == и (mod a), 'j = v (mod а).
Если такая пара (и, v) существует, то, очевидно, по этой паре
(и, v) схема сложности t — m с пг полюсами восстанавливается
однозначно. В этом случае схема называется t-схемой (и, v)
(или просто t-схемой).
Предикат «При некоторых и и v существует t-схема (и, v)
с пг полюсами» можно представить формулой
Зи 3v Va 3/ 3/((m^a Л a^t—l)=>
=^(/==и (mod a) Л /—*> (m°d a)))- (7.12)
Как и в случае булевых функций, не все схемы могут быть
представлены парой чисел, но, как показывает нижеследующая
лемма, для каждой схемы существует эквивалентная ей t-схема
(и, v), не столь уж значительно отличающаяся от нее по сложности.
Лемма 4. Пусть S есть схема сложности р с пг
входами, a t — 1 — простое число, являющееся решением уравнения
л (/ — 1) = л (пг— 1) + р. Тогда существуют числа и, v^N+ такие,
что t-схема (и, v) эквивалентна S.
Доказательство. Перенумеруем элементы схемы S,
используя в новой нумерации последовательно простые числа,
большие т—1. А именно элемент, имевший номер й, получит в
качестве нового номера значение (k — m+l)-ro по величине
простого числа, большего пг — 1. Тогда номером последнего
(выходного) элемента схемы S будет простое число /— 1,
удовлетворяющее равенству р = п (t— I) — л (пг— \).
В силу китайской теоремы об остатках *) существуют числа
и и v такие, что для всех простых чисел ai,..., aPl являющихся
номерами элементов, и родителей /|, /i, ..., /р, jp этих элементов
(0</s, js<as)is = u(modas) и /s^u(modas) (1 <s<p).
Поэтому при новой нумерации схема S почти является t-схемой
(и, v). Это «почти» состоит в том, что в новой нумерации есть
"*) С этой теоремой можно ознакомиться, например, по книге [150, с. 305
(в русском издании)].
124
«дыры»: не все числа из отрезка [0, 1,..., /— 11 участвуют в
нумерации. Для устранения этого недостатка добавим новые элементы,
занумеровав их составными числами из отрезка [т, /— 1]. Входы
нового элемента с номером Ь присоединим к выходам элементов
i и /, где l = u(mod 6), / = i>(mod Ь). Очевидно, что при этом
функция выходной вершины не изменится. □
Шенноновская нижняя оценка. Итак, мы выделили подкласс
(см. лемму 3) функций, представимых числами (арифметизиро-
ванные функции), и подкласс схем, представимых парами чисел
(t-схемы (и, v)). Теперь можно, применяя мощностной метод
Шеннона, доказать существование сложных арифметизированных
функций при реализации t-схемами (и, v).
Лемма 5. Если /п>2и
£<m-3|logm[-3, (7.13)
то существует z^lN такое, что булева функция Делители (z)
от ш переменных не реализуется никакой t-схемой (и, v) при
*<2*+1.
Доказательство. Число t-схем (и, v) не превышает числа
обычных схем сложности t — m. Поэтому число различных t-схем
(и, v) при / = m, m-f!,..M 2*+1 не более
22*(*-"+0(2*_т_|_2)
(см. утверждение 2). В силу (7.13) для пг^2
nm — Л (ут — 2
2fe(2*~m+l)+log(2*-m + 2)<2(2*)2fe<2m24i^ = ^--.
Число арифметизированных_2булевых функций пг переменных в
силу леммы 3 не менее 22'" /т. Поэтому в условиях леммы для
некоторой функции Делители (z) не хватит t-схем (и, v) при
*<2*+1. □
Следствие. Существует наименьшее Zo^N такое, что
булева функция Делители (zo) от пг переменных имеет сложность
более 2* +1 — m в классе t-схем, если пг ^ 2 и k удовлетворяет
условию (7.13).
Введем обозначение \п = Делители{?ъ). Функция /0 дает нам
пример сложнореализуемой в классе t-схем {и, v) функции.
Поскольку в конечном итоге нас интересует оценка в классе
обычных схем, оценим теперь снизу /-сфЭ(/о).
Лемма 6. Если k = пг — 3] log пг [ — 3, то для всех т, начиная
с некоторого т0,
^U(M>2*-7*.
Доказательство. Пусть S — минимальная схема для
функции /о, и пусть L(S)=p. Применив к схеме S лемму 4,
делаем вывод, что для простого числа /—1, являющегося
решением уравнения n(t— 1) = л(пг— 1) + р, существует t-схема,
реализующая /о. Согласно следствию леммы 5, />2*+1. Поэтому
125
в силу монотонности функции л(г) и факта 1
р = л(/_1)_л(т_1)>д(2^)^д(т)>|^91^,
а значит, при k = m — 3|log т\ — 3 и всех т, начиная с некоторого
т(),
L(S) = p>^. □
Представление вычислений на входном наборе. Нам осталось
представить вычисление схемы на произвольном входном
наборе х длины т. Пусть d/(j?) (0^/^/—1) есть значение функции
t-схемы S в вершине с номером / на наборе х (т. е. Функ(1у х)).
Будем говорить, что число d = Целое (d/_i, d/_2, ...,'do)
представляет вычисление t-схемы S на двоичном наборе jt = (jt0, *,, ..., Jtm_i).
Очевидно, do = jto, di =jci, ..., dm-\ =xm -i, т. e. d — Обцелое (x) +
+ b-2m для некоторого b^N.
Рассмотрим предикат БитШ, /), который истинен на паре d,
i^N тогда и только тогда, когда коэффициент при 2' в двоичном
представлении d есть 1. Например, поскольку 37=100101, то
Бит (37,5) равен истине^ а Бит (37,3) — лжи. Тогда предикат
«При некоторых и \\ v существует t-схема (и, v) с m полюсами,
вычисляющая функцию Целители (г)» можно представить как
ЭиЭу Va3/3/[((m<a Д а</—1)=>
=*-(/= w(mod а) Д / = y(mod а))) Д
Д VJcЗd[((Oб^лoв(Jc)<2m)=^Э6(d=:Oб^лo^(Jc) + 6.'2,,')) Д
Д (£ar(d, а) о -|(fii*r(d, i) Д £i/7-(d, /))) Д
Д [EuT(dy t— 1)^Зс(г = с-Обцелое(х)))\\. (7.14)
Первые две строки этой формулы утверждают существование
t-схемы (см. (7.12)), третья говорит о том, что на полюсы
схемы подаются соответственно jc0, ...,лс„,_|, четвертая
утверждает, что Функ{а) = Функ{1)/Функ{\\ и пятая, что в выходной
вершине /—1 вычисляется функция Делители (z).
Арифметика целых первого порядка. Теперь нам осталось
подобрать подходящий формальный язык, на котором выразимы
такие предикаты, как «t-схема вычисляет функцию Делители (z)».
Для этого рассмотрим теорию первого порядка неотрицательных
целых двоичных чисел FIA — First Order Integer Arithmetic —
с операциями сложения, умножения и возведения в степень
с основанием 2. Предложения этой теории задаются на языке &,
допускающем двоичные константы и отношения порядка.
Синтаксис языка 3? опишем на языке Бэкуса:
(формула) ::= 3 (переменная) <формула>|
V < переменная) < формула) |
"I (формула) |
(формула) (логическая связка)
(формула)|
126
(формула) Л|
((формула)) |
< атом >
(атом) ::= (терм) (отношение порядка) (терм)
(терм) ::= (терм) + (терм")|
(терм) • (терм) |
|(терм>|
((терм>)|
(переменная) |
(константа)
(переменная) ::= (переменная) (буква) |
(буква)
(буква) ::= а\Ь\с ... y\z
(константа) ::= (константа) (цифра>|
(цифра)
(цифра) :: — 011
(отношение порядка) ::= < | ^ | = | ^Н ^ I >
(логическая связка) ::= Д | V 1=Н^>.
;|(терм> обозначает 2<терм>, и именно это обозначение мы
будем в дальнейшем использовать. Приоритет арифметических
операций обычный (сначала |, затем'*, затем +). Приоритет
логических операций: 1, Д, V» =*% -*=>• Связывание квантором
предшествует логическим операциям. Символ Л играет роль
пустого символа и служит только для выравнивания длин формул.
Обозначим через X алфавит языка Я? (т. е. множество
неопределяемых символов). Заметим, что |2|=47. Длиной
формулы Ф (обозначение |Ф|) называется число вхождений букв
алфавита 2 в запись формулы Ф.
Формула называется предложением, если она не содержит
свободных переменных. Пусть FIA есть множество
предложений в .2% истинных при стандартной интерпретации операций
-f, •, | и т. п., если областью значений переменных является
множество N. Символ Л при определении истинности
предложения игнорируется.
Предикаты /=s=w(moda) и Бит{й, i) выразимы на языке Я?
следующим образом:
jtssu(moda) как 3b(u = b-a-\-i /\i<a), (7.15)
Bur(dJ) как Vr V6(r>2' V d^2-b-2? + r). (7.16)
Чтобы убедиться в корректности формулы Бит(й, /), заметим,
что ее отрицание
3r3b(r<21 Д d = 2-b-2? + r)
истинно тогда и только тогда, когда коэффициент при 2' в
двоичном представлении d равен 0. Формулы i = u(mod а) и Бит(й, i)
содержат соответственно 15 и 21 символов языка &.
Легко видеть, что формула (7.14) написана почти на языке &.
Для окончательного перевода ее на язык S? достаточно заменить
127
в (7.14) выражения вида i = u(mod а) и Бит(с1у /) соответственно
формулами (7.15) и (7.16), а Обцелое (х) на переменную
(например, е), заменяя одновременно х под знаком квантора этой же
переменной (вместо VJc будет, например, Ve), и все скобки сделать
круглыми. Полученную формулу языка & обозначим Вычисляет
(т, /, г). Ее свободными переменными являются /п, / и г. Поэтому
справедливо
Утверждение 3. Число символов в записи формулы
Вычисляет (т, /, г) равно
Ci]logm[ + c2]log/[-f c3}\ogz[ + c4,
где С], Сг, Сз и с а — некоторые константы (которые мы просто
поленились посчитать).
Напишем теперь формулу Простая (т, ft, <г), которая
утверждает существование «простой» t-схемы (а именно с /^2Л+1),
реализующей функцию Делители (z):
3t(t^2k+l Л Вычисляете /, z)).
Очевидно, справедливо (мы значительно загрубляем оценку)
Утверждение 4. Число символов в записи формулы
Простая (m, ft, z) есть 0(m-\-k + z).
Следствие леммы 5 говорит о том, что для любого ft,
удовлетворяющего неравенству (7.13), формула Простая(ту ft, z0)
ложна. Более того, для z0 истинна формула
Vу(~1Простая(m, ft, го) Л (у<z0=>Простая(my ft, у)))у
которая соответствует следствию леммы 5.
Обозначим символом Сложная (х) формулу
3z(Vу(~1 Простая (m, ft, z) Л (у<z =>Простая (т, ft, у))) /\
Л Эс(2 = с-Обцелое(х))).
Утверждение 5. Число символов в записи формулы
Сложная (х) есть 0(m-\-k).
Утверждение 6. При ft, удовлетворяющем условию
(7.13), и ш^2 формула Сложная(х) истинна тогда и только
тогда, когда Обцелое(х) делит нацело zq, т. е. когда f0(x)=l.
Итак, для вычисления сложной функции f0(x) (ее сложность
при фиксированных m и ft оценена в лемме 6) достаточно по
заданному набору б значений переменных построить
предложение Сложная (6) и проверить его истинность.
Отсюда уже ясно, что распознавание истинности предложений
в языке 3? является сложной задачей. Мы можем теперь
построить булеву функцию, которая решает эту задачу, и доказать для
нее высокую нижнюю оценку сложности.
Прежде всего надо рт слов в алфавите 2 перейти к двоичным
наборам. С этой целью символы алфавита 2 (их 47 штук)
закодируем различными двоичными наборами длины 6 (как
именно, не имеет значения). Побуквенно кодируя слова в
алфавите 2, получим их коды.
128
Пусть FIA(n) — множество слов длины п языка FIA, т. е.
истинных предложений языка &. Заметим, что благодаря
пустому символу Л FIA(n) фактически содержит и все истинные
предложения языка & меньшей длины. Определим булеву
функцию fFIA(n) (у) е Р\п как характеристическую функцию множества
кодов слов из FIA(n\ т. е.
тогда и только тогда, когда у является кодом истинного
предложения языка ^. Таким образом, булева функция fFIA(n) (у)
распознает истинность предложений языка &,
имеющих длину не более п.
Получим для нее нижнюю оценку.
Воспользовавшись утверждением 6 (см. также
сопровождающее его пояснение), получим
Утверждение 7. Пусть т — оператор,
преобразующий набор б в код
предложения Сложная (а), а длина этого предложения
равна п. Тогда (см. рис. 35)
L(fn)^L(x) + L(fFIA{n)). (7.17)
Код {Сложная (х))
Если сложность преобразования а з
Сложная(д) «мала», то неравенство (7.17)
влечет за собой высокую нижнюю оценку
сложности для функции jFIMn).
Теорема 2. Существует такая
константа О О, что при всех п, начиная с некоторого,
Доказательство. Пусть k удовлет- Рис 35
воряет неравенству (7.13). Пользуясь
утверждением 5 и учитывая, что длина набора а равна т, делаем
вывод: длина предложения Сложная (д) есть О(пг).
По заданному п подберем наибольшее /л, при котором длина
предложения Сложная (а) не превосходит п. Если п достаточно
велико, то, очевидно,
пг^С\пу
где с\ — некоторая константа.
Дополним предложение Сложная (а) незначащими символами
Л так, чтобы его длина стала равной п. Тогда длина его кода
будет равна 6п. Поскольку каждая цифра кода зависит не
более чем от одной цифры набора а,
Цт)=0(л).
Отсюда в силу утверждения 7 и леммы 6 следует, что при всех п,
начиная с некоторого,
LtfFiAW)>L{fo)-L(T)>r\
где с — положительная константа. □
5 Р. Г. Нигматулин 129
§ 3. Правильные алгоритмы. Теорема Яблонского
о невозможности элиминации перебора при построении
последовательности самых сложных функций
В предыдущих параграфах были построены две «конкретные»
последовательности сложнореализуемых функций. В обоих
случаях для «выщепления» этих последовательностей были
применены «сильные» средства: нумерации примитивно-рекурсивных
функций в первом примере и формальная теория большой
выразительной силы во втором. Эти средства позволяют
завуалировать родство построенных последовательностей с шенноновской
последовательностью сложных функций. Эти последовательности
столь же «неосязаемы», как и шенноновская: мы не в состоянии
указать ни один простовычислимый нетривиальный предикат,
истинный лишь на нулевой доле булевых функций, которому
они удовлетворяют. С. В. Яблонский еще в 1954 г. (см. [109])
высказал предположение, что этот недостаток является
непреодолимым. Поэтому он предложил исключить из рассмотрения
искусственно выщепленные последовательности функций и
рассматривать только такие функции, которые заданы своими
свойствами. Для уточнения этого подхода он ввел понятие
правильного алгоритма. Алгоритм называется правильным, если при
построении любой бесконечной последовательности функций
//(*!,...,*,) он одновременно строит некоторый инвариантный класс
(см. § 2 гл. 6), включающий эту последовательность. Задание
последовательности как инвариантного класса означает
фактически задание свойств этой последовательности. Заметим, что
одна и та же последовательность может принадлежать
различным инвариантным классам, причем, чем «уже» инвариантный
класс, тем точнее он описывает свойства функций. Поэтому нам
хотелось бы иметь примеры сложнореализуемых функций из
«узких» инвариантных классов. Однако этому желанию
препятствует
Теорема 3 (Яблонского). Любой правильный алгоритм,
строящий последовательность функций {/„(jti, ..., хп)) (ai = 1,2, ...)
со сложностью LC03 (fn) = ^сфэ in)> строит множество всех
функций Р2.
Доказательство. Предположим противное. Пусть
последовательность {fn{x\y ...уХп)} самых сложных функций содержится
в некотором инвариантном классе Q„=£P2. Тогда в силу
следствия теоремы 2 гл. 6 а<1, и поэтому в силу теоремы 4 гл. 6
для любой функции grt(*i,..., xn)eQ<T
(gn)^o2n/n. (7.18)
Но в силу леммы 9 гл. 5 LQ<St3{fn)>2n/n. Сравнение этой оценки
с (7.18) показывает, что последовательность {/rt (х\,..., хп)} не может
содержаться ни в каком инвариантном классе Q„ с а<1. □
В работе [109] С. В. Яблонский трактует этот результат
следующим образом: любой правильный алгоритм, строящий мно-
130
жество{/„ (jci, ..., хп)\(п= 1, 2, ...)самых сложных функций,
производит полный перебор всех функций из Р«2.
Теорема 3 является одним из уточнений весьма общей
гипотезы С. В. Яблонского, которая может быть сформулирована
следующим образом: любой алгоритм, строящий
последовательность самых сложных функций (в классе контактных схем или
булевых формул или схем из функциональных элементов),
требует числа операций не меньшего, нем полный перебор всех
булевых функций.
Комментарии
Важность задачи построения индивидуальных последовательностей булевых
функций, имеющих высокую сложность реализации в классах булевых формул,
контактных схем и схем из функциональных элементов, неоднократно
отмечалась С. В. Яблонским и О. Б. Лупановым (см., например, [52, 112, 202]).
Большой выбор кандидатов в сложные функции предлагает класс Л/Р-полных
языков. Проблема Кука [125] P2-NP дала новый стимул проблеме нижних
оценок сложности.
1. Пример из § 1 построен Л. А. Шоломовым [104]. Применение именно
примитивно-рекурсивных функций для построения функций g„, / не
принципиально. Можно обойтись, как указано в [104], например, классом F>
классификации Ричи [181].
2. Пример из § 2 принадлежит Л. Дж. Стокмейеру [192]. Предложенный
М. Дж. Фишером и А. Р. Мейером (см. [192]) прием сокращения выражений
позволяет заметно уменьшить длину предложения Сложная (а) и за счет
этого еще несколько поднять нижнюю оценку теоремы 2. Арифметизацию схем
можно проводить, разумеется, по-разному. В работе [194] приведен пример
еще одной арифметизации.
Описанный в § 2 прием арифметизации был предложен А. Р. Мейером [157]
применительно к машинам Тьюринга и позволил получить
суперэкспоненциальные нижние оценки сложности для числа ячеек ленты машины Тьюринга,
требуемых для распознавания истинности предложений в слабой монадической теории
второго порядка следования. Впоследствии этот же прием был с успехом
использован А. Р. Мейером и Л. Дж. Стокмейером [156], X. Б. Хантом [147] и другими.
3. В гипотезе Яблонского впервые нашла выражение мысль об
алгоритмических трудностях построения последовательности самых сложных функций.
Примеры сложнореализуемых функций, построенные в § 1 и 2, находятся в
полном соответствии с этой гипотезой. Действительно, фактическое построение
последовательности #„., (например, в виде таблицы) или распознавание
истинности предложения Сложная (а) во всех точках а производятся с числом
действий, даже большим чем 2 .
Хотя в гипотезе Яблонского речь идет о последовательности самых сложных
функций, ее можно, по-видимому, распространить на «достаточно сложные»
функции. Но более точная формулировка гипотезы станет труднее.
Теорема 3 доказана С. В. Яблонским [109] применительно к контактным
схемам, но там же отмечено, что подобный результат должен иметь место и
для других классов схем.
Для функций с очень малым числом переменных (4 или 5) самые сложные
функции построены [7, 26, 161]. Для сокращения перебора при этом
используется понятие типа функции и строятся каталоги минимальных схем.
Упражнения
1. Найти табличное задание функции Делители (60).
2. Найти t-схему (и, у), эквивалентную схеме (0,1), (1,2), (3,2), (0,4),
(5,6) (здесь ш = 3). Какое число d представляет вычисление этой схемы на
наборе (0, 1, 1)?
3. Почему двоичное представление числа d> представляющего вычисление
схемы на двоичном наборе х, начинается с обращенного х?
ГЛАВА 8
ЭФФЕКТИВНЫЕ НИЖНИЕ ОЦЕНКИ
СЛОЖНОСТИ
В гл. 7 были приведены примеры функций, имеющих
высокую схемную сложность реализации. Однако эти функции заданы
неэффективно в том смысле, что для явного задания этих
функций (например, в виде таблицы) требуется практически
неосуществимый объем вычислительной работы. Целью этой главы
является построение нижних оценок сложности для эффективно
заданных функций, т. е. функций, которые можно задать явно.
В соответствии с гипотезой Яблонского для таких функций можно
ожидать только невысокие нижние оценки сложности *).
Действительно, все полученные к настоящему времени эффективные
нижние оценки сложности не превышают п /2.
Величина эффективных нижних оценок сложности зависит
от ряда обстоятельств: от класса схем, от базиса, от степени
эффективности задания функции и степени эффективности
доказательства. Более высокие оценки получаются в классе формул
в конкретном базисе {&, V» }» наиболее низкие (линейные) —
в классе схем из функциональных элементов. Большим
открытым вопросом является: можно ли в классе формул в
произвольном базисе получить эффективную нижнюю оценку по
порядку выше чем я2? Столь же трудным является вопрос: можно
ли получить эффективную нелинейную нижнюю оценку
сложности в классе схем из функциональных элементов? Заметим,
что серьезным препятствием для отрицательного ответа на эти
вопросы является неформализованность понятия «эффективная
нижняя оценка сложности».
Хотя число работ по эффективным нижним оценкам
сложности обозримо, тем не менее, как отметил О. Б. Лупанов [53],
их трудно классифицировать по применяемым методам. Поэтому
здесь будут описаны лишь те методы, которые имеют большую
применимость. Заметим попутно, что каждый из известных
методов имеет ограниченную применимость.
*) Речь идет, разумеется, только о «сильных» схемах, а не о д.н.ф. Для
последних еще в гл. 2 (теорема 6) была получена нижняя оценка 2"~' для вполне
эффективной линейной функции. Для д.н.ф. проблема нижних оценок сложности
остро не стоит.
132
§ 1. Сложность линейной функции в классе
контактных схем
В § 3- гл. 2 были построены контактные схемы сложности
4я — 4 (см. рис. 8), реализующие линейные функции /„ и /„
при я ^2. Сейчас мы докажем минимальность этих схем.
Утверждение 1. LKC(/«) = LKC(/n).
Доказательство вытекает из следующего свойства линейной
функции: при замене^ любой переменной в 1п на ее отрицание
получается функция 1п и наоборот. □
Обозначим через rrii(S) число контактов переменной х{ (как
замыкающих, так и размыкающих) в схеме S. Положим
m(S) = max trii(S), т (/) = min т (5), (8.1)
I < i < n
где минимум берется по всем схемам S, реализующим
функцию /. Аналогично утверждению 1 ^доказывается
Утверждение 2. m(/n) = m(/n).
Лемма 1. т (/„) — неубывающая функция от п.
Доказательство. Выберем схему S, реализующую 1п и
такую, что
m(S) = m(ln). (8.2)
Из схемы S удалим все контакты хп, а контакты хп заменим
коротким замыканием. Полученная схема S' реализует, очевидно,
функцию /л_| (jci, ..., xn-i). Для нее
m(S')^m(S). (8.3)
По определению (8.1)
m(/n-iKm(S'). (8.4)
Из неравенств (8.2) — (8.4) получаем требуемое
утверждение. □
Лемма 2. L (/„)>L (/„_,)+m (/„).
Доказательство. Пусть S — минимальная контактная
схема, реализующая /„. Поскольку функция 1п симметрическая,
можно считать, что mn(S) = m(S). Положив в схеме S хп = 0,
получим схему 5', реализующую 1п-\. Имеем
L (ln) = L(S) = L (S') + m(S)^L (/„_,) + m (/„). □
Следствие. Для любого натурального п0 (1 ^по^п— 1)
L (/„)> L (lJ + (n-no) m (/no+1). (8.5)
Доказательство получается повторным применением лемм 2
и 1. □
Теорема 1. LKC(ln) = LKC(ln) = 4n — 4 при я>2.
Доказательство. Верхняя оценка доказана в § 3 гл. 2.
Для доказательства нижней оценки сформулируем прежде
всего следующее очевидное
133
Утверждение 3. Обе линейные функции 1п и 1п при
п^2 немонотонны по каждой из своих переменных.
Следовательно, для каждой переменной в схеме для /„ должны
присутствовать хотя бы по одному замыкающему и
размыкающему контакту. Поэтому LKC(/2)>4, что дает требуемую нижнюю
оценку при п = 2.
Однако если в (8.5) взять ai0 = 2, то мы еще не получим
оценку 4/2 — 4, поскольку т(/3)<3 (что видно из рис. 36).
Поэтому приходится брать в (8.5) n() = 3 и доказывать неравенства
L(/3)^8 и т(/4)^4. Оба их можно доказать перебором.
Однако грубый перебор (особенно во втором случае)
становится трудно осуществимым. Поэтому воспользуемся следующим
утверждением вспомогательного характера.
«г
Ху
х\
Z \/
к/у
Рис. 36
/z
а о— • •
х(ш z и
а о J • • J о Ь
Рис. 37
Лемма 3. Не существует контактной схемы, реализующей
функцию /3 и содержащей ровно по два замыкающих и одному
размыкающему контакту каждой переменной.
Доказательство. Предположим, что та_кая схема
существует. Она содержит цепи с проводимостями ху z , х yz: , х у г,
xyz и никаких других цепей с ненулевой проводимостью не
содержит.
Если бы какой-нибудь полюс этой схемыбыл инцидентен
двум размыкающим контактам, скажем х и у , то в схеме не
могло бы быть цепи xyz. Отсюда следует, что один из
размыкающих контактов, скажем контакт z , не инцидентен ни
одному из полюсо^ _
В цепи ху z между контактом^ и одним полюсом, например
полюсом а, расположен контакт у (и, быть может, контакт jc),
а между z и другим полюсом Ь расположен контакт х (и, быть
может, второй контакт х) — рис. 37. Аналогично устроена цепь
х yz , проходящая через тот же контакт z , причем полюс а
(полюс Ь) находится с той же стороны (иначе в схеме имелась
бы^цепь xyz или ху) —рис. 37. Очевидно, j^to оба контакта х
и у не инцидентны полюсу Ь. Поэтому цепь xyz проходит (в
направлении от Ь к а) сначала через контакт z (и^ быть может,
второй контакт z), а затем либо через контакт дс^либо через
контакт у. В первом случае схема содержит цепь xyz (или ее
часть), а во втором случае — цепь xyz (или ее часть), что
невозможно. □
134
Лемма 4. т (/4)^4.
Доказательство от противного. Предположим, что существует
схема S, реализующая /4 и содержащая не более 3 контактов
каждой переменной. Не теряя общности, можно считать, что
она содержит ровно по 3 контакта каждой переменной. В силу
утверждения 3 в схеме S содержится и замыкающий, и
размыкающий контакт каждой переменной.
Подстановками *,—►*,- добьемся того, чтобы преобразованная
схема S' содержала по два замыкающих и одному размыкающему
контакту каждой из переменных. Схема S' реализует одну из
линейных функций: /4 или /4. Подставим теперь х4 = 0 в первом
случае и jc4=1 во втором. В итоге получится схема, содержащая
по два замыкающих и одному размыкающему контакту каждой
переменной и реализующая функцию /3, что противоречит
лемме 3. □
Лемма 5. L (/.*)>8.
Доказательство от противного. Пусть схема S, реализующая
/з, содержит 7 контактов. Не теряя общности, можно считать,
что это ко1ггакты ху х, у, у, z°y zayz°. Если <т = 0, заменим z на
z и у на у. Полученная схема опять реализует /3.
Продублировав замыкающие контакты х и у, получим схему,
эквивалентную исходной. Ее существование противоречит лемме 3. □
Завершим теперь доказательство теоремы 1. Из лемм 4 и 5
и неравенства (8.5) следует
L(/n)>L(/;0 + (n-3)m(/4)>8 + (M-3).4 = 4rt-4. □
§ 2. Сложность линейной функции в классе схем
из функциональных элементов в базисе {&, V» !
В § 3 гл. 2 были построены схемы из функциональных
элементов сложности An —А (при п ^2), реализующие линейные
функции 1п и /„. В этом параграфе показывается минимальность
этих схем. Нижняя оценка будет доказываться даже для более
широкого класса схем, в которых есть два дополнительных
полюса, которые выдают константы 0 и 1. Будем обозначать символом
О любую из операций & или V-
Как и в § 1, доказательство проводится индукцией по числу
переменных. При этом каждой переменной, кроме одной,
сопоставляются 4 элемента схемы (разным переменным разные
элементы). Сопоставление производится по следующему
принципу: подбирается такое значение переменной *,-, которое
обращает выходы по крайней мере четырех элементов в константы.
Для доказательства того, что такая четверка элементов
существует, применяется следующее очевидное
Утверждение 4. Если в схеме S степень полюса х{ равна
1, причем Xi подается на вход двухвходового элемента, на
другой вход которого подается функция и, отличная от константы
135
(рис. 38), то при подстановке подходящих констант на места
переменных Х\, ..., Jt/_i, *,-+i, ..., хп выход схемы S не зависит
ОТ Xi.
Действительно, если О для определенности есть &, то
подберем константы oi, ..., а/_ь a/+i, ..., ап так, чтобы при их
подстановке на места соответственно переменных xi% ..., x,_i, jc,-+i, ..., хп
функция и(х\у ..., л:, 1, jc/ + i, ..., хп) обратилась в 0. При такой
подстановке выход элемента, на вход которого подается jc,
(а значит, и выход схемы S), уже не зависит от х,. □
Такой прием подстановки констант на места некоторых
переменных xjr ..., xjf {jk^i при l^.k^t) с целью отторжения
переменной xi от выхода схемы чрезвычайно широко используется
при доказательстве нижних оценок сложности. Он называется
забиванием переменной х( переменными xjr. ..., х1(У а
соответствующие значения констант
называются забивающими:
Этот прием особенно хорошо
работает на линейных функциях
благодаря следующему их свойству.
Утверждение 5. Линейная
функция в каждой паре соседних
точек принимает противоположные
значения.
Отметим еще два простых
свойства схем в базисе {&, V» I» имею-
Рис- 38 Рис. 39 щих дополнительные входы 0 и 1.
Свойство 1. Если на вход
некоторого элемента схемы
подается тождественный 0 или тождественная 1, то этот элемент можно
удалить из схемы, сохранив функцию схемы.
Рис. 39 иллюстрирует один из случаев этого утверждения.
Свойство 2. Если некоторый элемент схемы реализует
тождественно 0 или 1, то его можно удалить, подав вместо его
выхода на соответствующие входы элементов нуль или единицу.
Лемма 6. Пусть S1™" — произвольная минимальная схема,
реализующая линейную функцию 1п или 1п (п^З). Если в этой
схеме есть полюсы 0 и 1, то найдутся 4 или более элементов,
после удаления которых получится схема S„_i, реализующая
1п—\ или 1п — \-
Доказательство основано на тщательном переборе структур
схем. Упорядочение перебора производится по следующим
признакам:
— есть ли переменная, которая подается на вход инвертора;
— если нет, то существует ли переменная, которая подается
на входы ровно одного или не менее трех элементов схемы.
Схема перебора представлена в табл. 11, 12. Последняя
соответствует случаю, когда каждая переменная подается ровно
на два двухвходовых элемента. Нетрудно убедиться, что эти
таблицы содержат все возможные случаи.
136
Таблица 11
I. Хотя бы одна переменная
подается на вход
инвертора ЕГ
±
±
1.1.
Найдутся хотя бы
два
элемента, на
входы которых
подается
выход
элемента ЕГ
1.2. Выход
элемента Е1~
подается на
вход только
одного
элемента
2. Ни одна переменная не подается на вход
инвертора
J_
2.1.
Найдется
переменная,
которая
подается на входы
более чем
двух
элементов
_L
_1_
2.2.
Найдется
переменная,
которая
подается на вход
только
одного
элемента
_А_
2.3. Каждая
переменная
подается на
входы ровно
двух
элементов
Таблица 12
Разбиение случая 2.3
2.3. На входы некоторого элемента Е® подаются переменные Х\ и х>2. Переменная
Х\ подается также на вход некоторого элемента £.•
_L
J_
2.3.1. На один из входов
элемента £.• подается
выход некоторого элемента £*
j_
_L
_L
2.3.2. На вход элемента £• подается некоторая
переменная xt
2.3.1.1.
Выход
элемента Еь
подается только
на вход эле-
мента £•
2.3.1.2.
Найдется
(помимо £р)
некоторый
элемент £/,
на вход
которого
подается
выход
элемента Ек
J_
2.3.2.1. На
вход эле-
мента £•
подается
переменная
Х\
_1_
2.3.2.2. На
вход
элемента £°
подается
переменная из
числа х:и х4,
..., х„
JL
2.3.2.3. На
вход
элемента Е®
подается
переменная
Хч
JL
2.3.2.3.1. Выход хотя бы одного из
элементов £Р, £Р (например, £р)
«ветвится»
_L
J
2.3.2.3.2. Выход элемента Е?
подается на вход только одного
элемента и выход £Р тоже
подается на вход только одного
элемента
-i.
J
_L
2.3.2.3.2.1. Ни один из выходов
элементов £,-° и £р не подается
на вход инвертора
2.3.2.3.2.2. Выход хотя бы одного
из элементов £Р, £Р подается на
вход инвертора
137
Рис. 40 Рис. 41
Мы не будем разбирать каждый случай, поскольку их
слишком много. Читатель может проделать это самостоятельно,
вооружившись утверждением 4 и используя свойства 1 и 2. Проил-
илюстрируем ход рассуждений только для двух случаев.
Случай 1.1 (некоторая переменная подается на вход
инвертора, выход которого «ветвится» (рис. 40)).
Элементы £, и £, не являются выходами схемы (иначе
переменная Xi забила бы все остальные переменные, что невозможно
ввиду утверждения 5). Не могут одновременно выход £,
подаваться на вход £/ и наоборот (это означало бы наличие контура
в схеме). Поэтому в схеме существует еще элемент £*,
соединенный своим входом с выходом, например, элемента £,.
Элементы £/ и Ej не инверторы, поскольку в минимальной схеме
инверторы не могут соединяться последовательно. Выберем
теперь значение xt так, чтобы у элемента £,- забить второй вход
и. Тогда все четыре элемента на рис. 40 можно удалить в силу
свойства 1. Полученная схема реализует 1п-\ или 1п-\.
Случай 2.3.1.2 (степени всех полюсов равны двум,
остальное понятно из рис. 41).
Пусть <т2 — константа, забивающая переменную х\ на
выходе элемента £/. Тогда при х2 = 02 выход элемента Ek принимает
тождественное значение (в противном случае при х2 = 02 и
подходящих значениях переменных х3, .., хп переменная х\
забивалась бы и на выходе элемента £/, а значит, всей схемы).
Тогда элемент Ek можно удалить в силу свойства 2, а элементы
£/, £/, £/ — в силу свойства 1.
Рассмотрев подобным образом все остальные случаи,
докажем лемму 6. □
Теорема 2. ^фЭу' ! (/л) = 4дг — 4 при дг>2.
Доказательство. Верхняя оценка доказана в § 3 гл. 2.
При п = 2 доказывается перебором, что L(/2) = L(/2) = 4. При
я^З достаточно применить лемму 6. □
Мы видели, что доказательство леммы 6 и, следовательно,
теоремы 2 требует значительного труда. В то же время несколько
упрощенный вариант теоремы 2 доказывается значительно легче.
138
Обозначим здесь через £ot>3v !* сложность схемы из
функциональных элементов в базисе {&, \Д ~~1 ПРИ условии, что веса
инверторов считаются нулями, т. е. при подсчете сложности
инверторы не берутся в расчет.
Теорема 3. L&^f- г (/л) = 3л —3.
Доказательство. Верхняя оценка доказана в § 3 гл. 2.
Нижняя оценка. Пусть Е\ есть элемент минимальной схемы,
на оба входа которого подаются переменные (возможно, с
отрицаниями). Пусть это переменные х{ и
Xj. Если одна из этих переменных имеет
степень 1, то другая забивает ее.
Поэтому обе переменные х{ и х\ «ветвятся»
(см. рис. 42) (жирные точки на этом
рисунке обозначают возможные элементы-
инверторы). Элементы Е\ и £3 не могут
быть выходами схемы (иначе
переменная Х{ забивала бы остальные
переменные).
Если Е2 не совпадает с Е3у выберем
для Xi значение, забивающее х\ на
выходе £|. Тогда в силу свойства 1 из схемы
можно удалить элементы Е\у £г> £з и получить схему,
реализующую /„_, ИЛИ /л_|.
Если элементы Е2 и £3 совпадают (тогда это не выход
схемы), то их выход подается на вход некоторого элемента Е4.
Выбрав значение переменной xi так, чтобы забить второй вход
элемента £3, можно удалить из схемы элементы Е\у £2 = £з и
Еа в силу свойства 1. Полученная схема реализует одну из
функций /„_, или /„_|. □
§ 3. Нижние оценки сложности для схем,
содержащих линейные элементы
В § 2 были получены оценки для схем в базисе, содержащем
лишь нелинейные функции (конъюнкцию и дизъюнкцию) от двух
переменных. Если базис содержит еще и линейные функции
(0 или =), то доказательство нижних оценок сложности
усложняется и требует привлечения дополнительных
соображений.
Рассмотрим в этом параграфе схемы из функциональных
элементов в базисе Р\. Чтобы не создавать громоздкости, будем
иногда писать просто L(f) вместо L&p3(f). Заметим, что в этом
базисе L(f)=L(f) (если /=£*,).
16 функций из Р\ можно классифицировать следующим
образом: две константы 0 и 1; четыре функции одной переменной
л-, у, х, у\ две линейные функции, зависящие от обеих
переменных: х@у и х = у (мы их будем для краткости называть
функциями типа ф); восемь нелинейных функций (иногда их назы-
139
вают функциями типа /\). Напомним, что Л есть другое
обозначение для &. Имеет место очевидное
Утверждение 6. Если минимальная схема в базисе Pi
реализует функцию, существенно зависящую от двух или более
переменных, то она содержит только
\о/ элементы типов Л « Ф-
Уд Действительно, в противном случае
элементы, имеющие менее двух входов,
можно было бы удалить, изменив
подходящим образом последующие
элементы (или. предыдущий, если
удаляемый элемент является выходным).
Рис. 43 иллюстрирует сказанное. П
Отметим характеристические
свойства элементов типов Л и Ф-
Рис 43 Утверждение?. Для каждого
из двух входов элемента типа /\
существует такая константа из
множества {0,1}, что при подаче ее на этот вход выход элемента не
зависит от второго входа (т. е. каждый вход может забить другой
вход).
Действительно, пусть функция выхода <р(х, у) равна
ху®ах®$у®уу где а, р, у е {0, 1}. Тогда ср(р, у) =
= fc/eaPefc/0Y=apeY, ф(*, а) = оф07. □
Утверждение 8. Каждая из функций х®у и х = у
принимает одинаковые значения на парах противоположных наборов
(а, р) и (а, р)(а, Pge{0, 1)).
Как и в случае базиса {&, \Д ) (см- свойство 1 § 2), имеет
место
Факт 1. Если на вход некоторого элемента схемы в базисе
Р\у реализующей функцию от двух или более переменных,
подается константа 0 или 1, то этот элемент можно удалить из
схемы, сохранив функцию схемы, изменяя, быть может,
последующие элементы или предыдущий (ср. с утверждением 6).
Как и раньше, двуместную операцию, приписанную элементу
а, будем обозначать On {а). Напомним также, что значение
функции, реализуемой схемой S в точке а на наборе а, обозначается
Функ(а, о). Иногда в этой записи символ а будем опускать.
Выход схемы договоримся обозначать буквой /.
Про элемент или полюс схемы будем говорить, что он имеет
шип /, если из него выходит / дуг. Следующее утверждение
является аналогом теоремы 2 гл. 2.
Утверждение 9. Пусть минимальная схема S сложности
L содержит pi полюсов типа i и /, элементов типа i. Тогда
L(S)^pi+2p2 + ... + LpL + l2 + 2l, + ... + (L-\)lL-l.
Утверждение следует из того, что входящих дуг в схеме не
более 2L, а число выходящих дуг равно р, -\-2р2 + ...-\-LpL-\-
140
+ /, +24 + ... + LlLy причем /, +4 + ... + /L = L—1 {комментарий:
все элементы, кроме выходного, имеют хотя бы по одной
выходящей дуге}. □
Опишем теперь функции, для_ которых будут получены нижние
оценки. Если в базисе {&, V» } основное свойство, на котором
«играет» доказательство нижней оценки сложности,— это
изменение значения функции при переходе к соседней точке, то в
случае базиса, содержащего линейные функции, этого
оказывается недостаточно. Здесь, как правило, требуется, чтобы каждая
группа переменных порождала возможно больше различных
подфункций. Примером таких функций являются парно разделимые
функции. Функция / называется парно разделимой, если любые
две пары (а,, а,-) и (ft, р;) значений ее аргументов jc,,
jc/(1</</<m) разделимы при условии az + a^fr + P/
(суммирование обычное), т. е. при этом условии
f(x\y ..., х/_1, a/, x/+i, ..., Xj—\, ay, X/+i, ..., х*)Ф
\ф\(Х\у ..., Xi-\y Pi, X/+I, ..., Xj-\y P/, X/+1, ..., xn)*).
n
Пример. Функция / = (( £ Jt,) mod 3)mod 2 (знак £ обозна-
i = i
чает здесь обычное суммирование) парно разделима.
Утверждение 10. Парно разделимая функция
существенно зависит от всех своих аргументов.
Утверждение 11. Не существует парно разделимой
функции двух аргументов.
Действительно, из разделимости пар {(0, 0), (0, 1)} и
{(0, 1), (1, 1)} следовало бы, что / (0, 0)=/(1, 1), а это
противоречит разделимости пар (0, 0) и (1, 1). П
Теорема 4. Если функция f(x\, ..., хп) парно разделима, то
Доказательство. Пусть S — минимальная схема,
реализующая функцию /. В силу утверждения 10 схема содержит
п полюсов. Пусть среди них р\ полюсов типа 1. В силу
утверждения 11 в схеме S нет элементов, оба входа которых суть
полюсы типа 1. Поэтому схема S содержит р\ элементов,
инцидентных полюсам типа 1.
Элемент типа 1 называется отмеченным, если один из его
входов есть полюс типа 1. Обозначим через / число отмеченных
элементов схемы. Поскольку в схеме S есть только один элемент
типа 0, не менее /71 — / — 1 элементов, инцидентных полюсам
типа 1, имеют тип не меньше 2. Поэтому из утверждения 9
следует,-что
L>p, + 2(rt— pi)+/?i — /— 1 — 1=2/г — / — 2. (8.6)
"*) Условие a,-f ос, # р, + Р/ можно было бы заменить более сильным и
естественным условием (а,-, а,) Ф (р„ Р/), но тогда труднее строить примеры парно
разделимых функций.
141
Докажем теперь, что L^ 1,25/. Для этого рассмотрим
взаимное расположение элементов.
Лемма 7. Пусть а и b отмеченные вершины схемы S,
причем а^Род (Ь) (рис. 44). Тогда функция Оп(а) нелинейна, а
Оп(Ь) линейна.
Доказательство. Если бы функция Оп(Ь) была
нелинейной, то в силу утверждения 7 переменная у забивала бы
переменную лс, что противоречит парной разделимости функции /.
Поэтому функция Оп(Ь) должна быть линейной. Если бы
функция Оп(а) тоже была линейной, то на выходе
элемента Ь (а значит, и всей схемы S) не
разделялись бы пары противоположных наборов
значений переменных ху у (см. утверждение 8), что
противоречит разделимости пары наборов (0, 0) и
(1, 1). □
Итак, при наличии в схеме S фрагмента,
изображенного на рис. 44, функция Оп(Ь) линейна, а
Оп{а) нелинейна.
Следствие. Если а и Ь — отмеченные
вершины, причем а^Род (6), Ь^Род(с), то с не может
быть отмеченной вершиной.
В силу этого следствия выходы по крайней мере
половины отмеченных элементов подаются на
входы неотмеченных элементов. Поэтому число последних не менее
1/4. Следовательно,
т. е.
4L>5/.
(8.7)
Переписав (8.6) в виде 5L^ Юм —5/—10 и сложив его с
(8.7), получим утверждение теоремы. □
Если свойство парной разделимости выполняется и для
подфункций функции /, можно получить для / и более высокую
нижнюю оценку. Функция / называется m раз парно разделимой,
если при подстановке в нее вместо любых т — 1 аргументов
некоторых констант получается функция, снова парно
разделимая.
Пример. Функция Сп(х\, ..., хп)= £° ***/ я —2 раза
парно разделима.
Действительно, при подстановке нулевых констант на места
п — 3 переменных получится функция вида СЛ = ху®уг®хг. Эта
функция парно разделима, поскольку, например, для пары х, у
С, (0,0, 2) = 0,
С3(0, 1,2) = 2,
С,(1, 1,2)=1.
142
Теорема 5. L(C„ (*,,...,*„))>2 (л—1).
Доказательство индукцией по п. При и = 3 перебором
убеждаемся, что £(Сз)^4. Выберем теперь в схеме полюс типа
не меньше 2 (он существует в силу парной разделимости,
например это один из входов элемента, соединенного обоими входами
с полюсами) и положим соответствующий аргумент равным 0.
Тогда полученная схема реализует функцию Сп-\ и содержит
на 2 элемента меньше (в силу факта 1). □
Рассмотрим пример еще одной функции и приведем для нее
нижнюю оценку. Как и раньше, Целое (а) обозначает число,
двоичной записью которого является а. Например,
Целое (10011) = 19. Пусть а и В суть двоичные слова длины
m = \\ogn\. Определим функцию /яеЯ2т+, + п следующим
образом:
fn (а, 6, qy xu..., xn) = q (xt Л */) V Я (*/©*/)>
где / = Целое (а), j = Целое (В). Если Целое (а)>пу можно
считать / = я. Аналогично обстоит дело с Целое (В). Очевидно, что
при <7=1 получается подфункция типа Л» а ПРИ <7 = 0 —
подфункция типа ф. Первые 2т переменных используются как
адреса последних п переменных.
Теорема 6 (Пауля — Шнорра — Блюма). L (/л)>2,75и — 2.
Доказательство теоремы требует непропорционально много
места и потому здесь не приводится. Отметим только, что наряду
с индукционным методом оно использует глобальный анализ
схемы. □
Видоизменив функцию, можно несколько поднять эту оценку.
Определим функцию /£еР2т+|+я следующим образом:
f'n (а, 6, с, а, хи ..., хп)=х? Л(^/Ф4
где i = Целое (а), / = Целое (£), k = Целое (с).
Теорема 7 (Блюма). L(fn)^3n — 3.
§ 4. Метод Субботовской. Пример Андреева
Более высокие нижние оценки сложности удается получать
для формул. Одним из наиболее естественных методов
получения таких оценок для формул в базисе {&, V» ~) (или, что то же
самое, для П-схем) является метод, предложенный Б. А.
Субботовской.
Излагая этот метод, мы будем говорить о формулах, однако
сложность функции / будем обозначать Ln (/), имея в виду, что
Ln (/) = /,;** v ! (/). Так же, как в § 2, будем считать, что в
формулу наряду с переменными могут входить константы 0 и 1. При
подсчете сложности будем учитывать их с нулевыми весами.
В силу тождеств (ср. со свойством 1 § 2)
0=1, х&0 = 0, х\/ 1 = 1,
1=0, x&\=x\/0 = x {OG)
143
это изменит сложность лишь двух функций — констант 0 и 1, для
которых теперь
МО)=М1)=о,
что с определенной точки зрения даже более естественно.
Функцию, получающуюся из функции f.(x\y ..., хп) при
подстановке вместо переменной х\ константы а, будем обозначать через
fXj = а •
Теорема 8 (Субботовской). Пусть f(x\,...4xn) —
произвольная булева функция с числом переменных п^2. Тогда
существует такая переменная xjt что
1) при любом а ^ { 0, 1}
Mfl^-^tfx,-.);
п
2) существует такая константа Р^{0, 1}, что
M/)>-VAi(/*,-iO-
Доказател ьство. Рассмотрим формулу Ф, на которой
достигается Ln (/). Считаем, что все возможные упрощения,
основанные на тождествах (8.8), для нее уже выполнены. В качестве
Xj возьмем.ту переменную, которая входит в формулу Ф
наибольшее число раз. Это число обозначим через т. Очевидно, что
ш^—^. (8.9)
Для доказательства первой части утверждения в формуле Ф
положим JC/ = a (a — произвольная константа из (0, 1}). В
результате мы получим формулу, реализующую функцию fx =a и
имеющую сложность Ln (f) — m. Следовательно,
Подставляя сюда m из (8.9), мы получаем первое из
доказываемых неравенств.
Второе неравенство мы должны доказать для той же
переменной Xj. Если в формуле Ф нет переменных, отличных от jc/, то
Ln (/Х/=р) = 0, и неравенство выполняется тривиальным образом.
Если же в формуле Ф есть переменные, то в ней нет констант.
При этом в формуле Ф вместе с каждым символом х\
присутствует подформула следующего вида (с точностью до перестановки
членов):
x]OV, (8.10)
где символ О есть либо знак V> либо знак &, причем L(lF)^l.
Пусть р — забивающее значение символа х\ для формулы Ч*,
144
т. е.
о га, если О есть V»
ш, если О есть &
(очевидно, что при лг/ = р формула (8.10) тождественно р.жил I.
если О есть V» и тождественно равна 0, если О есть &).
Покажем, что подформулы вида (8.10) формулы Ф,
соответствующие различным символам х\, не имеют общих символов.
Действительно, во всякой формуле между любыми двумя ее
подформулами возможны взаимоотношения лишь двух видов: либо
одна из них является подформулой другой, либо они не имеют
общих символов. Предположим, что одна из формул вида (8.10)
является подформулой другой такой же формулы, а значит,
подформулой ее подформулы ЧЛ При этом Ф* содержит хотя бы один
символ Xj. Однако непосредственно проверяется (подстановками
Х/ = Р и ЛГу = р), что
где р — забивающее значение символа х\ для Wy а Ч^/==ё —
формула, получающаяся из формулы V в результате подстановки
jt/ = p. Но это означает, что рассматриваемую подформулу вида
(8.10), а вместе с ней и формулу Ф можно упростить, что
противоречит ее минимальности. Тем самым сформулированное
выше утверждение доказано.
Пусть теперь Pi,..., pm— забивающие значения символов х\
для подформул 1К формулы Ф. Далее, пусть р — константа,
встречающаяся в последовательности рь ..., рт не менее т/2 раз.
Положим JC/ = p и сделаем в формуле Ф все возможные
упрощения, основанные на тождествах (8.8). В результате этих
преобразований вместе с m символами х-} не менее чем в т/2 случаях
пропадут подформулы вида (8.10). В силу доказанного выше
отсюда следует, что
Подставляя сюда m из (8.9), мы завершаем доказательство
теоремы. □
Применим метод Субботовской к линейной функции 1п. Для
того чтобы оценка не оказалась равной 0, надо следить за тем,
чтобы на каждом шаге получалась функция, отличная от
константы. В случае линейной функции мы можем п—\ раз подряд
подставить константу в соответствии с п. 2) теоремы 8, не
обратив при этом линейную функцию в константу. Поскольку Ln (/i) =
= Ln (/,)=1, мы получаем
V 2/i/ V 2(n-\))" V 2-2/
145
а с учетом неравенства 1-fjt^e*
Ln(Q> '
exp{-^}exp{-^-T-}...exp{-^j
-«p{Kt+t+-+t))>«p|tJ-t)-
2
= ехр{|(1пм-1п2)}=^-.
Итак, доказано
Следствие. Lu(ln))*n312.
В § 5 эта оценка будет улучшена другим методом. Однако
рекордная к настоящему моменту нижняя оценка сложности для
формул в базисе {&, V, ~) получается все-таки в результате
обобщения метода Субботовской.
Более общая формулировка метода Субботовской
принадлежит А. Е. Андрееву. Ему же принадлежит пример функции
(построенный на основе идеи универсальной функции Э. И. Не-
чипорука — см. § 6), для которой этот метод дает высокую
нижнюю оценку сложности. Оставшаяся часть параграфа посвящена
изложению этих результатов.
Пусть / — произвольная булева функция от п переменных,
причем п — Ы. Разобьем множество переменных функции / на k
групп по / переменных в каждой группе:
Х= (*1,*2, ...,**)>
где
*2 = (*1, .»,*?),
Рассмотрим множество X таких подстановок констант в
функцию f = f(x\, JC2,..., Xk\ при которых константой заменяется в
точности одна переменная из каждой группы. Произвольная
такая подстановка имеет вид
А =1x1=0и ...,4 = <*/> ...,*£ =а*},
1 <//</, а/€={0, 1}, 1 = 1,...,*.
Число таких подстановок, очевидно, равно (2/)*. Функцию,
получающуюся из функции / при подстановке Л, будем обозначать
!\л. . _
Теорема 9 (Андреева). Пусть f(x\,..., xk) — произвольная
булева функция с числом переменных n = kly которые разбиты на
k групп по I переменных в каждой группе, причем /^2. Тогда
146
если Ln(/)^2, то существует такая подстановка Ле^, что
intf» з1—T-MfW-
Доказательство. Рассмотрим среднее значение
величины Ln(f)A):
М1=Ж>£ ^W (8Л1)
и докажем, что при Ln(f)^2 и />2
Mi<(l-w + £h®- <812>
Отсюда будет следовать существование такой подстановки Л,
что
а это и есть утверждение теоремы.
Неравенство (8.12) будем доказывать индукцией по
сложности Lu(f). Начальный шаг индукции: Ln(/) = 2. При этом
минимальная формула для функции / (считаем, что в ней уже нет
констант) имеет вид
У°Ог\
где уу z — какие-то переменные из набора (jci, ..., **), а символ
О есть либо V» либо &. Рассмотрим два случая.
1. Переменные у и z входят в одну группу, например в
группу jci. В этом случае число подстановок, при которых ни у, ни z
не заменяется константой, равно (l — 2)lk~x2k. Число
подстановок, при которых у заменяется константой, не забивающей
переменную z, равно 1к~и2к~\ Столько же имеется подстановок,
при которых 2 заменяется константой, не забивающей переменную
у. Поэтому в данном случае
£ Ln(f\A) = 2-(l-2)lk-l2k+l-2-lk-l2k-l =
=(2/)*-2 (Ь* +l)=(2/)*Ln(/) (l -!-),
что в сочетании с (8.11) дает (8.12).
2. Переменные у и z входят в разные группы. Рассуждая
аналогично тому, как в случае 1, получаем
£ Z.„(/|/1) = 2.(/—1)2/л~22Дг+ 1 -2.(/— l)/*-22At-| =
= W)k-2^ + l^.)=(2int](f)(\ -| + JL)
что в сочетании с (8.11) дает (8.12).
147
Индуктивный переход. Пусть Ln(/)>3 и минимальная (не
содержащая констант) формула Ф для функции / имеет вид
ФЮФ2,
где О есть либо \Д либо &. Пусть Ф\ реализует функцию /i,
а Фг — функцию /г. Тогда
/=/Ю/2. (8.13)
Заметим, что
Uf) = иФ) = Ln(0,) + Ln(02) > Ln(/i) + Ln(/2),
а поскольку неравенство в обратную сторону тривиально,
справедливо равенство
Ln(/) = Ln(/,)+M/2). (8.14)
Отсюда, в частности, следует, что
Ы/.)=Ы<Ы Ln(f2)=Ln(<&2),
а значит,
z.n(/,)>i, МЬ)>1
И
Ш!хХШ1). Uf2)<Ln(f).
Рассмотрим два случая.
Для сокращения записи введем обозначение
c<=1-|- + i- <8-1б>
По предположению индукции (см. (8.12) и (8.11))
1
(2/)*
I Ln(f■!*)<£«.)> (8.16)
AezX
±гк£ ЫЫ.Кс/ЫЫ. (8.17)
(21> А*=Х
Сделав подстановку А в равенство (8.13), получим
/и=а.ыо(ьы.
Отсюда следует, что
Ы7Ы<ЫШ+ЫШ (8.18)
и, таким образом,
148
а с учетом предположения индукции (8.16), (8.17) и равенства
(8.14)
M,^clLn(fi) + clLn(f2) = cl (Z,n(M+U/2))=c,Z,n(fl,
что в сочетании с (8.15) дает (8.12).
2. *.„(/.)= 1 или/,П(/2)=1.
Пусть для определенности Ln(b)=l, т. е.
и, таким образом,
ф=ф.оМГ,
причем в силу минимальности формулы Ф подформула Ф1 не
содержит символов переменной х) (см. доказательство
теоремы 8), а значит, функция /| не зависит существенно от х).
Обозначим забивающее значение переменной х) для подформулы
Ф1 через р.
В силу (8.14)
Ln(/.) = in(/)-^n(W)a)>3- 1 = 2.
Поэтому для Ln(f\) выполнено предположение индукции (8.16).
Пусть X) обозначает подмножество тех подстановок из X,
при которых в /-й группе константой заменяется переменная
X/. Тогда
I Ln(f\A)=l Ln(f\A)+ I Ln(f\A). (8.19)
/leX AeX) А*=Х\Х)
Оценим по отдельности каждую из этих сумм. Для первой
суммы будем иметь
I Uf\A)=l Uf\A)=l Ln(ft\A)=ll Lntf.L.)
A<=X) Af=X), A<=X), A<=X)
(последнее равенство связано с тем, что f\ не зависит
существенно от х) и поэтому суммирование при условии Jt}=p дает тот же
результат, что суммирование при условии jt} = p). Для оценки
второй суммы воспользуемся неравенством
которое при f2 = {x))° вытекает из неравенства (8.18). Имеем
I ЦЛ1\л)< I (М/.Ы+П = I Ы/i \а) + (1- 1)/*-'2*.
Л€=Х\Х', Ае~Х\Х; А<=Х\Х)
Подставляя найденные оценки в (8.19), получаем
I uf\A)^i Ln(f{\A)+ 1 LnC/.^+a-i)/*-^,
Af=X А<=Х) А<=Х\Х)
149
или, что то же самое,
I Ln(JU)< I ЫШ-у I Ы/.Ы + (/-1)/*-'2*. (8.20)
^еХ Ле=Х ЛеЕХ)
Оценим теперь снизу сумму £ Ai(/i Ы- Благодаря тоМу что
АееХ)
fx не зависит существенно от х), аналогичная сумма для другой
переменной xlh из /-й группы может быть только меньше. Иными
словами, при любом Л, 1^Л^/,
I Lnifi \л)< I Aitf. \л),
Ae=X'h A е= Л/
а значит,
Ае=Х Л=1 Л«=Х'А Лев*}
Воспользовавшись этой оценкой, из (8.20) получим
I Ln(f\A)<(\~)l ЫЛиЖ'-!)'*-^.
Наконец учитывая предположение индукции (8.16), будем иметь
W АеХ [Zl> А<=Х
<(l-^)c,Lu(M+.l—J-.
Замечая, что равенство (8.14) в данном случае принимает вид
пользуясь (8.15) и условиями /,,,(/)^3, /^2, получаем
Л1,< (l - i)c,(Ln (/)-!)+ 1 - -J- =
= clUf)-clQfLn(f)+ ! -1)+ 1 —i<
<c,Ln(/)-(l-J+-L)(l + |)+l-|<
1 . 1
<*/Ln(/)-^+^<c/Ln(A
а это и есть неравенство (8.12). П
Пример. Построим функцию, для которой данным методом
можно получить нижнюю оценку сложности, равную почти я5/2.
Пусть у— набор из 2к различных переменных {/.*,. \.v гДе
oi, ..., а*е{0, 1}, и пусть z = (zi,...,2fe). Введем вспомогательную
150
функцию
g(y,z)= V </„, atzV...zV.
(«I <**)
Она напоминает совершенную д. н. ф. функции, зависящей от
переменных Zi,...,z*, «только» у каждой конъюнкции есть
коэффициент, равный одной из переменных набора у.
Очевидно, что путем подстановки в функцию g(y, z) констант
вместо переменных набора у можно получить любую функцию от
переменных zi,..., z*. Пусть В — подстановка, при которой
получается самая сложная (в классе П-схем) функция от
переменных zu -.,Zk. В силу теоремы 5 гл. 5
ЬпШ>^- (8.21)
Обозначим через / (у, Х\у..., xk) функцию, получающуюся из
функции g (у, z) при подстановке
z\=x\® ... ®xl
Zk = Xk\@ ... @xf.
Как обычно, число переменных функции / обозначаем через п.
Очевидно, что
n = 2k + kl.
Чтобы получить возможно более высокую нижнюю оценку
сложности для функции /, положим
'-]?[•
(8.22)
При этом, очевидно,
nx2k. (8.23)
Сделаем подстановку В в функцию / и к функции f\B применим
/—1 раз подряд теорему 9, сохраняя после каждой подстановки
разбиение переменных на группы (легко проверить, что на
каждом шаге условия теоремы выполняются). В результате
получится самая сложная функция от k переменных, так как замена х
на хП не меняет сложности функции (в классе П-схем). Поэтому
(см. теорему 9 и (8.21))
2 1-J-+-L
2т 2т2
Оценивая произведение подобно тому, как в доказательстве
теоремы 8, и учитывая, что
/ оо оо оо оо
V-L< У ' = V (_! iuyi_yi=i
Lu т'2 La т{т—\) i^xm—X т) /^ т £-, т
т = 2 ш = 2 т = 2 т=\ т = 2
151
имеем
Воспользовавшись (8.22) и (8.23), получаем
Л5/2
Следствие. Ln(f)^
(log/j)3/2loglog«*
§ 5. Метод Храпченко
В. М. Храпченко предложил метод получения нижних
оценок сложности в классе П-схем, который применим к целому
ряду функций. Оценка получается тем выше, чем чаще функция
меняет свое значение при переходе к соседней точке. Самая
высокая нижняя оценка (я2) получается для линейных функций.
Введем несколько понятий, связанных с П-схемами. Цепью
П-схемы называется последовательность контактов,
соединяющая полюсы П-схемы*). Сечением П-схемы называется
множество контактов схемы, которое содержит хотя бы по одному
контакту из каждой цепи схемы. При удалении из схемы всех
контактов сечения все цепи схемы оказываются перерезанными.
Сечение называется тупиковым, если любое его собственное
подмножество не является сечением. В дальнейшем цепь тоже будем
рассматривать как множество своих контактов.
Лемма 8. В любой П каждая цепь с каждым
тупиковым сечением имеет ровно один общий контакт.
Доказательство проводится индукцией по числу m контактов
в П-схеме. При пг=\ лемма очевидна. Предположим, что лемма
верна для всех П-схем с m и менее контактами. Рассмотрим
произвольную П-схему S с т+1 контактами. В соответствии с
индуктивным определением П-схемы (см. § 6 гл. 1) схема S
является либо параллельным, либо последовательным
соединением двух П-схем Р и Q, каждая из которых содержит не более
m контактов и потому удовлетворяет предположению индукции.
Обозначим через TP(TQ) ту часть тупикового сечения Т схемы S,
которая содержится в Р (Q).
В случае параллельного соединения Р и Q множества ТР и
TQ являются сечениями соответственно Ри Q, причем
тупиковыми, а цепь схемы S является цепью либо Р, либо Q. Остается
воспользоваться предположением индукции, чтобы получить
утверждение леммы.
Если же Р и Q соединены в S последовательно, то сечение
Т совпадает либо с ТР, либо с TQy причем является тупиковым в
этой схеме. Второе из этих сечений тогда пусто. Отсюда
извлекается утверждение леммы. □
*) Напомним, что цепь контактной схемы по определению не имеет
самопересечений.
152
Пусть Nj и Л// — произвольные множества такие, что Nj^Nf,
N{f^Bn\Nf (напомним, что Nf = {o\f (о)= 1}). Пусть далее Rf есть
множество пар (<Л а1) соседних вершин таких, что o°^Nfy
ol^Nj. Пары соседних вершин называются еще ребрами куба Вп.
Теорема 10 (Храпченко). Для произвольной булевой
функции f(X\, ..., Хя)
\Nf\\NJ\
Доказательство. Рассмотрим произвольную П-схему S,
реализующую f (х]у ...у хп). Пусть т,— число контактов
(замыкающих и размыкающих) переменной х\ в этой схеме. Тогда
MS)=I rnh (8.24)
Можно считать, что функция / существенно зависит от всех
своих переменных. Поэтому т^\ (1^/^/г).
Чтобы отличать друг от друга контакты одной переменной,
занумеруем в схеме S все контакты переменной х\ (1^/^я)
числами от 1 до /л/.
Каждому набору (gi, ...,оп)еЛ/| сопоставим одну цепь схемы
S, все контакты которой замкнуты на этом наборе. Очевидно,
что эта цепь может содержать только контакты х[\ ..., х°пп.
Каждому набору (<7|,..., а„)^Nf сопоставим одно тупиковое сечение
схемы S, все контакты которого разомкнуты на этом наборе. Это
сечение может содержать лишь контакты х\\ ..., хппп.
Каждому ребру (а°,а')е/?/, где g0^jV/, а1 eiVj, сопоставим
один контакт схемы S следующим образом. Пусть о1=(о\у ...
..., a/_i, с/, a/+i, ..., а„), aa()=(oi, ..., сг/_|, d/, ay + i, ..., аЛ). Согласно
лемме 8, цепь, соответствующая набору о1, и тупиковое сечение,
соответствующее набору а0, имеют ровно один общий контакт.
Очевидно, что это контакт х\К Этот контакт (а точнее, его номер
/(l^/^m,)) и приписывается ребру (о0, о1) /-го направления.
Один и тот же контакт может при этом оказаться
сопоставленным нескольким ребрам (но все они одного направления, а
именно /-го, если это контакт переменной Xj). Обозначим через
ац число ребер /-го направления, которым приписан /-й контакт
(/-й переменной). Положим
П =
I ац. (8.25)
Очевидно, что
I '/=l*f|. (8.26)
153
Сопоставим теперь каждой вершине a eW/UW/ строку из п
символов, в которой на /-м месте (1</^я) стоит номер
контакта, приписанного ребру /-го направления, инцидентному
вершине а, или пустой символ, если это ребро не входит в Rf. Из
строк, соответствующих наборам o^N}> составим таблицу А
размера \Nj\Xny а-из остальных строк — таблицу В размера
\Nf\ Хп. Очевидно, что в /-м столбце (1^/^я) каждой из этих
таблиц число / (1^/^т;) встречается ровно ац раз.
Поскольку строки таблицы А соответствуют цепям, а строки
таблицы В — тупиковым сечениям, то в силу леммы 8 они
обладают следующим свойством: каждая строка таблицы А с каждой
строкой таблицы В совпадает не более чем в одной непустой
позиции.
Взяв по одной строке (/i, ...,/„) и (/{, ...,&) из таблиц Л и В,
составим строку ((/i, /{), .... (/я, i'n)) из п пар символов. Проделав
такое построение для всех пар строк, где первая строка из
таблицы Л, а вторая из В, получим таблицу С размера \N^\ \Nj\ Хп.
Пару символов (/,/), где / — непустой символ, будем назы-
вать дублем. Очевидно, таблица С содержит £ £ a?i Дублей.
С другой стороны, в силу свойства таблиц А к В каждая строка
матрицы С содержит не более одного дубля. Таким образом,
I I 0?/<1Л#МЛГ/1. (8.27)
Нам осталось оценить (8.24) при условиях (8.25) — (8.27).
Имеем
\Ri\2 =
<(£«й)(1 I i2)
^\Nf\\Nj\Ln(S).
Тем самым теорема доказана. □
Метод Храпченко доказательства нижних оценок
сложности в классе П-схем основан на теореме 10. Чтобы найти
предельные возможности метода, оценим максимум отношения
|/?Н7(1Л№/|). Очевидно, что |Я,|<я|Л^|, \Rf\^n\NJ\.
Поэтому
\R,\2 2
-<дг .
\Nli\\N\
в силу (8.25), (8.26)
в силу неравенства Ко-
ши-Буняковского
п
= (Iao)(Z mi)< в силу (8.27) и (8.24)
154
Итак, метод Храпченко позволяет получать нижние оценки
сложности не выше п2.
Укажем теперь несколько применений метода.
Пример 1. Для линейной функции 1п имеем \Nf\ = \N}\ =
= 2""Л \Rf\ —пТ~\ Поэтому справедливо
Следствие 1. Ln(ln)^n2.
В § 3 гл. 2 была установлена верхняя оценка Ln (/n)^-g- п2.
Попутно было замечено, что для последовательности вида п = 2к
эта оценка может быть усилена до Ln(ln)^n2. В сочетании с
оценкой следствия 1 это означает, что схемы, построенные в
§ 3 гл. 2, являются минимальными для /г = 2*, т.е.
Ln (/2*) = (2*)2 = «2.
а для остальных значений п
Ьп(1п)жп\
Пример 2. Рассмотрим теперь частичную булеву функцию
/л, определенную следующим образом:
М*1. •••> Хп) = \
О, если £ Xj = k—\y
1, если £ Xj = k.
Ее доопределением является, например, монотонная
симметрическая функция с «порогом» k.
Очевидно, что \Щ=Ск,г\ \N]\=Cl \Rf\=kCkn = (n-k +
-\-l)Cn~]. Поэтому справедливо
Следствие 2. Ln (/„) ^ k (п — k + 1).
В частности, при /г == |дг/2| —|— 1 (при этом получается так
называемая мажоритарная функция, или функция голосования)
Ln(fn)>\(n+lf/4\.
Пример 3. Нахождение определителя квадратной матрицы.
Дана (п Хп) -матрица х = {*,•/}, *//е{0, 1). Операциями кольца над
множеством {0, 1} считаются 0 и &. Задача заключается в
нахождении определителя Dn этой матрицы. Он является, очевидно,
булевой функцией элементов матрицы ху т.е. Dn = Dn (jch, ...
Найдем число Mm невырожденных булевых (тХ^)-матриц А.
Имеется 2'"—1 ненулевых наборов длины т, которые могут быть
выбраны в качестве первой строки матрицы А с ненулевым
детерминантом. Вторая строка должна отличаться от нулевого
набора и от первой строки. Тем самым имеется 2'" —2
возможности для ее выбора. Третья строка не должна быть линейной
комбинацией двух первых. Поэтому для ее выбора имеется 2W —4
155
возможности. Продолжая таким образом, найдем, что
Afm=(2m-2°)(2m-2,)(2m-22)...(2m-2m-,)=am2m2, (8.28)
где am=fl(l-2-').
/=i
Используя неравенство (1 — а)(1 — Ь)^ 1 — а — Ь для
неотрицательных а и 6, при т^2 получаем
«^т(,-12-')=т(т+Й>1-
/ = 2
Итак, l/4^am^l и am монотонно убывает. Поэтому
существует предел am, причем lim am^l/4.
В силу (8.28) в данном примере \N]\=anT\ \Щ={\ — a„)2"\
Теперь оценим число |/?/|. При произвольной фиксации
переменных
0
021
Оп\
012 •
022 •
0л2 •
• 01л
• 02л;
0ял
Ф
1
021
0л1
012 •
022 •
0л2 •
0|я
• 02л
. 0лн
тогда и только тогда, когда
022
02л
0я2
0лл
= 1.
Поэтому число ребер из /?/, соответствующих переменной
хц9 равно
a„-i2f,|-|),-2^-|> =
ОЬл-1
Г.
По соображениям симметрии такое же равенство имеет место
для любого хц. Поэтому
т=п
2<*л-1 cyi
2я".
Применив теорему Храпченко, получим
Следствие 3. Lu{Dn)^—n*.
§ 6. Метод Нечипорука
Установленные в § 1—3 нижние оценки сложности являются
линейными, и только оценки § 4 и 5 для П-схем (или, что то
же самое, для формул в базисе {&, V» I) имеют более быстрый
рост. Можно ли получить нелинейные нижние оценки слож-
156
ности для контактных схем, для формул в произвольном
конечном базисе? Положительный ответ на эти вопросы позволяет
дать метод Нечипорука. Полученные этим методом оценки:
(n/\ognf для контактных схем и n2/\ogn для формул в
произвольном конечном базисе являются самыми высокими из
известных в этих классах схем. Метод хорошо работает на
функциях, имеющих много подфункций.
Пусть множество х переменных функции F разбито на
р ~ ~ ~
р групп х\ух2, ...,хр, U Xi = x9 Xi(]Xj=0 при ьФ]. Пусть далее
Ft обозначает множество различных функций, получающихся
из функции F при всевозможных подстановках констант на
места всех переменных из x\xt.
Теорема 11 (Нечипорука). В произвольном конечном
базисе
U{F)>^T)l\og\Fi\,
где г обозначает максимум двух чисел: наибольшего числа
переменных у базисных функций и числа 3.
Доказательство. Расширим базис, добавив в него
булеву функцию трех переменных <р(а, 0, и)= аи@$.
Сложность функции F от этого может только уменьшиться. Функция
аи©р при различных значениях аир равна одной из функций
и, ~й, О, 1. Пусть Ф есть минимальная формула в
расширенном базисе, реализующая функцию F. По определению L^(F)
равно числу листьев в дереве D формулы Ф. Множество
листьев, которым приписаны переменные из множества дг,-,
обозначим Li.
Разобьем вершины дерева D на две группы. К первой группе
отнесем все такие вершины v&Lit которые не имеют предков
в множестве L,._ При любой подстановке констант на места
переменных из x\xi в этих вершинах реализуются константы
О или 1. Вторую группу составляют все остальные вершины.
Поддерево, образованное вершинами второй группы,
обозначим Д.
Удалим из дерева D вершины первой группы, сохранив
только те из них, которые являются родителями вершин второй
группы. Эти сохранившиеся вершины первой группы назовем
свободными. На рис. 45 свободные вершины изображены
кружочками, а ребра поддерева Д — жирными линиями. Это
преобразование дерева индуцирует преобразование формулы.
Преобразованная формула Ф„ соответствующая дереву,
образованному деревом Д и свободными входами, реализует все функции
из Fi при подаче всевозможных констант на свободные входы.
Требуемая в теореме нижняя оценка будет получена по
следующей схеме: число листьев /, поддерева Д оценим снизу
157
через число v< внутренних вершин поддерева (см. утверждение
4 гл. 2), а число и, оценим снизу через число свободных входов.
Применению утверждения 4 гл. 2 мешает одно
обстоятельство: поддерево D,- может содержать цепочки одновходовых
внутренних вершин. Чтобы устранить это препятствие, применим
к формуле Ф, эквивалентное преобразование, удаляющее эти
цепочки. Пусть а = а\, а2, ..., aq = b есть такая цепочка (см.
рис. 45), а вершина с непосредственно предшествует вершине а
Рис. 45 Рис. 46
(поскольку цепочка состоит из внутренних вершин дерева,
вершина с существует). При любой подаче констант на
свободные входы в вершине Ь реализуется одна из функций
Функ (с), Функ (с), 0 или 1. Заменим On (Ь) на функцию ф (а, р, и\
подадим выход вершины с на вход и этого элемента, входы аир
объявим свободными, а все остальные вершины цепочки и
инцидентные им свободные входы удалим (см. рис. 46). Очевидно,
что полученная формула по-прежнему реализует все функции
из Fj. Удалим подобным образом все цепочки. Полученное
поддерево обозначим через D', число его внутренних вершин —
через vU число листьев — через /,-. В силу утверждения 4 гл. 2
l'i>vi/3.
Заметим далее, что
Обозначим символом s число свободных входов
преобразованного дерева. Поскольку каждая вершина поддерева D'
соединена не более, чем с г—\ свободными входами, то
s<(r—1)0?.
Так как формула реализует все функции из Fiy то
2s >Н
Сводя воедино выписанные неравенства, получаем
158
и
i = 1 / = I
Примечание. На основе теоремы 11 можно получать
нижние оценки по порядку не выше я2. Действительно,
обозначим m/ = |jt/|. Тогда
|f,-|< min(22"\ 2п-т')^2"-"\
и поэтому
р р
X '°81^1 ^ £ (Л —- Ш/) = prt — Я< А12.
Наибольшая фактически достигнутая нижняя оценка есть
cn2/\og п. Ее вывод приводится ниже в примерах 1 и 3.
Близкие соображения работают и для контактных схем.
Для функции F из предыдущей теоремы примем обозначение
Теорема 12 (Нечипорука). В классе контактных схем
Uc(F)> I А,,
где hi есть наименьшее натуральное число ht удовлетворяющее
неравенству |/г/|^(36т|Л)/,+ |, a rrii — число переменных в
множестве Х{.
Доказательство. Пусть /, обозначает число контактов
переменных i-й группы в минимальной контактной схеме S,
реализующей функцию F. Каждой подстановке констант на места
переменных из x\xt соответствуют обрывы одних контактов
и короткие замыкания других. Полученная схема содержит
контакты переменных только /-й группы (всего // штук). При
разных подстановках констант должно получиться не менее
\Fi\ различных схем. Различных контактных схем с /, контактами,
реализующих функции от /и,- переменных, не более (36m///)/ + I
(см. лемму 11 гл. 5). Итак, // должно удовлетворять неравенству
|fl|<(36ml/1)/'+1,
поэтому li^hi и теорема доказана. □
Рассмотрим применение метода Нечипорука. Для этого надо
иметь примеры эффективно заданных функций с большим числом
подфункций.
Пример 1. Пусть множество х переменных разбито на р
групп по пг переменных в каждой: jt/ = {jt/i,..., xim}(l <л^р),
р ~
переменные хц попарно различны, х= у xiy n=pm.
159
Пусть далее оц — попарно различные булевы векторы длины
т и веса больше 1. Обозначим через К1ц(Хк) конъюнкцию без
отрицаний всех переменных из Xk, соответствующих единичным
компонентам вектора а,;. Например, для а,, = (100101) К+ои(хк) =
= Xk\Xk4Xkb.
Рассмотрим функцию
Р(х)=Ъ(хц £ Kt(xk)\ (8.29)
Ц k
где Jo означает суммирование по модулю 2. Положим т =
= [\ogn} + 2.
Лемма 9. При я>6 \Fi\=2n"m для всех / (1 </</?)•
Доказательство. Поскольку все группы переменных
входят в функцию F(x) совершенно симметрично, можно полагать
1=1. Разобьем сумму (8.29) на три с>ммы в зависимости от
степени, в которой встречаются переменные из хл в одночленах:
т р р т р т
F(x) = £о (хч £° КЦхМф £> £ох„/£,(*.)© % %(хц £оК1Щ
/=1 k = 2 / = 2 / = 1 / = 2 / = 1 Ы
Обозначим эти три суммы соответственно Si, S2 и S3. Первая
сумма содержит переменные из группы х\ в первой степени,
вторая — во второй и выше (поскольку веса наборов а/; не
меньше двух), третья сумма переменных из х\ не содержит.
Поскольку 2т — (т+ l)^2n — [logл] — 3>м = рт при п>6,
то все наборы оц (1^/^р, 1^/^т) можно взять различными.
Поэтому для различных пар /, / все конъюнкции К*[*\)
различны. Следовательно, при различных подстановках констант
на места переменных из групп *2, ...,хр в S2 получаются
различные полиномы Жегалкина (см. § 9 гл. 1), причем все они
не содержат членов степени меньше двух. Поскольку Si и S3
содержат переменные из группы хх меньше чем во второй
степени, то сумма Si®S2®S3 при различных подстановках
констант на места переменных из jc\jci тоже дает различные
полиномы Жегалкина. Утверждение 6 гл. 1 завершает
доказательство леммы. □
Следствие 1. L^{F) ^ n2/logn.
Действительно, в теореме 11 p~n/logn и log|F/|^n. □
Следствие 2. LKC(F)^(n/log п) .
Действительно, минимальное натуральное число /г,
удовлетворяющее неравенству
2"-|,og'l|-2<(36([logrt| + 2)/z)*^
как нетрудо проверить, асимптотически равно n/log п. Остается
воспользоваться теоремой 12. □
160
Пример 2. Пусть х — булева яХя-матрица (т. е. матрица
с элементами jCi,-e{0, 1}), р —(лХл)-матрица перестановок (т. е.
матрица, в каждой строке и каждом столбце которой ровно одна
единица, прочие элементы нули), х-р обозначает Х*/,/?,/. Иногда
ч
это произведение связывают с матримониальной задачей
следующим образом: имеется п женихов и п невест, хц равно 1, если
брак /-го жениха с /-й невестой оказался бы счастливым, и 0 —
в противном случае. Тогда произведение х-р дает количество
счастливых браков, если они заключаются в соответствии с
матрицей р (определение матрицы р обеспечивает женитьбу
каждого в условиях моногамии).
Введем обозначения: т (х) = max (х• р), т0(х) = т (х)(mod 2).
р
Оценим сложность функции т0(х) методом Нечипорука. Для
этого положим Jc*={jt£7l 1 ^«\ /О, / = / + &(mod п)) (/г = 0, 1, ...
..., л— 1). Из определения видно, что каждое из этих п множеств
содержит по п элементов, а именно Хо — это главная диагональ;
х\ — диагональ, лежащая под главной, и элемент х\п\ Х2 —
диагональ, лежащая под предыдущей, и элементы х\п-_\ и х%п
и т. д. Перестановками строк и столбцов можно перевести любое
множество Х{ в другое xjy не меняя значения т(х). Поэтому числа
\Fi\ равны между собой (/ = 0, 1, ..., п— 1). Оценим снизу |F0I —
число различных функций, получающихся из m0(x) при
всевозможных подстановках констант (их Т'~п штук) на места пере-
п-\
менных из (J *k.
k=\
В интересах последующих применений мы установим сейчас
более общий результат. А именно вместо множеств х{ мы
рассмотрим множества z&it, которые содержат переменные из
каждой строки и каждого столбца (здесь х — множество
элементов матрицы х).
Лемма 10. Пусть множество z^x содержит переменные
из каждой строки и каждого столбца матрицы х. Тогда число
различных подфункций, получающихся из функции Шо(х) при
всевозможных подстановках констант на места всех переменных
из x\z, не менее
Доказательство. Поскольку множество z содержит
переменные из каждой строки и из каждого столбца,
перестановками строк и столбцов матрицы х можно добиться того, что
главная диагональ заполнится элементами преобразованного
множества z (обозначим его г'). При этом значение пг(х) не
изменится.
Рассмотрим теперь всевозможные подстановки констант сГ}
на места x\z' такие, что Сц могут отличаться от нуля лишь в
правой верхней четверти матрицы Jc, т. е. при условии /<Ця/2|<
</. Таких мест в матрице не менее [я/2]2 — (|z| — п).
: 6 Р. Г. Нигматулин
161
Пусть две подстановки констант С и С различаются в
позиции (i"o, /о), /о<[я/2]</о, причем с*0/р = 0, с/о/о=1.
Функция т|с, полученная из т(х) подстановкой констант С
на места переменных из x\z\ зависит только от переменных из
z\ т. е. от переменных набора х0 = (хп, Х22, •••> хпп) и еще от
переменных некоторого набора у. Поэтому m|c = m|c(x0, у).
Обозначим через а'0,/о набор
1 ... 1 0 1 ... 1 0 1 ... 1.
1 <о /о п
Вычислим величину т|с(а/(^/0, б), где б—набор, состоящий
из нулей. При Jco = a'0, Ч у = б (и подстановке С или С) /о-я
строка матрицы заполнена нулями (вспомним, что [я/2]</о).
Поэтому для жениха /о нет счастливых невест. Далее, если
жених /о счастливо женится на некоторой невесте к^Ф^
(очевидно, что ki0> [п/2])> то он лишит счастья жениха kio, для
которого невеста kio была единственной счастливой невестой. Для всех
/е{1,..., л}\{/о, /о} браки (/, /) счастливые. Поэтому т\с(б10, /0, б) =
= я — 2. В случае подстановки С брак (/0, /о) тоже счастливый.
Поэтому т |с(510'/0, б)=п — 1. Следовательно, /я |с(о1'0, /0, б) =^
^mle^ef1'0'/0, 0)(mod2)> т. е. пго\сФто\с (а именно они
отличаются в точке б'0, /0, б). Поскольку подстановки разных констант
производятся не менее, чем на [п/2]2 — (|е|— /г) позиций, лемма
доказана. □
Следствие леммы 10. | F01 > 2[п/2] .
Следствие 3. Lo(m0(jc)) ^ и3.
Напомним, что функция m0(Jc) зависит от п2 переменных.
Пример 3. Двухступенчатая выборка из памяти.
Пусть q — натуральное число, m = 2qy 5 = 2". Рассмотрим
n = m — q-\~2s булевых переменных, разбитых на три блока:
£Z|, ..., ат-я, ХоУ ..., Xs-I, 1/0, ..., ys-\-
Переменные блока x в свою очередь разобьем на р групп по т
переменных, положив p = s/m. Группа Xi (O^i^p— 1) по
определению состоит из переменных Jt,m, jc,m+i,..., %+1)т_,. В силу
соотношений между параметрами qy т и s двоичный набор
ai,..., am-^ может служить для задания номера i набора xiy а сам
набор Xi для указания номера одной из переменных г/0, .., ys-\.
Определим функцию f равенством
f(CL\, ..., am-q> Xq, ..., Xs-\y (/о, -.., У8-\) = Уцелое&)> (8.30)
где i = Целое (ab..., ат_^).
Например, пусть <7 = 2, m = 4, ai = l, аг = 0. Тогда
Целое (1,0) = 2. Набор J?2 по определению состоит из переменных
*8, *9, *io, х\\. Пусть они равны соответственно 1,0, 1, 1. Тогда
Лемма 11. При различных подстановках констант в
функцию f, определенную равенством (8.30), на места всех
переменных, кроме xit получается не менее 2s различных подфункций.
162
Доказательство. Зафиксируем переменные а таким
образом, чтобы Целое (3) = *. Тогда 2s различных подстановок
констант на места переменных t/o, .... Ув-\ дают 2s различных
подфункций функции /, зависящих лишь от переменных из й. □
Следствие 4. Ьф(/)^-^—.
Действительно, s~ у , р = ^ — у^Тт П
Следствие 5. LKC(/) >(-JL-)2.
Для доказательства применим теорему 12. В следствии 4 мы
установили, что р~п/(2 log n), s~n/2. По определению т =
= Iogs~logfl. По лемме 11 |F/|>2S. Наименьшее решение
неравенства 2*<(36тй)Л+1 с учетом выписанных соотношений
асимптотически равно п/(2 log п). □
Функция / дает нам пример функции, которая схемами из
функциональных элементов реализуется существенно проще,
нежели контактными схемами. Чтобы убедиться в этом, достаточно
сопоставить со следствием 5 следующее
Утверждение 12. LCO3(/) = 0(ai).
Доказательство. Построим двухступенчатую схему для
функции /. Первая ступень по а и хо, ..., xs-\ строит xiy вторая по
Xi и уо,..., ys-\ находит значение функции /. Ступени устроены
совершенно аналогично. Поэтому опишем только первую ступень.
Она состоит из двух блоков.
В качестве первого блока выступает дешифратор Dm-q. Он
реализует (m — q, 2т_</)-оператор, который преобразует двоичный
набор а\у..., am-q в двоичный набор Wo,..., ш2—«_i, в котором
единица стоит только в разряде с номером Целое(а)\ в прочих
разрядах стоят нули. Очевидно, что на 2m~q выходах этого
блока реализуются всевозможные конъюнкции aV—dm-q.
Поэтому L(Dm-q) = 0(2m~q)=0(s/m) (см., например, для
сопоставления лемму 2 гл. 4).
Второй блок (блок В) выдает группу переменных xiy где / —
номер единичного разряда на выходе дешифратора Dm-q. На
вход блока В подаются выход дешифратора Dm-q (2m~q
разрядов) и 2т переменных jco, ..., xs-i, а /-й выход Ь\ (0^:/<;m--I)
блока В находится по формуле
2"'-»_|
Ь\ = Л\/0 WkXkm + j.
Действительно, если wi= 1, а все прочие Wk равны 0, то bj = Xim+j.
Для реализации одного разряда Ь, достаточно 2т~ц конъюнкто-
ров и 2т~ц^-\ дизъюнкторов. Поэтому L(B)=0(2,n-qm) = 0(2m).
На второй ступени реализуется дешифратор Dm сложности
O(s). Аналог блока В здесь имеет только один выход, который
реализуется со сложностью 0(s).
В итоге получаем L(f)=0(2m-q) + 0(2m) + 0(s) = 0(s) =
= 0(п). □
163
§ 7. Метод Фишера — Мейера — Патерсона
Этот метод служит для получения нижних оценок сложности
в классе формул в базисе Я|. Если метод Нечипорука (§ 6) дает
лучшие результаты в применении к функциям, не обладающим
богатой внутренней симметрией, то метод Фишера—Мейера—
Патерсона, наоборот, скорее приспособлен к симметрическим
функциям, позволяя получать для них нижние оценки вида
en log п.
При его обосновании используется комбинаторная
Лемма 12. Пусть F\y ..., Ft — конечные множества и М\ —
множество элементов, принадлежащих хотя бы двум из них,
т. е.
Afi= ■ U (Fi(]F,).
Тогда существует такое разбиение совокупности {F\y..., Ft)
на две Непересекающиеся части {F,,, ..., Fit\ и {Flr ..., Fim} (ih=£
: Ф/*, /+m = /), что
Доказательство. Число всевозможных (упорядоченных)
разбиений совокупности {F\, ..., Ft\ на две части равно 2'.
Рассмотрим матрицу размера |Afi| Х2', в которой каждому элементу
множества М\ соответствует (взаимно однозначно) строка, а
каждому разбиению — столбец, причем на пересечении строки и
столбца стоит 1, если соответствующий элемент принадлежит
множествам из обеих частей {/•*/,,..., Fit\ и {Fir ..., Fjm}
соответствующего разбиения, т. е. принадлежит множеству
(i^)n(iA)-
Пусть х^М\. Тогда x^Fp и х^.Рч при некоторых (разных) р
и q. Множества Fp и Fq ровно в половине разбиений попадают в
разные части (разбиению, при котором Fp и Fq находятся в одной
части, можно сопоставить разбиение, при котором Fq перенесено
в другую часть). Поэтому каждая строка рассматриваемой
1 о/
матрицы содержит не менее у 2 единиц, а вся матрица — не
менее -^-21\М\\ единиц. Но тогда хотя бы один из 21 столбцов
матрицы содержит не менее -^-|Mi| единиц. Этот столбец и
соответствует разбиению, о котором говорится в лемме. □
Будем рассматривать формулы в базисе Р\ (состоящем из
констант 0 и 1 и булевых функций одной и двух переменных).
Сложность символов 0 и 1 будем считать равной нулю. Обозначим
число переменных, входящих в формулу F, через n(F). Отме-
164
тим, что число несущественных переменных среди них может быть
любым от 0 до n(F).
Формулу, получающуюся из формулы F при подстановке
констант А ={*/, = <ji,..., Jtlm = am), гдеауе{0, 1}(/=1, ..., т), будем
обозначать через F\A (никакие упрощения при этом не
производятся). Очевидно, что переменными формулы F\A являются все
переменные формулы /\ кроме я,-,,..., Jt,m, и
n(F\A)^n(F)-m.
Подстановку А = {л:,, = a i, ..., xim = om} (aye{0, lj, /=1,..., m)
будем называть центральной, если среди констант ai, ..., am
1) поровну нулей и единиц (пг четное),
2) число нулей на 1 больше числа единиц (пг нечетное),
3) число единиц на 1 больше числа нулей (пг нечетное).
В случаях 1) и 2) подстановку будем называть также
^-центральной, а в случаях 1) и 3) — 1-центральной.
Заметим, что пустая подстановка является одновременно
центральной, О-центральной и 1-центральной.
В основе метода Фишера — Мейера — Патерсона лежит
следующая
Лемма 13. Пусть F — формула в базисе Р\, причем каждая
переменная входит в формулу F не более г раз (г ^ 1). Тогда
существует такая центральная подстановка А констант вместо
части переменных, входящих в формулу F, что формула F\A
реализует линейную функцию и
n(F\A)> A n(F\ '(8.31)
где К — положительная константа (например, можно взять
/( = 8000), причем в качестве А можно выбрать как
^-центральную, так и {-центральную подстановку.
Замечание. Безусловно, константа К весьма велика.
Отчасти это связано с попыткой сделать более доступным
изложение. Однако и у авторов метода константа К велика (они даже
не вычисляют ее, но, по-видимому, у них /(=1440).
Доказательство будем вести индукцией по сложности L(F) =
= Lo (F). При индуктивном переходе вместо неравенства (8.31)
удобнее доказывать неравенство
n(F\A)^b(r)n(F\ . (8.32)
где 2
*(0 = тр (8.33)
ас — положительная константа. Если выполняется условие
1° с>2,
то при г^1 неравенство (8.32) влечет за собой неравенство
(8.31).
165
Константа с (как, впрочем, и константа К) будет определена
в конце доказательства из тех условий (подобных условию 1°),
которые постепенно будут на нее накладываться.
Итак, приступим к доказательству леммы в слегка усиленной
форме, отличающейся заменой неравенства (8.31) неравенством
(8.32) (подразумевается, что условие 1° выполнено).
Начальный шаг: L(F) = 0. При этом n(F) = 0 и сама
формула F реализует линейную функцию (константу). Взяв в
качестве А единственно возможную — пустую подстановку, мы
тривиальным образом удовлетворим требованиям леммы, в том
числе неравенству (8.32).
Предположим теперь, что L(F)> О и что для любой формулы,
сложность которой меньше L(F), лемма (с неравенством (8.32))
уже доказана. Будем доказывать ее для формулы F. Заметим,
что теперь n(F)^\.
Случай 1. Формула F содержит подформулу, реализующую
константу и имеющую ненулевую сложность (этой подформулой
может быть и сама формула F).
Заменив эту подформулу в формуле F константой, которую
она реализует, мы получим формулу F', для которой справедливо
тождество
fssF. (8.34)
Далее, поскольку
L(F')<L(F),
по предположению индукции существует такая подстановка А
(как О-центральная, так и 1-центральная), что формула F'\A
реализует линейную функцию и
n(F'\A)>b(r)n(F'). (8.320
В силу (8.34)
а значит, формула F\A тоже реализует линейную функцию.
Остается доказать неравенство (8.32).
Положим
v = n(f,)-Az(F'). (8.35)
Заметим, что v>0h
v = n(F\A)-n(F'\A) (8.36)
подстановка А фиксирует часть переменных формулы F', а это
в свою очередь — часть переменных формулы F). В силу (8.36),
(8.320 и (8.35)
n(F\A) = n(F'\A) + v^b(r)n(F') + v =
= b(r)(n(F)-v) + v = b(r)n(F) + v(l-b(r)).
166
Введем условие
2° *(г)<1.
Тогда неравенство (8.32) будет выполнено.
Случай 2. Формула F имеет вид
F=F'®Xi (8.37)
(формула F' может содержать переменную *,-, а может и не
содержать ее).
Поскольку
L(F')<L(f),
по предположению индукции существует такая подстановка А
(как О-центральная, так и 1-центральная), что формула F'\A
реализует линейную функцию и (так же, как в случае 1)
выполняется неравенство (8.32'). В силу (8.37)
а значит, формула F\A тоже реализует линейную функцию.
Неравенство (8.32) доказывается в точности так же, как в
случае 1.
Случай 3. Число переменных формулы F удовлетворяет
неравенству
b(r)n(F)<\.
В качестве А можно взять любую центральную подстановку,
фиксирующую все переменные, кроме одной. Тогда F\A
реализует линейную функцию (ибо все функции одной переменной
являются линейными) и
n{F\A) = \^b{r)n{F\
Случай 4 включает в себя все, что не вошло в
предыдущие случаи, и является основным.
Начнем с простого соображения. Если лемму доказать не
для формулы F, а для эквивалентной ей формулы с тем же
числом вхождений каждой переменной, то тем самым лемма будет
доказана и для формулы F. Это соображение позволит нам
делать некоторые простые преобразования формулы F.
Можно считать, что формула F не содержит подформул,
тождественно равных константе. Действительно, если бы в
формуле F была такая подформула ненулевой сложности, то мы
имели бы случай 1, а если бы все такие подформулы имели
нулевую сложность, то мы удалили бы их из формулы F, заменив
одновременно те двуместные операции, у которых ровно на одно
место поступает константа, соответствующими одноместными
операциями. При этом число вхождений каждой переменной в
формулу F осталось бы прежним. Итак, считаем, что в формуле F
нет подформул, тождественно равных константе.
167
Пользуясь коммутативностью и ассоциативностью сложения
по модулю 2, представим формулу F в виде
F = FX® ... ®Fi@ ... еЛ0а, (8.38)
где ни в одной подформуле Ft (/=1,..., /) внешняя операция
(если она есть) уже не является линейной, причем />1, a as
е{0, 1}. Заметим, что такое преобразование сохраняет
неизменным число вхождений каждой переменной в формулу F.
Далее, каждая подформула F/ (/=1,..., /) отлична от
переменной, так как иначе (с точностью до коммутативности и
ассоциативности сложения по модулю 2) мы имели бы случай 2.
Поэтому каждую подформулу F, можно представить в
следующем виде (сохранив число вхождений каждой переменной):
^=((О0а'&(Я0Р')е7/, (8.39)
где Gi и Hi — подформулы формулы Fi, причем без ограничения
общности можно считать, что a, = p,= l, a yt = 0 (константу у/
можно включить в константу а из (8.38), а изменив
обозначения, можно взять в качестве G/ подформулу (G,)a/ из (8.39)
и в качестве Hi подформулу (#/)р< из (8.39)). Итак, каждая
подформула Fi (/=1,..., /) представима в виде
Fi=Gi&Hi, (8.39')
где обе подформулы Gi и Hi отличны от констант.
Множество переменных формулы F разобьем на три
подмножества:
М\ — множество переменных, входящих хотя бы в две
подформулы из Fi, ..., Ft\
Мч — множество переменных, входящих лишь в одну
подформулу Fi (/=1,..., /), причем одновременно в подформулы G, и //,;
Мз — множество всех остальных переменных формулы F.
Очевидно, что множество Мз состоит из переменных, каждая из
которых входит либо лишь в подформулу Gi (при одном каком-
то /), либо лишь в подформулу Н\ (при одном каком-то /).
Для краткости положим n = n(F) и введем новую константу
а> 0, которая также будет определена в конце доказательства.
В случае 4 рассмотрим три подслучая, соответствующих
следующим неравенствам:
|М,|>2ал,
|М2|>Зал,
\M3\>(l-5a)n.
Очевидно, что этими подслучаями случай 4 исчерпывается
полностью.
Случай 4.1. Выполняется неравенство
\М{\^2ап. (8.40)
Применим лемму 12, понимая под F\, ..., Ft множества
переменных, входящих соответственно в подформулы F\f..., Ft из
168
(8.38). На основе полученного разбиения преобразуем (8.38) к
следующему виду:
F=F'®F"@oy
где
F" = Fh е ... ®FjmJ
причем в силу леммы 12 и неравенства (8.40) подформулы F'
и F" имеют не меньше an общих переменных.
Пусть А\ — центральная подстановка (ее можно взять как
0-центральной, так и 1-центральной), фиксирующая все
переменные формулы F, не являющиеся общими для F' и F". Тогда
FU=(F'\Ai)(B(F"\a,)®°
И
n(F'\Al)=n(F"\Al)=n(F\Al)^an. (8.41)
Очевидно, что каждая переменная входит в каждую из
подформул F'\A{ и F"\Ai не более г—1 раз. Обозначим через Vs
множество переменных, входящих ровно 5 раз в F'\Ai (и,
следовательно, не более r — s раз в F"*\Ai)y s=l,..., г—I. В силу
(8.41)
г-\
£ \Vs\>an. (8.42)
s=l
Пусть теперь 5 — произвольное фиксированное число из
множества {1,..., г—1}, и пусть А2 — центральная подстановка,
фиксирующая все переменные формулы F\Al9 не входящие в Vs.
Далее, пусть В=ЛИ2 (т. е. В — подстановка, сформированная
из подстановок А\ и А2). Ясно, что при соответствующем
выборе Лг подстановку В можно сделать как 0-центральной, так
и 1-центральной. Очевидно, что
F\B=(F'\B)(B(F"\B)(Bo
И
n(F'\B)=n(F"\B)=n(F\B)=\V,\, (8.43)
причем каждая переменная входит ровно s раз в F' \в и не более
r — s раз в F" \в.
Пусть Аз — центральная подстановка, которая по
предположению индукции существует для формулы F'\B (проверка
неравенства L(F'\B)<L(F) не представляет труда), и пусть
С = ВЛ3. Тогда
n(F'\c)^b(s)n(F'\B\
или (что то же самое)
n(F\c)>b(s)n(F\B), (8.44)
169
причем в формуле
F\c=(F'\c)®(F"\c)(Bo
подформула F'\c уже реализует линейную функцию.
Пусть А\ — центральная подстановка, которая по
предположению индукции существует для формулы F" |с, и пусть А = СЛ4.
Тогда
n(F"\A)>b{r-s)n{F"\c\
или (что то же самое)
n(F\A)>b(r-s)n(F\c), (8.45)
причем в формуле
F\A=(F'U)(B(F"\A)®o
подформула F" \А уже реализует линейную функцию. Но и
подформула ■ F' \А реализует линейную функцию, так как она
получена подстановкой из подформулы F' |с, уже обладающей этим
свойством. Значит, и формула F \А реализует линейную функцию,
причем нетрудно проверить, что подстановку А можно взять как
0-центральной, так и 1-центральной. Осталось доказать
неравенство (8.32).
Вспоминая, что 6(г)>0 при всех г (см. (8.33)), из (8.45),
(8.44) и (8.43) получаем
n(F\A)^b(r-s)b(s)\Vs\.
Отсюда видно, что неравенство (8.32) будет доказано, если для
какого-нибудь 5 из множества {1, .... г—1} мы установим
неравенство
I у J > b(r)n
lKsl^ b(s)b(r-s)'
Последнее неравенство в свою очередь будет выполняться хотя
бы при одном 5 из множества {1,..., г—1}, если будет
выполняться неравенство ;
s=\ s=\
Наконец, это неравенство будет выполняться, если будет
выполняться следующее условие (чтобы его получить, надо
воспользоваться (8.42)):
3° a>b(r) у 7Г7-71 ,,
L b(s)b{r — s)
s= 1
которое мы и налагаем на константу а и на функцию b(г) (т. е.
фактически на константы Кис).
Подводя итог, мы можем сделать вывод, что при условии 3°
неравенство (8.32) выполняется, а значит, подстановка А
удовлетворяет лемме.
170
Случай 4.2. Выполняется неравенство
\М2\>Зап. (8.46)
Пусть А' — центральная подстановка, фиксирующая все
переменные формулы F, не входящие в множество М2. Тогда
(см. (8.38))
f\a>=(Fi\A')® ... е(ЛЫе ... е(ЛЫеа,
где (см. (8.39'))
Fi\a-=(Gi\a-)&(Hi\a-), i=1,.... /,
я(С,ио=л(Я/ио=я(лио.
причем множества переменных, входящих в формулы
Л |.г, ••> Fi\a^ •••» ^U'»
не пересекаются.
Очевидно, что каждая переменная входит в каждую из
подформул Gi\A* и Hi\A* (/=l,..., /) не более г—\ раз.
Обозначим через Vsi множество переменных, входящих ровно s раз в
Gi\A> (и, следовательно, не более r — s раз в Hi\A>), 5=1,..., г—1,
/=1,..., /. Положим /
Vs= U Vsi.
1=1
В силу (8.46)
г-\
£ \Vs\>San. (8.47)
S = 1
Дальше действуем подобно тому, как в случае 4.1. Однако,
поскольку условие 3° уже введено, рассуждения теперь можно
вести в другом, более удобном порядке.
Из (8.47) и условия 3° следует, что
S = 1 S = 1
а значит, для какого-нибудь 5 из множества {1,..., г—1}
выполняется неравенство
Рассмотрим это число s. Пусть А" — центральная подстановка,
фиксирующая все переменные формулы F\A>, не входящие в
Vs, и пусть В=А'А". Тогда
F\b = (F\\b)9 ». ®(Fi\B)® -. е(Л|*)©а,
где
Fi\B=(Gi\B)&{Hi\B), 1=1...., /,
n{Gi\B) = n(Hi\B) = n(Fi\B)
171
и
Zn(F,\B)=\Vtl (8.49)
1=1
причем каждая переменная входит при некотором / ровно 5 раз
в Gi\B и не более r — s раз в #,|в и не входит ни в Gj\Bt ни в
Hj\B при \фи .
Рассмотрим теперь произвольную формулу Ft\B. Пусть А'" —
центральная подстановка, которая по предположению индукции
существует для формулы G,|B, и пусть Gi = BA'". Тогда
n(Gi\c)>b{s)n(Gi\B\
или (что то же самое)
n(Fi\c)>b(s)n(Fi\B\ (8.50)
причем в формуле
Fi\cMGi\c)b{Ht\c)
подформула Gi\c. реализует линейную функцию.
Пусть Л|у — центральная подстановка, которая по
предположению индукции существует для формулы Нцс., и пусть Д =
= СЛ|У. Тогда
n(Hi\Di)>b(r-s)n(Hi\cX
или (что то же самое)
n{Fi\D)^b(r-s)n{Fi\c), (8.51)
причем в формуле
подформула Hi\Di реализует линейную функцию, как, впрочем,
и подформула Gi\Di.
Множество переменных формулы Fi\D. разобьем на четыре
подмножества: jVi, — множество переменных, не существенных
для Gi\D. и Hi\D.\ N21 — множество переменных, не существенных
для Gi\D. и существенных для Я,-|д; Afoi— множество
переменных, существенных для G/|D. и не существенных для //,|д, и Л^4/ —
множество переменных, существенных для G,|D. и #/|д.
Тогда
| Nu | + | N2i I + I Nzi I + I N« I =n(Fi IA). (8.52)
Обозначим через Ni множество, на котором достигается
тах(|УУ2/|, |Л/з/|, \N«\).
Тогда из (8.52) получим
л(Ли)<|^н|+3|М|<3(|^,/| + |М|).
172
и, следовательно,
|M,| + |M|>-Ln(F-|a). (8.53)
Пусть теперь Af — центральная подстановка, фиксирующая все
переменные формулы Fi\Di> не входящие в множество Nu[)Ni9
и пусть Ei = DiA). Тогда независимо от того, совпадает М с Л^2/,
или с #з/, или AU/, формула
Fi\eMGi\e,)&(Hi\Ei)
реализует линейную функцию, причем
n(Fi\E)=\Nu\ + ]Ni\. (8.54)
При 1ф\ подстановки £« и £у имеют общую часть —
подстановку В, а в остальном они действуют на множествах
переменных, входящих соответственно в F\B и F\B, которые, согласно
сказанному ранее, при 1Ф\ не пересекаются. Поэтому
подстановки Ei (/=1,..., /) не противоречат друг другу, и из них можно
сформировать новую подстановку, которую мы обозначим
через А. Очевидно, что при любом /=1,...,/
Fi\A = Fi\Ei,
n{F\A) = n{F\E), (8.55)
и формула
F\A=(FiU)®...®(Fi\A)®...®(Fl\A)®o
реализует линейную функцию.
Из-(8.55), (8.54), (8.53), (8.51) и (8.50) следует, что
n(Fi\A)>±b(r-s)b(s)n{Fi\B).
Суммируя эти неравенства и учитывая (8.49) и (8.48), получим
in(Fi\A)>b(ryi.
i= 1
Поскольку множества переменных, входящих в разные
подформулы Fj]^ (/=1,...,/), не пересекаются, сумма в левой части
последнего неравенства совпадает с n(F\A), т. е. мы получили
неравенство (8.32).
Наконец, ввиду того что каждую из подстановок А\ А'\ А'",
AY и Af (/=1,..., /) можно было выбрать как 0-центральной,
так и 1-центральной, это же справедливо для подстановки А.
Случай 4.3. Выполняется неравенство
|Мз|>(1-5а)п. (8.56)
Кроме того, выполняется неравенство
b(r)n> 1, (8.57)
так как иначе мы имели бы случай 3.
173
Обозначим через gi число переменных, входящих лишь в
подформулу G,, а через А, число переменных, входящих лишь
в подформулу Hi. Заметим, что
5>+2> = |Л«з|. (8.58)
Без ограничения общности можно считать, что
gi>hi.
При этом из (8.58) и (8.56) получаем
1ё1>\(У-Ьо)п. (8.59)
Из (8.39') следует, что при любой подстановке, фиксирующей
переменные подформулы Я, и обращающей ее в 0, становятся
несущественными те переменные формулы F (см. (8.38)),
которые входят лишь в подформулу G«. Это подсказывает
дальнейший план.
Однако сначала полезно выяснить, при каких условиях
непустую центральную подстановку В (в формулу F), которая
фиксирует переменные одного множества U и делает
несущественными переменные другого множества V, можно
продолжить до центральной подстановки Л, удовлетворяющей лемме
(с неравенством (8.32)).
Связь между подстановкой В и множествами U и V
описывается следующими тремя соотношениями:
n = \U\ + n(F\B); (.8.60)
при любой подстановке С, фиксирующей переменные
множества Vy
F\b = F\bc (8.61)
(т. е. F\B и F\BC реализуют одну и ту же функцию);
n(F\B)=\V\ + n(F\BC). (8.62)
Пусть D — центральная подстановка, которая по
предположению индукции существует для формулы F\BC. Тогда формула
F\BCD реализует линейную функцию и
n(F\BCD)>b(r)n(F\BC). (8.63)
В силу (8.61)
F\bd = F\bcd>
а значит, формула F\BD тоже реализует линейную функцию,
причем
n(F\BD)=\V\ + n(F\
BCD)*
174
откуда в силу (8.63), (8.62) и (8.60) следует, что
n(F\ BD)> \V\ + b(r)n(F\ BC)=\V\ + b(rXn(F\ B)-\V\)~ \У\ + Ь(ф -
-\U\-\V\)=b(r)n + \V\-b(rX\U\+\V\).
Отсюда видно, что подстановка A=BD будет удовлетворять
лемме (с неравенством (8.32)), если будет выполняться
неравенство
\V\>b{rX\U\+\V\), (8.64)
а подстановку В можно будет выбрать как 0-центральной, так
и 1-центральной.
Теперь при каждом /=1,..., / среди подстановок,
фиксирующих все переменные подформулы Я, и обращающих Hi в 0
(подформула Hi отлична от константы, так что такие
подстановки существуют), выберем ту (одну из тех), для которой
абсолютная величина разности межау числом нулей и числом
единиц в подстановке минимальна. Обозначим этот минимум
через d(Hi). Ясно, что
d(Hi)^n(Hi). (8.65)
Далее, если
n(Hi)+d(Hi)^ny (8.66)
то выбранную подстановку можно продолжить до центральной
подстановки В,, подставляя константу (одну и ту же) вместо
d(Hi) переменных формулы F, не входящих в подформулу Я/.
При каждом i=l,..., / эти d(Hi) переменных выберем так, чтобы
среди них оказалось как можно меньше тех переменных,
которые входят лишь в подформулу Gi. Обозначим через Ui
множество переменных, фиксируемых подстановкой В,, а через V,-
множество тех переменных, которые входят лишь в подформулу
Gi и не принадлежат множеству (У/. Очевидно, что
]Ui\ = n(Hi) + d(Hd, (8.67)
|V,|=min (gi,n-(n(Hi) + d(Hi)))9 (8.68)
причем подстановка В, делает несущественными переменные
множества 1/,-.
Случай 4.3 разобьем еще на два подслучая.
Случай 4.3.1. При любом /=1,..,/ выполняется
неравенство
n-(n(Hi) + d(Hi))^gi. (8.69)
Тогда выполняется неравенство (8.66), а значит, подстановка В*
существует. При этом для Ut выполняется соотношение (8.67),
а соотношение (8.68) для Vt в силу (8.69) можно переписать
в виде
\Vi\=gi. (8.68')
175
Согласно сказанному выше, центральную подстановку В,
можно продолжить до центральной подстановки Л,
удовлетворяющей лемме (с неравенством (8.32))э если выполняется
неравенство (8.64), которое в данном случае с учетом (8.67)
и (8.68') можно записать так:
»>б(гХя(яо+ад)+#)
или (что то же самое)
(l-ft(r))&>ft(rXn(tfi) + d(//,)).
Последнее неравенство будет выполняться хотя бы при
одном / из множества {1,...,/}, если будет выполняться
неравенство
t (1 ~b(r))gi> l b(rMHi)+d(H,)).
1=1 /=l
Это неравенство в свою очередь будет выполняться, если будет
выполняться следующее неравенство (чтобы его получить,
надо воспользоваться (8.59) и (8.65)):
|(1 -6(г)Х1 -5a)n^2b(r) I n(Ht).
/ = i
Наконец, из цепочки неравенств
£ п(НЦ < £ L(Hi) < L(F) < nr
i=i /=i
вытекает, что предыдущее неравенство будет выполняться,
если будет выполняться условие
(1—ft(0Xl—5а)>46(г)г
или несколько более сильное условие (а> 0 и b(r)> О — см.
(8.33))
4° 1-5а>6(гХ4г+1),
которое мы и налагаем на константу а и функцию b{r).
Подводя итог, мы можем сделать вывод, что при условии 4°
для некоторого / из множества {1,...,/} подстановку В, можно
продолжить до подстановки Л, удовлетворяющей лемме (с
неравенством (8.32)).
Случай 4.3.2. При некотором / из множества {1,...,/}
выполняется неравенство
n-(n(Hi) + d(Hi))<gi. (8.70)
Если наряду с этим (при том же /) выполняется
неравенство
n-(n(Hi)+.d(Hi))^b(r)n, (8.71)
176
то выполняется неравенство (8.66), а значит, подстановка В,
существует. Но тогда в силу (8.67), (8.68) и (8.70)
n(F\>) = n-(n(Ht) + dm) = \Vi\.
т. е., во-первых, все переменные формулы Т7^. являются
несущественными и, таким образом, F^. реализует константу, а во-
вторых, неравенство (8.71) принимает вид
n(Fh)^b(r)n.
Отсюда видно, что в качестве подстановки Л, удовлетворяющей
лемме (с неравенством (8.32)), можно взять подстановку В,.
Поэтому остается рассмотреть ситуацию, когда
неравенство (8.71) не выполняется, а значит, выполняется неравенство
(1 -b(r))n<n(Hi) + d(Hi). (8.72)
Каждому набору а значений переменных формулы #,
сопоставим число d(a), равное абсолютной величине разности между
числом нулей и числом единиц в наборе а. Согласно
определению величины d(Hi), существует такой_ набор о0, что d(oo) =
=d(Hi) и //,(a0)=0, а для всех наборов а таких, что d(a)<d(#/),
непременно tf/(a)=l.
Поэтому если в формуле //, выбрать любым способом менее
d(Hi) переменных, а вместо всех остальных ее переменных
подставить поровну нулей и единиц, то //, превратится в формулу,
тождественно равную 1.
Наибольшее число d(#,)—1 переменных можно было бы
выбрать, если бы было четным число n(Hi) — d(Hi)+l остальных
переменных формулы //,-. Тем не менее либо число я(//,-) —d(//,-)-f-
+ 1, либо число n(Hi) — d(Hi) + 2 четное (на самом деле четным
является число п(Н{) —-d(#,)-j-2, в чем можно убедиться,
воспользовавшись существованием набора а0, для которого d(oo)=d(Hi)).
Поэтому заведомо можно выбрать не меньше чем d(Hi) — 2
переменных.
Эти d(Hi) — 2 переменных выберем так, чтобы среди них
оказалось как можно больше тех переменных, которые входят
лишь в подформулу Hi. Затем сделаем центральную
подстановку, фиксирующую все остальные переменные подформулы
Hi (при этом, как уже отмечалось, Я/ обратится в 1), и
продолжим ее до центральной подстановки Л, фиксирующей
помимо этого все переменные подформулы G, и подформул
Fu..., Fi-u Fi+i,...9Ft (см. (8.39') и (8.38)). В результате
получится формула F\A, реализующая константу, причем
n(F\A)=mm(d(Hi)-29hi).
Осталось доказать неравенство (8.32), которое теперь запишется
в виде
min (d(Hi)- 2, hi)> b{r)n. (8.32")
7 Р. Г. Нигмапулин
177
Замечая, что ft, — это число переменных формулы //,-,
принадлежащих множеству Мз, и учитывая, что число
переменных формулы Я/, не принадлежащих множеству М3, не может
быть больше п — |Мз|, получим
Л,>л(Я,)-(л-|Мзр.
В силу (8.65) и (8.56) отсюда следует, что
hi^d(Hi) — 5ап,
и, таким образом
min (ОД) —2, A,)>d(///) —5ая —2.
Поэтому неравенство (8.32") будет доказано, если мы установим
неравенство
d(Hi)-5an-2^b(r)n.
Из цепочки неравенств (полученной с помощью (8.72),
определения чисел gi и (8.59))
d(Hi)> (1-6(г))л-л(Я,)>
>(l-b{r))n-(n-£gi)>±(l-ba)n-b(r)n
вытекает, что предыдущее неравенство будет выполняться, если
будет выполняться неравенство
у (1— 5ос)л — b(r)n^b(r)n + 5an + 2.
Наконец, это неравенство будет выполняться, если будет
выполняться следующее условие (чтобы его получить, надо
воспользоваться (8.57)):
5° 1 —15а>86(г),
которое мы и налагаем на константу а и функцию Ь(г).
Подводя итог, мы можем сделать вывод, что при условии
5° неравенство (8.32") выполняется, а значит, подстановка А
удовлетворяет лемме.
На этом рассмотрение всех случаев закончено.
Теперь остается подобрать положительные константы /С, с
и а так, чтобы выполнялись условия 1°—5°. С учетом (8.33)
эти условия перепишутся в следующем виде:
1° с>2,
2° 1 >—,
/С
3° —>У —!—.
г2 ^ L. s2(r-s)2
.-=, - е-*
178
4° 1>5а+Сг2(4г+1),
К'
5° 1^15а+ —.
/С
Заметим, что условие 2° следует, например, из условия 5°, а
условие 1° следует, например, из условий 3° и 5°: в силу 3°
(которое должно выполняться при любом г, скажем при г = 2)
ас ^4, а в силу 5° 1^15а, т. е. с ^60. Поэтому достаточно,
чтобы выполнялись условия 3° — 5°.
Начнем с того, что заменим условие 3° более сильным
условием, которое зато легче проверяется. С этой целью оценим
сверху правую часть условия 3°:
г-\ \г/2\ г-\
у ' = у ' + у — =
|г/2| г— [г/2| - I fr/2I
I—|/-/2]-1 °°
+ У ' <2^М V ' <16
^ Li fe2(r/2)2 v »■ / Ly л2
(см. аналогичную оценку в конце § 4). Отсюда следует, что
условие 3° будет выполнено, если будет выполняться условие
3°° ас>16.
Итак, константы /С, с и а будем выбирать, исходя из условий
3°°, 4° и 5°.
Возьмем (так же, как и авторы метода)
а=1/30.
Тогда в силу 3°° с ^480. Возьмем
с = 500.
Тогда из условия 5° при г=1 получим К^8000. Возьмем
/(=8000.
Нетрудно проверить, что при этих значениях /С, с и а условия
4° и 5° выполняются при любом г^1. Как мы уже видели, при
этом выполняются и условия 1°, 2° и 3°. Лемма доказана. □
Для произвольной булевой функции / (так же, как и для
формулы) n(f) будет обозначать число ее переменных, a f\A —
функцию, получающуюся из / при подстановке А. Положим
D(f)=maxn(f\A),
где максимум берется по всем 1-центральным подстановкам Л,
при которых функция f\A линейна (с равным успехом максимум
179
можно было бы брать по О-центральным подстановкам). Число
D(f) будем называть линейным диаметром функции /.
Теорема 13 (Фишера — Мейера — Патерсона). Для
любой булевой функции f от п переменных в базисе Pi справедливо
неравенство
Доказательство. Рассмотрим произвольную
минимальную формулу F в базисе Р| для функции /. Тогда
U(f)=L(F). (8.73)
Упорядочим переменные функции / так, чтобы раньше шли
переменные, входящие в формулу F большее число раз.
Обозначим через г число вхождений в формулу F переменной,
занимающей место с номером [я/2] +1- Поскольку каждая из
предыдущих переменных входит в формулу F не менее г раз,
L(F)>([n/2]+\)r. (8.74)
Для оценки г в этом неравенстве мы воспользуемся леммой 13.
Сделаем 1-центральную подстановку В, фиксирующую первые
[л/2] переменных функции f. При этом мы получим формулу
F\By в которую каждая из оставшихся переменных входит не
более г раз, причем
n(F\B)=n-[n/2]. (8.75)
Применяя к формуле F\B лемму 13, мы видим, что существует
такая центральная подстановка Л, что формула F\BA реализует
линейную функцию и
n(F\BA)>±n(F\B), (8.76)
Л
причем подстановку В А можно сделать 1-центральной.
Наконец, в силу определения линейного диаметра функции
D(f)>n(F\BA). (8.77)
Остается свести полученные соотношения в одно. Из (8.77),
(8.76) и (8.75) следует, что
D(f)>±(n-[n/2])>±,
откуда
^ *KD(f)
Подставляя эту оценку в (8.74), учитывая, что [я/2]+1> я/2,
и пользуясь (8.73), получаем неравенство теоремы. П
180
Эта теорема дает нижнюю оценку сложности формул в
базисе Pi порядка я log л, если с ростом п линейный диаметр
D{f) растет не слишком быстро. Особенно удобно применять
теорему к симметрическим функциям. Например, для
элементарной симметрической функции S[nn/2] (равной 1 лишь на наборах,
содержащих ровно [п/2] единиц)
n/c(«/2j\ = f 1, если п нечетно,
* " 12, если п четно,
и, таким образом, в базисе Pi
U(S\?/2])^n\ogn.
Аналогично для монотонной симметрической функции (функции
голосования) Sin/21 + I п имеем
D(Sln/2] + l Л) = 1,
и, таким образом, в базисе Pi
L<b(S\?l2]+i n)^n\ogn.
Вообще Фишер, Мейер и Патерсон показали [131], что для
почти всех симметрических функций Sn в базисе Pi
^o(5„)>«log«.
Комментарии
Краткие обзоры по нижним оценкам сложности можно найти в [53, 64, 101,
165).
1. Результаты § I принадлежат К. Кардо [123]. Это, пожалуй, первое
нетривиальное доказательство нижней оценки сложности.
3. Е. Королева [31] доказала минимальность контактных схем,
реализующих соответственно сравнение двух /i-разрядных двоичных чисел и
прибавление единицы к л-разрядному двоичному числу.
Нижние оценки сложности вида сп в классе контактных схем позволяют
получать также метод совместных распределений, предложенный С. В.
Яблонским (см., например, [26]), и метод сложения цепей в контактной схеме [16,
153, 163, 205].
2. Теорема 2 доказана Н. П. Редькиным [76]. В той же работе доказана
минимальность схем еще для некоторых функций (оператор сравнения и
оператор совпадения). Теорема 3 принадлежит К. П. Шнорру [185].
Нижние оценки сложности конъюнкции и дизъюнкции в базисе, состоящем
из штриха Шеффера, получали Е. П. Сопруненко [85] и Е. С. Горелик [15].
3. Теоремы 4 и 5 доказаны в работе Б. М. Клосса и В. А. Малышева [28].
Это, по-видимому, первая нетривиальная нижняя оценка сложности для схем
в базисе Р\. Свойству многократной парной разделимости, использованному
в теореме 5, родственно свойство, введенное Л. X. Харпером и Дж. Э. Сэйвид-
жем [139]. Следуя им, обозначим через Рр, q множество функций f(xu..., *„),
обладающих следующим свойством: при различных подстановках констант на
места любых р переменных получается не менее q различных подфункций. В
работе [139] (см. также [183]) для произвольной функции /еЯз,5 получена
оценка L(j)^ —-—, а в работе [140] L(f)^—^— в базисе В — Р\.
У о
Предположение о зависимости сложности функции от числа ее подфункций
было высказано С. В. Яблонским еще в работе [109]. Оно нашло
подтверждение в работах А. Л. Тоома [92] и Д. Улига [94, 197] в статистической
форме: пусть Тъ п обозначает множество функций f(x\, ..., х„), у которых число
181
подфункций не превосходит уЗп (очевидно, что у не может превосходить
единицы). Тогда
ЦТ+*)~В(у)£-,
где В (у) — константа, зависящая только от у и от базиса. Однако большое
число подфункций еще не может обеспечить высокой нижней оценки сложности.
В работе [95] Д. Улиг построил пример функции, имеющей асимптотически 3я
различных подфункций и сложность, асимптотически не превосходящую Зп.
Все упомянутые в этом пункте доказательства нижних оценок сложности
учитывают только элементы, «близлежащие» от полюсов. В работе [187] в расчет
принимаются и элементы, далекие от полюсов, а в рабете В. Ю. Пауля [167]
проводится глобальный анализ схемы. Это позволило ему поднять нижнюю
оценку сложности до 2,5/г. За счет более тщательного анализа схемы К. П. Шнорр
[188] и Н. Блюм [118] повысили его оценку до 2,75/г (теорема 6), а
видоизменив функцию, Н. Блюм [119] довел оценку до Зп (теорема 7).
Л. Дж. Стокмейер [193] получил нижнюю оценку 2,5л для симметрических
функций. Н. П. Редькин [78] доказал минимальность схемы сложения (см. § 1
гл. 6). В работе К. П. Шнорра [185] устанавливается связь между
сложностью схем и простыми импликантами функции.
4—5. Первая нелинейная эффективная нижняя оценка сложности (вида
сп3/2) была установлена Б. А. Субботовской [86] для линейной функции в
классе П-схем. Метод Субботовской в ряде неопубликованных исследований
применялся и к другим функциям, однако полученные при этом оценки
впоследствии улучшались другими методами. И лишь совсем недавно А. Е. Андреев
(см. [209]) предложил такое обобщение метода Субботовской, которое
позволило получить рекордную на сегодняшний день нижнюю оценку сложности в
полном базисе — почти я5/2. Правда, пока что такие оценки» удается получать
лишь для специальных функций, построенных на основе идеи универсальной
функции Нечипорука.
Метод Храпченко и его применения описаны в [96, 97]. Функция из
примера 3 (вычисление детерминанта) с точки зрения оценок сложности впервые
рассматривалась Б. М. Клоссом [29], который применил к ней метод
Нечипорука. Для оценки сложности характеристических функций кодов метод
Храпченко применял А. К. Пулатов [71]. Другие примеры дают работы [99, 79].
К. Л. Рычков [80] обобщил метод Храпченко, что значительно расширило
пути получения оценок. В частности, он получил квадратичные нижние оценки
сложности для характеристических функций широкого класса кодов.
По-видимому, возможности предложенной им модификации этим далеко не исчерпываются.
Для формул в базисе (&, V. ~1 известно еще несколько нижних оценок
сложности. Так, для монотонной симметрической функции /„= V */*/
Р. Е. Кричевский установил [36] оценку Ln(fn) ^сп log л, которую он же
уточнил [37] до Ln(/«)=«[log«H-2(/i-2(,ogrtJ).
Еще одно свойство, характеризующее многообразие подфункций функции,
рассмотрел В. А. Малышев: функция f(x\,..., хп) называется дифференцируемой
порядка т (т<л), если при любой подстановке констант на места любых т
переменных получается функция, существенно зависящая от всех оставшихся
п — т переменных. Множество таких функций обозначим через W„. т. Для
функции f^W„, т применением метода забивания переменных в базисе (&, V, ~}
устанавливается оценка [55]
2 log log m '
Этот метод применяется в [72].
6. Метод Нечипорука опубликован в [57]. Различные варианты
доказательства теоремы 11, дающие различные значения константного множителя в этой
теореме, можно найти в [138, 167, 183].
Пример 1 применения метода предложен Э. И. Нечипоруком [57],
остальные примеры принадлежат соответственно Л. X. Харперу и Дж. Э. Сэйвиджу
[138] и В. Паулю [167]. К функции из примера 3 § 5 метод Нечипорука при-
182
менял Б. М. Клосс (см. упражнение 4). Дополнительные примеры дают работы
С. В. Августиновича [1] иМ. С. Патерсона [166J.
7. Метод Фишера — Мейера — Патерсона опубликован в [131]. Другой
вариант изложения этого метода опубликован в [101]. Автор почти дословно
следовал этой работе. Метод Фишера — Мейера — Патерсона перекликается с
методом Л. Ходеса и Э. Шпекера [144], усовершенствованным впоследствии
П. Пудлаком [177]. Первый из них применим к формулам в базисе Pi и
позволяет получать нижние оценки сложности до en log л, второй метод применим
к формулам в произвольном конечном базисе, но позволяет получать нижние
оценки только до п log log п (см. [177]). Примеры применений второго метода
можно найти в [100], а обсуждение возможностей методов — в [100, 165].
Хотя эти методы не побивают рекорды нижних оценок сложности (они
принадлежат Э. И. Нечипоруку [57]), но они расширяют сферы применимости методов
и обогащают арсенал приемов. В частности, они применимы к симметрическим
функциям, на которых метод Нечипорука не действует (из-за малочисленности
симметрических функций).
Упражнения
1. Разобрать оставшиеся случаи леммы 6 (см. табл. 11 и 12).
2. Имеет ли место лемма 8 для произвольных контактных схем?
3. Почему теорема 11 не проходит для схем из функциональных элементов?
4. Оценить сложность функции из примера 3 § 5 в классе формул в
произвольном конечном базисе, в классе контактных схем (см. [29]). Указание:
применить метод Нечипорука.
5. Оценить снизу сложность функции из примера 2 § 6 в классе контактных
схем.
6*. Определим функцию qn на булевой (пХп)-матрице А следующим
образом: дп(А) = \ тогда и только тогда, когда единичные элементы матрицы А
образуют связную фигуру. Оценить сложность функции qn в классе формул,
применив метод Нечипорука (см. [166]).
7. Доказать теорему Нечипорука с множителем 1 /(г4-2) вместо 1/3(г— 1).
ГЛАВА 9
НИЖНИЕ ОЦЕНКИ СЛОЖНОСТИ
ДЛЯ СХЕМ С ОГРАНИЧЕНИЯМИ
Мы видели в гл. 8, что установление эффективных нижних
оценок сложности является очень трудной задачей. Те немногие
функции, для которых доказаны нетривиальные нижние оценки
сложности,— это лишь отдельные островки в море булевых
функций, которые еще ждут своих нижних оценок. Несколько большие
возможности для установления нижних оценок дают так
называемые схемы с ограничениями. Они получаются из обычных
схем введением какого-нибудь запрета, в результате чего
получается только подкласс всего класса схем. С одним из таких
ограничений мы уже знакомы: П-схемы получаются путем запрета
мостиковых соединений в контактных схемах. Мы видели на
примере линейной функции (см. § 5 гл. 8), что это ограничение
действительно позволяет получать более высокие нижние оценки,
нежели в классе произвольных контактных схем. В результате
еще более сильного ограничения на структуру возникают д.н.ф.,
для которых нижние оценки сложности устанавливаются без
труда.
Другим примером ограничений является сужение базиса,
например, до монотонного или другого неполного базиса. Сюда же
можно отнести и сужение класса контактных схем до класса
монотонных контактных схем. Путем введения других ограничений
возникают контактные схемы без нулевых цепей и синхронные
схемы из функциональных элементов, которые рассматриваются
в § 6, 7.
Выясняется, что некоторые функции реализуются в классе
схем с ограничениями с большей сложностью, нежели без
ограничений. Тем самым для этих функций введение ограничений
позволяет поднять нижние оценки сложности. Как велик этот
подъем, зависит от силы ограничений. В частности, в классе
контактных схем без нулевых цепей получаются экспоненциальные
эффективные нижние оценки сложности.
§ 1. Монотонные контактные схемы
Контактная схема называется монотонной, если она содержит
лишь замыкающие контакты. Очевидно, такие схемы могут реали-
зовывать только монотонные функции. Сложность (монотонной)
184
функции / в классе монотонных контактных схем обозначается
через L$c (f) или иногда просто — L + (/). В этом параграфе
проводится сопоставление L+(/) со сложностью L(f) в классе всех
контактных схем. Введем обозначение
Цп)= max—Jii
V ' /eAi- L(f)
(напомним, что Mn — это множество монотонных булевых
функций от п переменных). Будет показано, что Х(п)^\пп.
Для доказательства рассматривается последовательность
функций
Fn(x\y ...ухп)= V XiXh
л>2.
Чтобы оценить снизу Х(п)у оценим снизу L + (Fn) и сверху L(Fn).
Лемма 1. Произвольную монотонную контактную схему,
реализующую функцию Fn, можно преобразовать без увеличения
сложности в эквивалентную монотонную контактную схему,
удовлетворяющую следующим условиям:
1) если внутренняя вершина соединена с одним из полюсов
контактом xi, то она не инцидентна другим контактам
переменной Xi\
2) каждая внутренняя вершина соединена контактами с
каждым из двух полюсов.
Доказательство. Если внутренняя вершина с соединена
контактами вида xt с полюсом а и с другой вершиной d (очевидно,
вершина d отлична от второго полюса Ь)у то «перебросим» конец с
контакта (с, d) в полюс а (рис. 47). Нетрудно проверить, что
такое преобразование не
меняет проводимости схемы.
Применив достаточное число
раз это преобразование,
получим схему,
удовлетворяющую условию 1).
Если теперь некоторая
вершина с не соединена
контактом с полюсом а, то отождествим ее с полюсом b (рис. 48).
Проводимость схемы при этом не возрастает, так как в силу
условия 1) каждая цепь между а и с содержит не менее двух
различных контактов. На этом этапе исчезнут внутренние
вершины, не соседние с полюсом а. Меняя ролями а и Ь и повторяя
преобразования, получим схему, удовлетворяющую условию 2).
Возможно, надо восстановить условие 1). □
Рис. 47
Х=Ъ
185
Монотонные контактные схемы, удовлетворяющие условиям
1) и 2) леммы 1, называются каноническими. В дальнейшем при
оценке снизу L+(Fn) можно ограничиться рассмотрением
канонических схем, причем ради краткости слово «каноническая»
иногда будем опускать. Каноническая схема имеет вид,
изображенный на рис. 49. Ее контакты
делятся на две группы: те, которые
инцидентны одному из полюсов, и
«внутренние» контакты, соединяющие
внутренние вершины.
Пусть а и b — полюсы, а с\9 ..., ср —
внутренние вершины некоторой
канонической схемы. Назовем /-м пучком
множество контактов, соединяющих
полюсы а и Ь с внутренней вершиной С\.
Пучок естественным образом
распадается на два полупучка. Контакты
полупучка А\ соединяют полюс а с
внутренней вершиной С\. Аналогично определяется полупучок В\.
Очевидно следующее
Утверждение \. В минимальной канонической схеме
каждый пучок содержит не более одного контакта xi для каждого i
(1^/<л).
Строение тупиковых сечений (см. § 5 гл. 8) дает следующая
Лемма 2. Каждое тупиковое сечение канонической схемы
1) содержит один полупучок каждого пучка;
2) содержит все внутренние контакты, соединяющие те пары
вершин, которые соответствуют противоположным полупучкам
из сечения (т. е. полупучкам вида А\ и Ви)\
3) никаких других контактов не содержит.
Пример. Тупиковым сечением схемы на рис. 49 является,
например, множество [А\, А2> Вз, А4, (ci, Сз), (сз, с*)1
Доказательство. Очевидно, что любое сечение содержит
целиком хотя бы один полупучок из каждого пучка (иначе
пучок содержал бы цепь, не имеющую общих контактов с
сечением). Покажем, что тупиковое сечение не может содержать
контакты обоих полупучков одного пучка. Предположим
противное: существует тупиковое сечение 7\ содержащее контакты
(а, с{) и (С[у Ь) при некотором /. В силу тупиковости сечения Т
в схеме есть цепь (а, с,), (с„ с,),..., (с*, Ь), в которой лишь
контакт (a, Ci) принадлежит Т. Аналогично в схеме есть цепь
(a, cg)y..., (Ch> Ci), (ciy b)y в которой лишь контакт (с„ Ь)
принадлежит Т. Но тогда последовательность контактов
(а, сR) (с/„ d\ (ci, Cj) (ck, b)
не имеет общих контактов с тупиковым сечением Т и содержит
в качестве подпоследовательности цепь схемы, что невозможно.
Итак, любое тупиковое сечение Т содержит в точности один
полупучок из каждого пучка. Далее, если А^Т и В*^7\ то
186
тупиковое сечение Т содержит и все контакты вида (с/, с к)
(иначе цепь (a, Ck), (Ck, Cj), (Cj, b) не имела бы с ним общих
контактов).
Ясно, что множество перечисленных выше контактов образует
сечение. Поэтому тупиковое сечение Т никаких других контактов
не содержит. □
Поскольку любое множество контактов, удовлетворяющее
условиям 1)—3) леммы 2, является тупиковым сечением, имеет
место
Следствие. Каноническая схема с р пучками содержит
2Р тупиковых сечений.
Нижняя оценка. Обозначим через а, число внутренних
контактов jc/, через pi число пучков, не содержащих контактов xt.
Лемма 3. В минимальной канонической схеме,
реализующей функцию Fn, существует 2р'_а/ тупиковых сечений, не
содержащих контактов переменной xt.
Доказательство. Разобьем pi пучков, не содержащих
контактов jc/, на классы эквивалентности. В один класс отнесем
пучки, внутренние вершины которых соединены цепочкой
контактов Xi. Число классов эквивалентности равно pi — ai.
Действительно, при а/ = 0 это очевидно. Поскольку внутренние
контакты Xiг не образуют циклов (в силу минимальности схемы), то
добавление каждого контакта Xi уменьшает число классов^ на
единицу (за счет объединения двух классов). В силу свойства
1) (см. лемму 1) канонических схем внутренние контакты xt
могут соединять только пучки, не содержащие контактов xt.
Для построения тупикового сечения, не содержащего
контактов переменной *,, достаточно включить в него все полупучки
вида Aj или все полупучки вида В* из пучков каждого класса
эквивалентности. Остальные контакты такого тупикового сечения
определяются однозначно. □
Следствие. Минимальная каноническая схема для функ-
п
ции Fn содержит не менее £ 2Pi~ai различных тупиковых се-
i=\
чений.
Действительно, сечение, не содержащее контактов переменной
xiy не может совпадать с сечением, не содержащим контактов
переменной xh поскольку в схеме есть цепь из контактов jcz,
х,. □
Обозначим через т, число контактов х-% в некоторой
минимальной канонической схеме S+ для Fn (1</<п).
Лемма 4.
п
£2-т'<1. (9.1)
Доказательство. Заметим, что p — pi пучков содержат
контакты Xi. В силу утверждения 1 число этих контактов равно
187
p—Pi. Поэтому
tni = p — pi + ai.
Сопоставление следствий лемм 2 и 3 дает
(9.2)
2Р>£ 2"-*,
откуда с учетом (9.2) и вытекает утверждение леммы. □
Теорема 1. L+(Fn)^n logn.
Доказательство. В силу минимальности схемы S4"
L+(F„)=£ т.
(9.3)
Пользуясь неравенством (9.1), неравенством между средним
арифметическим и средним геометрическим и равенством (9.3),
получаем
У.П2-И'= V
I '"<•
I >т! 2~т>\ П 2~т' = у 2 '"' =V2"t+<f,).
т. е.
Ш'
>2
-/.м/7»)
откуда следует утверждение теоремы. □
Верхняя оценка в классе произвольных контактных схем.
Теперь найдем верхнюю оценку для L(Fn).
Лемма 5. L(Fn)^3n — 4.
Доказательство. Обозначим функцию, реализуемую
схемой на рис. 50, через f(x\, ..., хп). Каждая цепь этой схемы,
имеющая ненулевую проводимость, реализует конъюнкцию вида
jt/jt/+iJt/+2... Xj-\Xj. Поэтому f^Fn.
С другой стороны, в силу равенства
х\/ху = х\/у имеем
XiXi+\\/XiXi+\Xi + 2\/ ... V^^i + 1^ + 2...
... Xj-\Xj = XiXi+\ \JXiXi + 2\/ ... \/XiXj.
рис.
Xn).
и
50
Ее
Поэтому f^Fn.
Следовательно, схема на
реализует функцию Fn(x\, ...
сложность равна 3(п — 2)+ 2.
Следствие. А,(я)> log /г/3.
Тонное значение L+(Fn).
Соотношение (9.1) дает ключ к нахождению
точного значения L+(Fn). Для этого нужно уточнить нижнюю оценку
и получить верхнюю для L+(Fn\
188
Рис. 50
Лемма 6. L+(Fn)^n[\ogn] + 2(n — 2{logn).
Доказательство. Идея доказательства мало отличается
от идеи доказательства теоремы 1. Она состоит в оценке снизу
п п
суммы У rtii (или в оценке сверху произведения Д 2~т', как в
теореме 1) при условии (9.1), но с учетом целочисленности
/11/(1 = 1,..., п).
Очевидно, что при указанных требованиях минимум
величины п
£ mi (9.4)
/=1
существует. Далее, если в (9.1) имеет место строгое неравенство,
то это означает, что
л
X 2-ш'<1-2-от',
где mt — наибольшее среди чисел ть ..., тп. Но тогда после
замены mt на /л,— 1 условие (9.1) по-прежнему будет
выполняться, а сумма (9.4) уменьшится. Отсюда следует, что в точке
минимума условие (9.1) представляет собой равенство:
Х2—= 1. (9.5)
/=i
Наконец, если среди чисел Ш\у ..., тп имеются два числа тг
и ms, удовлетворяющие неравенству
mr^ms + 2,
то после замены каждого из чисел тг и ms на ms+l сумма
(9.4) не увеличится, а неравенство (9.1) станет строгим. Отсюда
следует, что в точке минимума при любых г и s
ntr^rris+l.
Поэтому без ограничения общности можно считать, что в
точке минимума
mi = ... = m/ = fe, /п/+1 = ... = /л„ = й + 1»
где k и / — некоторые натуральные числа. При этом равенство
(9.5) принимает вид
/2-* + (м-/)2-(*+1)=1.
Отсюда получаем
n + l = 2k+i (9.6)
и, поскольку 1</<я,
2*<п<2*+1.
189
Логарифмируя эти неравенства и учитывая целочисленность &,
находим
k=[logn\ (9.7)
Остается подсчитать минимальное значение суммы (9.4):
п
£ т, = //г+(п — l)(k+l) = nk + n — / = (в силу (9.6))
1 = 1
= nk + n + n-2k+l=nk + 2(n-2k)
и воспользоваться (9.7) и (9.3). □
Теорема 2. L+(Fn) = n[log п]+2(п-У°*п).
Доказательство. Нижняя оценка доказана в лемме 6.
Теперь докажем верхнюю. Очевидно, что
Fn(Xu...,Xn)=(X\\/ ... V**)(**+lV - \/Xn)\/Fq(X\ xq)\/
\/Fn-q{xq+u^xn). (9.8)
Будем строить схему АПу последовательно применяя формулу
(9.8) при q=[n/2\ пока не «спустимся» до функций F3 или F*.
Для F2 и Ръ очевидным образом строятся схемы сложности
соответственно 2 и 5, что совпадает с нижней оценкой.
Из (9.8) следует
L(An)^n + L(A[n/2])+L(An-[n/2]). (9.9)
Докажем верхнюю оценку индукцией по k = \\ogn]. При k = l
мы уже убедились, что
L+(FnXnk + 2(n — 2*). (9.10)
Пусть теперь 2*<м<2*~н. Применяя предположение индукции
для k — l и неравенство (9.9), непосредственно убеждаемся в
справедливости неравенства (9.10). Технически удобно разбить
рассмотрение на 3 случая:
1) л = 2* + 2г<2*+'-1,
2) Аг = 2* + 2г+1<2*+,-1,
3) л = 2*+| —1.
Например, в первом из них [n/2\ = n — [n/2\=2k~l-\-r, n — 2k =
— 2г, |log [л/2]] = [log (n — \n/2\)] = k — 1. Поэтому, исходя из
(9.9), имеем
L + (Fn)^L(An)^n + ((2k-l+r)(k-l) + 2r)2 =
= n + n(k-\) + 4r = nk+2(n-2k).
Аналогично рассматриваются остальные два случая. □
190
§ 2. Оценки вида пс в классе формул в неполном базисе
В этом параграфе устанавливаются нижние оценки вида пс
для сложности реализации конъюнкции и дизъюнкции п
переменных в классе формул в некотором неполном базисе. За счет
подбора базиса константа с может быть сделана произвольно
большой.
Введем обозначения: Dn = X\ \/х2\/ ... V*«> Кп=Х\Х2... хп.
Базис будет состоять из одной монотонной /•т-местной
функции , „,
Ф/.«= V & xih />2, т>2.
i=i/=1
Пример. При / = 2, т = 3 функция ф/, т имеет вид
Отметим простейшие свойства формул в базисе {ф/, т].
Утверждение 2. Константы 0 и I не представимы
формулами в базисе {ф/, т}.
Действительно, если положить все переменные формулы
равными 0, то реализуемая функция обратится в 0. Если же все
переменные равны 1, то функция обращается в 1. □
Следствие. Если F — произвольная формула в базисе
{ф/. mi a f(x\,..., хп) — реализуемая ею функция, то
Kn<f(Xu..„ *«)<£>„.
Утверждение 3. В базисе {ф/, т, 0, 1} функции Dn и Кп
реализуются с линейной сложностью.
Действительно, их можно реализовать формулами (к примеру,
при 1 = 2 и т = 3)
£>„=(...(((*, -1-1 V*2- 1 • 1)- 1 • 1 V*3' 1 • 1)- 1 • 1 V *4" 1 • 1)- 1 • 1 V .»
Кп = (,.Мх\Х2Хз\/0-0-0)х4хь\/0-0-0)х&х7\/0'0-0)...)хГ1^1хп.
Представим каждую формулу в базисе {ф/, т) деревом, при этом
каждое ребро дерева занумеруем парой (/, /), указывающей
вход базисного элемента (1<л^/, l^j^m). Вершины дерева
разобьем на ярусы: р-й ярус состоит из вершин, отстоящих от
корня дерева на расстояние р. Номер последнего яруса (он
содержит только листья) обозначается Р и называется глубиной
формулы. Формула называется полной, если для любого р, 0<1р<;
<|Р — 2, р-й ярус содержит (lm)р элементов.
log"* ,
Теорема 3. £ф{ф'-}(/)и)ж wW .
Доказательство. Для получения верхней оценки
рассмотрим полные формулы глубины jlog//i|. Полная формула
глубины 1 в базисе {ф/, т)
Х\Х\ ... Х\ V ... V XiXi ... Xi
191
реализует дизъюнкцию / переменных Di(x\,..., xi). Увеличение
глубины до 2 дает функцию
Dt(x\\J ... V*/> */+iV .» V*2/,.... X(/-d/+iV - V*/2)=
= D/2(*,,..., АГ/2).
Поэтому для реализации D„ достаточно иметь полные формулы
глубины |log//z[. Чис. о листьев такого дерева не превышает
logm_ , j
(/тУ°в'я + | ^(/m),og<" = n,og/
Для обоснования нижней оценки рассмотрим сначала
несколько эквивалентных преобразований, не увеличивающих сложности
формулы и выравнивающих длины ветвей дерева. Начиная с этого
места, под формулой имеется в виду формула, реализующая Dn.
Прежде всего устраним из формулы все «лишние» переменные,
отличные от хи..., хп, путем замены их на х\. Очевидно,
переименование фиктивных переменных даст эквивалентную формулу.
Пусть Ац обозначает подформулу, соответствующую входу с
координатами (/, /) базисного элемента.
/ т
Преобразование 1. Замена в \J & Ац для любого /
всех подформул Ац, '".Aim на самую экономную ИЗ НИХ Ац..
Очевидно, сложность формулы при этом может только
уменьшиться.
т
Поскольку ^ Л//<;А/., то реализуемая формулой функция
после преобразования 1 может только возрасти, но в силу
следствия утверждения 2 расти ей некуда. Поэтому преобразование
1 дает эквивалентную формулу. Заметим, что после
преобразования 1 функция ф/,т моделирует дизъюнкцию D/.
Рис. 51
Будем последовательно применять преобразование 1 в порядке
убывания номеров ярусов, пока это возможно. Результирующая
формула представлена деревом вида, показанного на рис. 51
(ради наглядности элемент <р/,т на этом рисунке «расщеплен»
на дизъюнкцию конъюнкций; собственными вершинами дерева
192
формулы являются только вершины, помеченные знаком \Л
Вершины, помеченные знаком &, введены, чтобы собрать в пучок
подформулы, к которым применяется операция &).
Каждой вершине р-го яруса, 1<р<Р, сопоставим набор
пар (/i, /О, ...,(/р, jp), помечающих путь от корня к этой вершине.
Этот набор называется паспортом вершины и соответствующей
ей подформулы. Он характеризует местоположение вершины в
дереве. Подформулы, имеющие в паспорте одинаковые первые
элементы пар, называются одноконъюнктными.
Утверждение 4. Если преобразование 1 уже не применимо
к формуле, то все ее одноконъюнктные подформулы совпадают.
Действительно, одноконъюнктные подформулы — это подфор-
мулы Д|, Д-2, .-ч Am из V & Aij. После преобразования 1 они
совпадают. □
Очевидно, каждая группа одноконъюнктных подформул р-го
яруса содержит шр подформул. Это легко проверяется индукцией
по р.
Преобразование 1 выравнивает длины ветвей, «растущих» из
одноконъюнктных вершин, но в разноконъюнктных вершинах они
еще могут отличаться. Для их выравнивания применяется
Преобразование 2. Если в р-м ярусе есть буква **,
а в(р+ 1)-м есть подформула Л, то меняем местами А нхи (рис. 52),
а именно в р-м ярусе заменяем каждую из пгр одноконъюнктных
букв Xk подформулой Л, а в (р + 1)-м ярусе — каждую из тр_м
одноконъюнктных подформул А буквой Xk.
Очевидно, это преобразование выравнивает длины ветвей.
Поэтому после достаточного числа его применений формула
станет полной.
При выполнении преобразования 2 после преобразования 1
(когда все элементы уже вычисляют дизъюнкцию) снова
получается эквивалентная формула. Например, обе формулы
на рис. 52 реализуют функцию хн У A \J В.
Нижняя оценка. Пусть выполнены все преобразования 1, затем
все преобразования 2, так что формула, реализующая £)„, стала
полной. Поскольку теперь все элементы вычисляют
дизъюнкцию D/, число ярусов не менее |log/ п\. Поэтому число листьев
193
в дереве не менее
log_т_ , j
Теорема 4. Й-1^^11.
Доказательство очень похоже на доказательство предыдущей
теоремы. Поэтому отметим только отличия.
/ т
Преобразование 1. Выделим в V & Ац такое/, что
i = i / = i
совокупность формул Л/|, Л/2, ..., Aim самая экономная. Заменим
для каждого кф[ Ak\ на Л,|, Л*2 на Л,-2,..., Л*,и на Л,,,,..
Поскольку Л/И/2... Aim^An Л/2... Л/ш V Ak\ Ак2... Л*,и, то
реализуемая формулой функция может только уменьшиться, но
уменьшаться ей некуда ввиду следствия утверждения 2. Поэтому
преобразование 1 дает эквивалентную формулу.
Далее, подформулы р-го яруса называются однодизъюнктны-
ми, если наборы (//,...,//>) в их паспортах одинаковы. Каждая
группа однодизъюнктных подформул р-го яруса состоит из /''
подформул.
Преобразование 2. Меняются местами однодизъюнкт-
ные буквы Xk р-го яруса (их 1Р штук) и однодизъюнктные
подформулы А(р-\- 1)-го яруса (их 1Р+Х штук).
Результирующее неравенство имеет вид
£ф'4''-J (Кп) > (/m)|l0R'"'?l" ■ ^ л'0*m . П
По определению базис Б| предшествует базису Б2, если для
любой последовательности функций f„
1$ Un)^L% (/„).
Если ни один из двух базисов не предшествует другому, то они
считаются несравнимыми.
log m log /
Следствие. При Ф оазисы {ф/,,и| и {<p.s./} несрав-
log / log s
нимы.
Действительно, при указанном условии в одном из базисов
конъюнкция реализуется существенно проще, чем в другом, а в
другом дизъюнкция реализуется существенно проще, чем в
первом. □
§ 3. Сложность монотонных схем
для булева умножения матриц
Матрица, состоящая из нулей и единиц, называется булевой.
Произведением булевой матрицы А размера IX К на булеву
матрицу В размера KXJ (т. е. булевым
(IXKX^-произведением) называется матрица С размера /X J, элементы которой
194
определяются следующим образом:
сц= V aikbkh /= 1 Л /=1, ...,/. (9.11)
*= i
Произведение А-В можно рассматривать как булев оператор с
K(l + J) входами и /•/ выходами, а квадрат А2 булевой (пХп)-
матрицы — как (я2, я2) -оператор.
Мы будем рассматривать реализацию операторов А>В в
классе схем из функциональных элементов в монотонном базисе
{&, VI- Под схемами в этом параграфе понимаются именно
такие схемы.
Схема, построенная в соответствии с определением (9.11),
содержит ПК элементов & и //(/С—1) элементов V- Она
выглядит настолько естественной и лаконичной, что легко поверить
в ее минимальность. Однако эта наивная вера была сильно
поколеблена известным результатом Ф. Штрассена о быстром
умножении матриц. Применение метода Штрассена к
нахождению квадрата булевой матрицы позволяет строить схемы,
требующие лишь O(nlog7(log^),+t) элементов, но в полном
базисе. В неполном же базисе {&, V} для этого требуется по порядку
л3 элементов, что и будет показано в этом параграфе.
Множество переменных ам, ..., а//с, b\\,...ybKJ обозначим £/,
а отдельные переменные будем обозначать л:, Х\, jc2,... Для
обозначения монотонных функций используем буквы 5, S|,...
Как и в § 2 гл. 8, в качестве входов будут допускаться
константы 0 и 1. Ввиду неравенства
L!&.V.n..!(/)<L!&.Vi(/)
нижние оценки, полученные для таких схем, сохраняют силу и
для обычных монотонных схем.
Упрощающие преобразовавтя. Рассмотрим некоторые
эквивалентные преобразования c\iM, позволяющие удалить из схемы
вершины, в которых вычисляются столь большие функции, что их
можно заменить константой 1.
Лемма 7. При всех VФ'ь", \'ф\" и всех /, / для любой
монотонной функции s справедливо утверждение: если s(U,
ап 6,rV Я/-1 Ьхг) = сГп то s(Uy 1) = Сц.
Доказательство. Если лемма неверна, то существует та^
кой набор а значений входных переменных, что на наборе а
cti = s{Uy ап bxv\J аГ1/?1Г) = 0, но s(U, 1)=1. (9.12)
Пусть а есть максимальный (в смысле отношения <, см. § 1 гл.
3) набор, обладающий свойством (9.12). Очевидно, на наборе
а выполняется равенство
апЬху V Oi"\bvr=0.
Без ограничения общности можно считать, что ал=0 и
либо (1) ar, =0,
либо (2) 6,г=0.
195
В силу максимальности набора а изменение ап с 0 на 1
влечет за собой изменение сц. Но при ь'Ф'ь функция dh согласно
определению (9.11J, не зависит от аГ1. Следовательно, /'=/, а
значит, в наборе а
6|У=1. (9.13)
В случае (1) в силу симметрии /"=/, т. е. /'=/", что
противоречит условию леммы.
В случае (2) изменение Ьч» с 0 на 1 влечет изменение сц.
Поэтому /"=/. Но из 6,г=0 и (9.13) следует, что \"Ф\. Это
противоречие доказывает лемму. П
Следствие. Если s(Uy s,) = cij и ar]blr\/ aribir^.s\ то
s(Uy l) = cih
Воспользуемся равенством
s' = s'\/(arAr\/ ari\bir). D
Преобразование 1. Если v есть вершина схемы,
вычисляющей оператор Л «В, <PynK(v) = s и при 1Ф'ь\ \Ф]' имеет
место одно из соотношений
а) an V Ол<5,
б) Ьц V VO.
(в) а,ч V *i/<5,
то вершину v можно удалить из схемы, заменив ее константой 1.
В силу следствия леммы 7 это преобразование дает
эквивалентную схему.
Нижняя оценка. Идея получения нижней оценки сложности
заключается в следующем: каждой паре (/, /) будет сопоставлен
свой элемент &, на выходе которого «впервые перемножаются»
an и b\j. Если положить теперь a,i = l для всех / и b\j = 0 для
всех /, то эти элементы & можно будет удалить, причем
полученная схема будет вычислять булево (/X (К— 1)Х/)-произведение.
Для нее снова можно найти // элементов &, соответствующих
членам а,2&2/, и т. д. Для элементов V процедура аналогична.
Отображение пар (/, /) на элементы & производится с
помощью некоторого предиката Q,/, определенного на функциях
вершин. Множество I(Qij) первоначальных появлений Q,, состоит
из тех элементов схемы, у которых функции удовлетворяют
предикату Qtj, а функции предков не удовлетворяют.
При доказательстве используется следующее очевидное
Утверждение 5. Если s\ V $2^*1*2, то s\^x\X2 или
S2^X\X2.
Теорема 5. Любая схема в базисе {&, VI реализующая
булево (IX KXJ)-npou3eedeHue, содержит не менее IJK элементов
& и не менее //(/С—1) элементов V-
Доказательство проведем только для элементов &. Для V
доказательство аналогично, если использовать утверждения
упражнений 3, 4 и 5.
1%
Пусть S — минимальная схема, реализующая (/Х/СХ/)-про-
изведение. Определим предикат Q,, при любых / и / следующим
образом (здесь si< s2 обозначает 1(si<S2)):
Qij(s)oai\ 6i/<s, an < s, b\j <s.
Очевидно, входные переменные не удовлетворяют предикату
Qih а выходная функция сц удовлетворяет. Поэтому /(Q//)=^0.
Пусть вершина v схемы принадлежит множеству / (Q/;)
первоначальных появлений предиката Q,/. Пусть на вход вершины v
подаются функции s\ и $2 из вершин v\ и i>2, a <PyHK(v) = s.
Предположим, что On (v)=\/. Поскольку предикат Q,-,- на
функции s = S\\/s2 истинен, то
йп < S\ V «2, &l/ < 5i V 52.
Из этих неравенств следует, что
a,-i<"si, fti/<"si. (9.14)
Поскольку и е /((?,■/) и Hi £ Пред(и\ то ~IQ//(si). С учетом
неравенств (9.14) это означает, что
a,-,&iy"ifs,. (9.15)
Совершенно аналогично доказывается, что Щ\Ь\] <! s2. Из
этого неравенства, из (9.15) и утверждения 5 следует, что
a/i&i/<si V 52, что противоречит Q,,(si V s2). Следовательно,
On(v)=&.
Поскольку Qij (s\ & s2), то
GLi\b\j^S\S2, CLil ^ 5i52, b\j^. S\S2.
Отсюда следует, что
a,ifei/<si, anb\j^S2,
и в силу lQij(s\\ ~]Qij(s2) следует, что
an < 5|, b\j < 52 или b\j < 5i, a,i < s2. (9.16)
Для определенности будем считать, что имеет место первая из
этих возможностей. Тогда при a,i = l Si = l и s,s2 = S2.
Значит, при ал = 1 из схемы можно удалить вершину у, заменив
ее вершиной V2.
Покажем теперь, что при разных парах (/, /) будут удаляться
разные вершины. Предположим обратное, а именно что, v^I(Qij)f]
П I{Qrj')> где пары (/, /) и (/', /') не совпадают. Тогда из (9.16)
следует, что
Оц V an <si и Ьч V Ьч> < 52
или
а,\ V ЬХу < 5, и bVj V an < s2.
Но в таком случае к схеме было бы применимо преобразование 1,
что противоречит ее минимальности. Следовательно, для раз-
197
ных пар (/, /), (/', /') I(Qij) П /(Q/T)=0» и потому, положив
a,i = l для всех i и b\j = 0 для всех /, можно удалить из схемы
IJ элементов &.
Для элементов V предикат /?,;, аналогичный предикату
Qij, определяется так:
Rij(s)oanb\j < 5 < AiЛ/ b\h s < bxh
где Ai= ^ aik. Упрощающие преобразования, используемые для
доказательства в случае элементов V» приведены в упражнениях
3, 4, 5. □
§ 4. Высокие нижние оценки сложности
для монотонных схем
В течение длительного времени для схем из
функциональных элементов в монотонном базисе {&, V} удавалось получать
лишь полиномиальные нижние оценки сложности.
Наибольшая из них имела порядок л2, где п — число переменных,
причем каждое следующее продвижение давалось с огромным
трудом. Однако в 1985 г. А. А. Разборов [73, 74] и А. Е. Андреев
[2, 3] практически одновременно получили для схем в базисе
{&, V) нижние оценки выше полиномиальных.
Хотя полученные ими оценки относятся к разным булевым
функциям и значительно отличаются друг от друга по величине,
методы, лежащие в основе этих оценок, довольно похожи.
Проанализировав эти методы, С. Е. Кузнецов сформулировал метод
в значительно более общем виде. Путем его конкретизации
получаются методы Разборова и Андреева, а также новые, правда,
аналогичные методы. Здесь для простоты метод излагается не
в самом общем виде.
Данный метод основан на нетривиальном преобразовании
монотонной схемы, в результате которого получается уже не
схема из функциональных элементов, а новый объект, лишь
напоминающий схему. Это пре-
<р. | iy> образование связано с
L\ L введением специального
оператора О,
отображающего множество монотон-
| <рь ных булевых функций в
себя. Конкретизация
оператора О конкретизирует
метод получения нижних
оценок.
yPi Преобразование схемы
Рис. 53 состоит в том, что пос-
ле каждого ее элемента
вводится блок, реализующий оператор О, который «корректирует»
функцию, вычисляемую в соответствующей вершине, и выход
этого блока подается всюду, куда раньше подавался выход эле-
198
W
мента. Сказанное иллюстрирует рис. 53. Здесь символ О
обозначает любую из операций & или V; кроме того, подразумевается,
что вершины схемы перенумерованы в той последовательности,
в какой вычисляются в них функции, причем номера 0,..., п—\
имеют соответственно полюсы Jti,...,x„, и, наконец, функция,
вычисляемая в /-й вершине схемы, обозначается /,. Результат
преобразования монотонной схемы будем называть «схемой» (в
кавычках). От схемы из функциональных элементов ее отличает
наличие блоков О, каждый из которых при вычислении значения
булевой функции на одном наборе использует, вообще говоря,
информацию о значениях на всех наборах булевой функции,
подающейся на его вход. Функции /,, вычисляемой в /-й вершине
монотонной схемы, соответствует в «схеме» функция ф,; через г|),
обозначена функция на выходе элемента «схемы», имеющего
номер /, так что (см. рис. 53) при i^n
п Ф/ = 0(г|>,). (9.17)
Положим
/?/+=Ф/*м /?Г=г|)(ф/, />л. (9.18)
Лемма 8. При 1^п
<p/<//V^/ ft+, //<cp/V\/ RF. (9.19)
/ = п i = п
Доказательство ведется индукцией по /. Обозначения
функций и их связь между собой указаны на рис. 53.
Начальный шаг: / = я. Из (9.18) следует, что при любом
Ф/ < Ф, V R?, ♦/< Ф/ V RF • (9.20)
Поскольку /</ = az и &</ = /2, функции // и fk являются
переменными, и, таким образом, ф; = /; и ф* = />, а значит, г|)/ = //.
Поэтому утверждение леммы для 1 = п сразу следует из (9.20),
стоит только положить / = /.
Индуктивный переход. Полагаем, что неравенства,
аналогичные (9.19), для всех вершин с номерами меньше / уже доказаны.
Докажем по очереди неравенства из (9.19).
В силу предположения индукции
/ /-I k /-1
i = n i = « / = /i i = n
Поэтому в силу (9.20) (а также рис. 53), причем независимо
от того, операция О есть & или V. имеем
Ф/<^у/?/+=(Ф/ОФ*) V/?/+<((//V Vft+)0
i = n
О (fk VV R?)) V /?/+ =(fi OWVV /?/+ V #/+ =ft VV^,
i — n i = n i = n
что доказывает первое неравенство иЪ (9.19).
199
Аналогичным образом в силу предположения индукции
у /-1 k l-\
//<Ф,Л/ V#r<cp/V V ЛГ, /*<ф*У V#r<cp*V v#r,
« = я i=/i / = л i = n
и с учетом (9.20)
/-1 /-i /-1
fi=f,OK((PiVV ЛГ)0(ф*\/ У/?Г)=(ф/Офл)УУ/?Г =
/ = л I = Л I = я
/-1 /-1 /
= */ V V ЯГ < «р/ V Я/" V V /?Г = ф/ V V RT •
/ = Я | sb л / = л
что доказывает второе неравенство из (9.19). □
Следствие. При 1^п
_ / _ /
Ф///< V #<+, //Ф/< V /?г.
<: = я i = я
Это следствие дает надежду получить высокую нижнюю
оценку сложности путем удачного введения функционала,
который принимает большое значение на функции ф/М//ф/) и
небольшие значения на функциях /?,+ (/?Г).
Пусть \i — функционал, сопоставляющий каждой булевой
функции от п переменных некоторое неотрицательное
действительное число, обладающий тем свойством, что для любых
булевых функций // и fk из РЪ выполняются соотношения
а) //</*=^|i(f/)<|i(f*X
б) \l(fjVh)<ll(fj) + \L(fk).
Тогда в силу следствия леммы 8
W ' Ьп (9.21)
n(/i9i)<l*(Vft-)<j;ii(«r).
i = n
Теперь нужно решить, как оценивать [i(Rf) и ц,(/?Г). Введем
сначала необходимые обозначения.
Множество монотонных булевых функций, являющееся
областью значений оператора О, обозначим через Л. Иными
словами, феД если существует такая монотонная булева
функция г|), что ф = 0(\|)). В дальнейшем будем рассматривать
только такие операторы О, для которых выполняются
соотношения
0(xi) = xiy /=1 л, (9.22)
и, таким образом, Xi^Jt (/=1, ..., я).
Если при оценке |л (/?*+) и МЯГ) исходить из (9.18) и (9.17)
и при этом ограничиться учетом лишь соотношений ф/е^#,
200
-ф/ е Му то может получиться слишком грубая оценка. Для более
точной оценки необходимо воспользоваться информацией о том,
что гр/ = ф/ О фл, где ф/, ф*е^ (см. рис. 53). В соответствии
с этим введем обЬзначения:
|i+(^4T)=s max max |г(0(ф/О Ф*)<Р/О <р*).
р, (ЛГ) = max max |л((ф/ О ф*)°(ф/ О Ф*))-
Очевидно, что при любом /
|i(*/+)<|i+(ur),
(1(ЛГ)<|А"(^Г),
и в силу (9.21)
М-(ф///)<(' — л+-1)|а+(^Х /923)
Ц(//Ф/Х(/-Л + 1)Ц"(^).
Пусть теперь / — произвольная монотонная функция от я
переменных, и пусть L = L{c<t>s] if)- Рассмотрим минимальную
схему в базисе {&, V), реализующую /. Она содержит L элементов и,
стало быть, L-\-n вершин. Поэтому в ней f = fL+n^]f. Положим
ф = ф/^+л_1. При l = L + n — 1 из (9.23) получим
/ ^ ц(ф7) / ^ и (ftp)
^■jrap ^ ц-(^Г)
или
L>maxfjMLy -JiiSU. (9.24)
Поскольку, как правило, по функции / функцию ф заранее
определить невозможно, для получения нижней оценки следует
применить (9.24) при всех tpGif и взять минимальную оценку.
Эту нижнюю оценку можно улучшить, если каждой функции
фЕ^ сопоставить свой функционал |i = |i<p. Таким образом,
справедлива следующая
Теорема 6. При любых функционалах ^ удовлетворяющих
условиям вида а), б), имеет место неравенство
Получение нижней оценки на основе теоремы 6 распадается
на следующие этапы:
1) выбор оператора О, удовлетворяющего условиям (9.22)
(тем самым фиксируется множество М)\
2) выбор для каждой функции 9GJf функционала |лф,
удовлетворяющего условиям а) и б) (с таким расчетом, чтобы
увеличить выражение в правой части);
201
3) оценка снизу величин |ш<р(ф/), ц<р(/ф) и сверху величин
\1ц> (~ЛГ), |Хф \*Ж)\
4) применение теоремы 6.
Первые два этапа и частично третий представляют собой
конкретизацию метода получения нижних оценок,
сформулированного в теореме 6. Проделаем по очереди все эти этапы так,
чтобы получился метод Андреева, а затем применим его к оценке
сложности конкретной функции.
В данном случае удобно сразу ввести множество Л. Оно
будет зависеть от натуральных параметров г и s, которые мы
определим в дальнейшем. Положим
l(rys) = s\rs. (9.25)
Каждую монотонную булеву функцию / будем задавать ее
сокращенной д.н.ф. Dc(f) (которая совпадает с минимальной и
кратчайшей). Число конъюнкций в Dc(f) будем обозначать через
L(/), а максимум числа переменных в конъюнкции из Dc(/) —
через т (f).
По определению множество Л состоит из всех монотонных
булевых функций, у которых
mtf)<s, (926)
причем 0 (пустая дизъюнкция) и 1 (пустая конъюнкция)
считаются принадлежащими JC.
Оператор О можно будет ввести после того, как будет
доказана одна комбинаторная лемма, принадлежащая П. Эрдешу и
Р. Радо [128]. Сначала дадим определение. Множество из г
элементарных конъюнкций, не содержащих отрицаний,
называется r-регулярным, если каждая встречающаяся в них
переменная входит либо во все г конъюнкций, либо ровно в одну.
Л е м м а 9. Пусть f — монотонная булева функция. Пусть
также г^2, 5^1. Тогда если
m(/)<s,
то Dc(f) содержит r-регулярное подмножество конъюнкций.
Доказательство проводится индукцией по s. Если s=l, то
L (/)> г и любые г однобуквенных конъюнкций из Dc (f) образуют
г-регулярное множество.
Индуктивное предположение состоит в том, что для любой
монотонной функции /,-, удовлетворяющей условиям
?$)<8,Г1' п (9.27)
Dc(fi) содержит г-регулярное подмножество конъюнкций.
Рассмотрим в Dc (/) максимальное подмножество конъюнкций
[К\, .... Kti не имеющих общих переменных (/^1). Если /^г,
то, например, подмножество {К\,..., Кг] является г-регулярным, и
202
лемма доказана. Рассмотрим случай: /<г. Пусть *i,...,Jt*—
все переменные, встречающиеся в конъюнкциях К\,..., /С/. Из
условия леммы следует, что
k^st<sr. * (9.28)
В силу максимальности подмножества {/G, ..., Kt\ любая
конъюнкция из Dc(f) содержит хотя бы одну из переменных *|,...,**.
Поэтому функцию / можно представить в виде
/ = *./. V-..V**/*, (9.29)
причем имеет место неравенство
Пусть, например, L(f\)—наибольшее среди чисел L(f\\ ..., L(fk).
Тогда (см. также условие леммы, (9.25) и (9.28))
L(fl)>^>^>s-£==(s-l)\r'->==l(r,s-\),
что доказывает второе условие из (9.27) для функции /|.
Поскольку первое условие из (9.27) для функции f\ проверяется
тривиально, приходим к выводу, что Dc(/i) содержит г-регулярное
подмножество конъюнкций. Но тогда и Dc(x\f\) содержит
г-регулярное подмножество, откуда в силу (9.29) получается
утверждение леммы. □
Выбор оператора О. Пусть все г-регулярные множества
конъюнкций, содержащих переменные х\, ..., хл, перенумерованы.
Применение оператора О к монотонной булевой функции \|?(jt|,...
..., хп) состоит
1) в удалении из £>с(г|э) всех конъюнкций, содержащих более
s переменных;
2) в отыскании в получившейся д. н. ф. (если ее длина
больше /(г, s)) r-регулярного множества {/G,..., Кг) с наименьшим
номером и замене дизъюнкции /GV---V Кг конъюнкцией /(,
состоящей из всех общих переменных конъюнкций /G,..., Кг, и т. д.
до тех пор, пока не получится д. н. ф. длины не больше /(г, s).
(Напомним, что пустая конъюнкция является константой 1.)
Лемма 9 обеспечивает корректность введения оператора О.
Очевидно также, что оператор О удовлетворяет условиям (9.22),
а его область значений JC удовлетворяет условиям (9.26).
Докажем два утверждения о свойствах оператора О, которые
пригодятся в дальнейшем при нахождении оценок.
Утверждение 6. Для любых функций фу, ф*^J( и любой
операции О ^ {&, V} существует такая монотонная функция g,
что
(Ф/Оф*)°(Ф/Оф*)<£
и Dc(g) содержит не более чем /2(г, s) конъюнкций, в каждой из
которых не менее s + 1 переменных.
203
Доказательство. В качестве g возьмем дизъюнкцию
всех конъюнкций, удаленных при применении оператора О к
функции ф/Оф* (если О есть V, то g = 0). При этом неравенство
утверждения будет выполнено. Остальное следует из
определений множества JC (см. (9.26)) и оператора О. □
Утверждение 7. Для любых функций ф„ ф*е^ и любой
операции О ^ {&» V} существует такая функция g, что
О(ф/Оф*)ф/О<р*<г
и при этом функцию g можно представить в виде д. н. ф.,
содержащей не более /2(г, s) sr конъюнкций, в каждой из которых
ровно г переменных, причем все с отрицаниями.
Доказательство. Пусть [Ки..., Кг} — r-регулярное
множество, которое на некотором шаге применения оператора О
заменяется конъюнкцией К. Тогда
/CiV..-v/Cr=/c(/ctv...v/c;j,
где /(ь ..., К!г — конъюнкции, не имеющие общих переменных.
Заметим, что в каждой из них число переменных не больше s.
Очевидно, что
/(•/t.v...v /Cr=/c-/ctv.»v /c;</civ...v к.
В качестве g возьмем дизъюнкцию всех функций /CiV —V К'г,
соответствующих тем г-регулярным множествам, которые
заменялись конъюнкциями при применении оператора О. При этом
неравенство утверждения будет выполнено. Остается заметить,
что таких замен будет заведомо не больше, чем /2(r, s), и что
при преобразовании /CiV —V Кг по правилам Моргана
получается д. н. ф., содержащая не более sr конъюнкций, в которых
ровно по г отрицаний переменных. □
Выбор функционалов \i и получение для них оценок. Введем
два функционала: jio — для константы 0 и (i — для всех
остальных функций.
Обозначим через Mn(s) множество всех функций феЛГ, у
которых любая конъюнкция из Dc(t|?) содержит ровно s переменных.
Для произвольной функции /еР§ положим
I min L(g), если множество, по которому берется
М'о(/)= минимум, непусто,
I Сп+, + 1 в противном случае.
Нетрудно проверить, что \i0 удовлетворяет условиям а) и б).
Из утверждения 6 следует, что
М<о ((ф/ О фа) 0(ф/Оф*)) < l2(r, s).
Поэтому
*М<Пг.*\ $&>$Гу (9.30)
Тем самым при ф = 0 мы оценили величину из теоремы 6.
204
Пусть р — число, удовлетворяющее условию: 0<р < 1, и
а — набор длины п. Введем обозначение
(i(a) = ^-"(i)(l-p)"*
где w(d) — число единиц в наборе а (его вес). Для произвольной
функции feP? положим
/(a)-I
Легко проверить, что |i удовлетворяет условиям а) и б).
Утверждение 8. Пусть a=(oi,..., am) и К=х!?1{ ... xf™.
Т°гда li(K)=pm-w{"\l-p)w{S\
Доказательство. Поскольку во всех наборах а, на
которых /C(a)=l, w{5) фиксированных переменных принимают
значение 1, а m — w(6) фиксированных переменных принимают
значение 0, мы имеем
= р—Й (1 _р)-(5) £ CUmP^l -рГ-т-' =
/ = 0
= pm-w{°\(l — р)ш(^(р+(1 —/7))n-m = pm"a'(5)(l —p)w{S). □
Утверждение 9. £сли фе^ и <рфОу то
\i(<p)>l-ps.
Доказательство. Пусть К — произвольная конъюнкция
из Dc(cp), и пусть / — число ее переменных. В силу условия
/^s. Поэтому, учитывая, что ф^/(, и опираясь на
утверждение 8, получаем
,i(<p)>|i(/0=(l -рУ>(\ -pY> 1 -ps
(последнее благодаря тому, что s^l). П
Утверждение 10. Справедливо неравенство
ц+(^Г)</2(г, s)(ps)r.
Доказательство. Из утверждений 7 и 8 (с учетом
свойств а) и б) функционала (ut) следует, что
М-(0(ф/Оф*) Ф/Оф*Х'2(/\ s) srpr. П
В силу свойств а) и б) функционала \л для любых функций ф
и f выполняется неравенство
1*(ф)< Р(ф/)+ !*(/)•
Поэтому, пользуясь утверждениями 9 и 10, получаем (при уфО)
и>(фГ) ^ и(ф)—и (Л ^ 1—ps—>i(f) (931)
205
Подставляя оценки (9.30) и (9.31) в теорему 6, получаем
Следствие (метод Андреева).
Применение теоремы 6. Построим монотонную функцию с
таким расчетом, чтобы применение к ней теоремы 6 давало
высокую нижнюю оценку сложности.
Пусть GF(q) — поле Галуа порядка q и n = q2. Число
полиномов вида Со-\-С\Х-\-...-\-csxs с коэффициентами из GF(q) равно
qs+l. Занумеруем их: F\y F2, ..., /у+>. Занумеруем также
упорядоченные пары элементов из GF(q): (а\, b\),..., (a„, bn). Рассмотрим
множество двоичных наборов a,- = (a,-i, .., a/„) таких, что
ац=\ oFi(aj) = bh i = l, ..., qs+l.
Легко видеть, что w(al) = q=^[n.
Монотонную булеву функцию /s определим следующим
образом. Положим
Ki= &xh
a(/ = 1
Отметим, что все конъюнкции /(,(/= 1,..., <7S+I) содержат по q
переменных.
Утверждение 11. Если 1\ф12> то конъюнкции /С/, и Ki2
имеют не более s общих переменных.
Доказательство. Действительно, в противном случае
полиномы Fix(x) и Fi2(x) должны были бы принимать одинаковые
значения в s+1 точке, а они различны. □
Следствие. Функция fs удовлетворяет равенству
Оценим теперь \i(fs). Из утверждения 8 (с учетом свойств а) и
б) функционала \х) следует, что
Положим
р__(5+1)1пдг ■ 1
У 2-fn """ Vn"
Тогда
Остается выбрать параметры г и 5 и подставить их в следствие
теоремы 6 (метод Андреева). Положим
r = ](s+l)lnn[
206
и (при достаточно больших п) s = [\[n/2^J\n п\. Тогда в следствии
минимум достигается на \io(fs) и (при 5^2)
§ 5. Нижняя оценка сложности для функций
трехзначной логики в неполном базисе
В этом параграфе рассматриваются не булевы функции, а
функции трехзначной логики. Областью их определения является
множество троичных слов (<j|, ..., а„)(а/^{0, 1, 2}, /=1,..., п)
длины /г, а областью значений — множество {0, 1, 2}. В § 4 была
получена почти экспоненциальная нижняя оценка сложности при
реализации функций из Р§ схемами в монотонном базисе. Здесь
устанавливается экспоненциальная нижняя оценка для функций
трехзначной логики в классе схем из функциональных
элементов в неполном базисе. Результат сохраняет силу (при
небольшом расширении базиса и связанном с этим усложнении
доказательства) для функций Л-значной логики при k^4.
Под схемами в этом параграфе понимаются схемы из
функциональных элементов в базисе В = {<р(лс, у), я|)(л\ у% где ф(х, у) =
= min (jc, у\ г|>(л\ у) = ху (mod 2). Таблица 13 демонстрирует
функции ф(х, у) и \р(х, у).
Таблица 13
Г
^"^^ у
0
1
2
0
0
0
0
1
0
1
0
2
0
0
0
\х
0
1
2
У
0
0
0
0
i
0
1
1
2
0
1
2
ф (*.</) $>(х,У)
Все понятия, введенные для обычных схем, сохраняют силу
для схем в базисе {ф, t|>). Отметим некоторые простейшие свойства
функций ф и г|э и схем в базисе {ф, г|э}.
Утверждение 12. Константы не представимы схемами в
базисе {ф, ур}.
Доказательство. Действительно, если значения
переменных на всех входах схемы равны 0, то на выходе схемы тоже О,
а если они равны 1, то на выходе схемы тоже 1 (см. табл. 13). □
В дальнейшем удобно считать, что фиктивные переменные
у функций уже изъяты, и, таким образом, любая из
рассматриваемых функций существенно зависит от всех своих переменных.
В силу утверждения 12 любая функция /, представимая в
базисе {ф, г|э}, имеет непустое множество существенных переменных.
Утверждение 13. Пусть функция f (х\, ..., хп) представима в
базисе {ф, г|)}. Тогда
207
1) если хотя бы одна ее переменная равна О, то и функция f
равна О;
2) если функция f равна 2, то все ее переменные также
равны 2.
Доказательство следует из определения функций ср и ф
(см. табл. 13). □
В силу п. 1) утверждения 13 для задания функции f(x\,..., х„),
выразимой в базисе {ср, г|э}, достаточно задать ее значения на
наборах (ai,..., ая) таких, что а,е{1, 2} (1^/^п). Множество
всех таких наборов обозначим Dn.
На множестве Dn введем отношение частичного порядка:
ос^р, если а/^Р/, для всех /е{1,..., п). Если а<ср, и 6с=^Р, будем
писать а<р. Функцию f(x\,..., хп)у представимую в базисе {ср, г|)},
будем называть антимонотонной, если для любых пар наборов
ос, Р^А* таких, что а<Р, выполняется неравенство /(а)^
>/(Р).
Утверждение 14. Антимонотонная функция f{x\,..., *л) на
яа каком наборе не принимает значения 2.
Доказательство следует из определения антимонотонной
функции и п. 2) утверждения 13. □
Набор cceDn будем называть минимальным нулем
антимонотонной функции f(x\,..., jc„), если /(сс)=0, а для любого набора
Р, р<а выполняется соотношение /(р)=^0, т. е. /(Р) = 1 (см.
утверждение 14).
Будем считать, что из схем уже удалены «лишние» элементы,
т. е. те, из которых нет путей, идущих в выход схемы.
Лемма 10. В схеме S, реализующей антимонотонную
функцию f, для любого минимального нуля а существует такая
вершина а, что
1) в схеме S есть вершина Ь^Сын(а), у которой Оп{Ь) =\|>;
2) Функ (а, а) =2.
Доказательство. Пусть Ь есть древнейшая вершина
схемы S, обладающая тем свойством, что Функ (6, ос) =0.
Поскольку /(6с) =0, хотя бы одна такая вершина Ь существует, а
поскольку oceDn, вершина Ъ отлична от полюса. Поскольку
вершина Ъ древнейшая, у всех ее предков а (в том числе и у
родителей) Функ (а, а)е{1, 2}, а тогда в силу определения функций
Ф и i|) Ом(6)=\|э и, следовательно, хотя бы для одной вершины
а^Род(Ь) выполняется соотношение Функ (а, а) =2. □
Про вершину а, существование которой доказано в лемме 10,
будем говорить, что она соответствует минимальному нулю ос
функции /. Две различные вершины схемы называются
несравнимыми, если ни одна из них не предшествует другой.
Лемма 11. Разным минимальным нулям антимонотонной
функции f соответствуют несравнимые вершины схемы,
реализующей функцию /.
Доказательство. Пусть вершина а схемы S
соответствует минимальному нулю 6c = (oci,..., ап) антимонотонной
функции /. Обозначим через А множество полюсов, предшествующих
208
вершине а. Если х,еЛ, то а/= 2, так как функции всех предков
вершины а в точке а принимают значение 2 (см. определение
функций ф и г|)). С другой стороны, если х{фА, то а, = 1, так как
в противном случае, изменив значение а/ с 2 на 1, мы получили
бы набор р, Р<а, на котором обращается в 0 функция
некоторой вершины Ь^Сын(а) (см. лемму 10), а с ней и функция на
выходе схемы S (см. определение функций ф и я|э), но это
противоречит минимальности набора ос. Итак, вершина а однозначно
определяет набор а.
Пусть теперь а и f — разные минимальные нули функции /
и первому из них соответствует вершина а, а второму — вершина
с. Предположим, что вершина а предшествует вершине с или
совпадает с ней. Если бы вершинам а и с предшествовали одни и те
же полюсы, то, согласно сказанному выше, выполнялось бы
равенство а = у. Следовательно, множество С полюсов,
предшествующих вершине с, строго включает множество А. Но тогда
a<Y» что противоречит определению минимального нуля. П
Теорема 7. Если антимонотонная функция f(xi,..., хп) имеет
Nn минимальных нулей, то
Hfn)>2Nn-l.
Доказательство. В силу леммы 11 в схеме, реализующей
функцию /, имеется Nn несравнимых вершин. Чтобы соединить
их путями с выходом схемы, потребуется еще не менее Л^— 1
элементов. □
Антимонотонную функцию назовем мажоритарной, если
множество ее минимальных нулей образовано всеми наборами,
содержащими [п/2] единиц и ]п/2[ двоек. Очевидно, что число
таких наборов равно С1Г/21.
Следствие. Для мажоритарной функции fM(x\t..., хп)
L(fM)>2ClnM-\,
где
Для того чтобы не было сомнений в содержательности
полученной нижней оценки, надо убедиться в том, что функция fM
представима в базисе {ф, г|?}. Но это совсем просто. Если взять
СТ/21 блоков, каждый из которых получает на входы свою группу
из ]п/2[ переменных и вычисляет (с помощью ф-элементов) их
минимальное значение, и «собрать» выходы этих блоков с
помощью ф-элементов, то получится схема, реализующая fM.
§ 6. П-схемы без нулевых цепей
Этот класс схем ввел в рассмотрение А. К. Пулатов. В нем
можно получать почти экспоненциальные нижние оценки
сложности.
8 Р. Г. Нигмалулин 209
Цепью контактной схемы будем называть последовательность
контактов, не проходящую дважды ни через какую вершину и
соединяющую два полюса. Цепь называется нулевой, если она имеет
тождественно нулевую проводимость, т. е. содержит одновременно
контакты вида х и х.
Для каждой булевой функции, отличной от константы 0, легко
построить контактную схему (например, в соответствии с ее
д.н.ф.), которая не содержит нулевых цепей. В то же время ряд
построенных нами схем (см. рис. 8, 36, 50) свидетельствует о том,
что использование нулевых цепей является вполне естественным.
Поэтому можно ожидать, что запрет нулевых цепей повышает
сложность реализации. Контактную схему, которая не содержит
нулевых цепей, будем называть (контактной) схемой без нулевых
цепей. Сложность функции f в классе схем без нулевых цепей
обозначается через Lj£c(/), а в классе П-схем без нулевых цепей —
через L$(f).
Пусть а и Ь — две различные вершины некоторой цепи Ц
контактной схемы S. Часть цепи, ограниченная вершинами а и ft,
называется подцепью (цепи Ц), а вершины а и Ь — ее концами.
Остальные вершины подцепи называются внутренними. Подцепь
называется прямолинейной, если каждая ее внутренняя вершина
инцидентна только двум контактам схемы 5 — тем, которые
входят в эту подцепь. В частности, любой контакт представляет
собой прямолинейную подцепь. Прямолинейная подцепь
называется максимальной, если она не является собственной подцепью
никакой прямолинейной подцепи. Очевидно следующее
Утверждение 15. Различные максимальные подцепи не
имеют общих контактов.
Поскольку каждый контакт схемы принадлежит некоторой
максимальной подцепи, из утверждения 15 следует, что множество
всех контактов схемы разбивается на максимальные подцепи.
Легко видеть также, что каждая цепь схемы вместе с любым
контактом содержит всю максимальную подцепь, которой он
принадлежит. Поэтому каждая цепь схемы тоже распадается на
максимальные подцепи.
Максимальная подцепь называется альтернативной, если
существует цепь схемы, проходящая через ее концы и не проходящая
через ее контакты.
Определим теперь функцию, для которой будет установлена
нижняя оценка сложности. Подмножество Сы^Вп(1 <d</t)
называется (п, (1)-кодом, если для любой пары точек a, jJeC*
р (а, Р) ^d. Характеристической функцией множества А ^Вп
называется функция /еРг такая, что Nf=A. Характеристическую
функцию (п, я()-кода Cd обозначим через Cd(x\,..., хп).
Лемма 12. Если d^2, то каждая цепь минимальной П-схемы
S без нулевых цепей, реализующей функцию Cd, содержит ровно
по одному контакту каждой переменной.
Доказательство. Очевидно, что множество контактов Т
любой переменной х схемы S образует сечение (иначе функция
210
Cd обращалась бы в единицу на паре соседних наборов). Пусть
Т'^Т есть тупиковое сечение схемы S. Если некоторый контакт
лс°е Г\Г', то любая цепь схемы S, проходящая через этот контакт,
содержит другой контакт этой переменной хь^Т'. Поскольку в
схеме нет нулевых цепей, то 6 = а. Поэтому, «закоротив» контакт
х° (т. е. стянув его концы в одну точку), получим эквивалентную
схему меньшей сложности, что противоречит минимальности
схемы S. Следовательно, сечение Т тупиковое. В силу леммы 8 гл.
8 каждая цепь схемы S содержит ровно один контакт из
множества Т. □
Следствие. Если d^2, то в минимальной Г1-схеме S без
нулевых цепей, реализующей функцию Cd{x\, ... , хп):
1) альтернативные подцепи содержат не менее, нем по d кон-
тактов;
2) число альтернативных подцепей в одной цепи не
превышает n/d.
Доказательство. Пусть Ц\ — произвольная
альтернативная подцепь схемы S, а и Ь — концы подцепи Ц\ и k — ее
длина. Далее, пусть Ц — цепь, существующая для
альтернативной подцепи Ц\ в силу определения, a ft — подцепь цепи Ц с
концами а и Ь. Из леммы 12 следует, что Ц\ и Цъ состоят из
контактов одних и тех же переменных. Но тогда проводимость
схемы S равна 1 на двух наборах, отличающихся значениями
не более, чем k переменных,— тех, контакты которых входят в
Ц\ и Z/г. Поэтому если k<dy то в силу определения функции Cd
эти два набора совпадают, и, таким образом, подцепи Ц\ и Z/г
состоят просто из одних и тех же контактов. Но в таком случае,
удалив подцепь Z/i, мы получили бы эквивалентную схему
меньшей сложности, что противоречит минимальности исходной
схемы. Этим доказан п. 1).
П. 2) следует из леммы 12, утверждения 15 и п. 1). □
Теорема 8. Для характеристической функции Cd(x\y ..., хп)
(л, d)-Koda мощности М
Cn{Cd)>dMd/n.
Доказательство. Обозначим через Р число различных
альтернативных подцепей в минимальной П-схеме S без нулевых
цепей, реализующей функцию Cd(x\, ... , хп). Можно показать,
что каждая цепь однозначно определяется последовательностью
входящих в нее альтернативных подцепей. Поэтому в силу п. 2)
следствия леммы 12 число W цепей схемы S не превышает Рп/ .
С другой стороны, в силу леммы 12 M^N. Таким образом,
откуда
P^Md/n.
Из этой оценки, утверждения 15 и п. 1) следствия леммы 12
211
получаем
Ln(S)^dP^dMd/n. О
Пример 1. Рассмотрим (п — 1, d) -код Рида — Маллера
(я = 2*) при четном k и s = k/2 (см. § 6 гл. 3). В силу теоремы 14
гл. 3 для него d=^[n—l и М^2п/2. Поэтому для
характеристической функции С*£ (jci, ..., Хп) кода Рида — Маллера имеет
место оценка v"
^n(Cv^I)>(V^-l)2(,/2,(Vw-,).
Пример 2. Пусть </ (jci, ..., хп) — характеристическая
функция (я, й)-кода с d^C\ti и с2я информационными разрядами.
Существование такого кода обеспечивается границей Варша-
мова — Гильберта (см., например, [68]). Тогда
Ln(4n)>2cny где с = с,-С2.
Однако эта оценка не является эффективной, поскольку код
не задается в явном виде.
Как соотносятся сложности функции в классе обычных
П-схем и П-схем без нулевых цепей? Для сравнения заметим, что
для произвольного линейного (л, rfj-кода
Ln(Cd(xu...,xn))^n2(n-k)t -
где к — число информационных разрядов кода. Для построения
схемы такой сложности достаточно строить ее в соответствии
с проверочной матрицей линейного кода (см. [72]).
§7. Синхронные схемы из функциональных элементов ш
В этом параграфе мы рассмотрим схемы из функциональных
элементов, подчиненные одному довольно естественному
ограничению: все (ориентированные) пути, соединяющие элемент
схемы с полюсами, имеют одинаковую длину. Это ограничение
должно выполняться для всех элементов схемы. Такие схемы
называются синхронными. При физической интерпретации это
означает, что на оба входа элемента сигналы поступают
одновременно.
Вершины синхронной схемы естественным образом делятся
на ярусы. Нулевой ярус составляют полюсы. К г-му ярусу
относятся вершины, к которым от полюсов ведут пути длины г.
Число ярусов называется глубиной схемы S и обозначается D(S).
Глубиной функции f (обозначение D(f)) называется
минимальная глубина синхронной схемы, реализующей функцию /.
Сложность функции / в классе синхронных схем обозначается Ls(f).
В качестве базиса возьмем Я|.
В этом параграфе будет получена оценка порядка п log п
в классе синхронных схем. Основной результат применим как
к булевым функциям, так и к булевым операторам.
212
Обозначим вершины г-го яруса синхронной схемы через v\y...
..., vp. Если мы сумеем оценить снизу число р вершин г-го яруса
для достаточно больших номеров ярусов, то тем самым будет
получена нижняя оценка сложности схемы.
Для оценки числа р представим схему S как композицию
двух блоков, которые образуются путем «разреза» схемы по г-му
ярусу (рис. 54). Блок h вычисляет функции йь..., hpy
реализуемые схемой S в точках v\,..., vp. Блок С представляет «нижнюю»
часть схемы S. По А|,..., hp он вычисляет оператор /. Оператор /
тогда можно представить как композицию двух
операторов:
f=C(h(x)\ (9.32)
где jc = (jci,... ,хя). Для произвольного zsc
обозначим через fc множество операторов, получающихся из
оператора f(x) в результате всевозможных
подстановок констант на места всех переменных из x\z.
Из (9.32) очевидно, что для любого z
1Ы<1Ы<П1(Л.)И-
(9.33)
1
%
Из этого неравенства можно извлечь нижнюю
оценку для р, если иметь нижнюю оценку для |/?| Рис. 54
и верхнюю для |(A/)?|. Займемся сначала верхней
оценкой \(hi)?\. К сожалению, для произвольно
взятых z и / эти оценки получаются неприемлемо высокими.
Поэтому мы будем оценивать \(Ь)7\ в среднем по всем множествам
z данной мощности. Среднее значение величины q по всем
подмножествам z ^х мощности а обозначим через М (q).
|7|=а
Лемма 13. Пусть существенные переменные функции g^Pl
находятся в множестве у^ху \у\=Ь. Тогда при условии
0<2а&/(м-а-6+1)<1
Af(log|g?|K-
l-
2ab
n—a—b+\
Доказательство. Пусть |?Пу|=А. Тогда log|g?|<;2*,
поскольку различных булевых функций от k переменных не
более 2*\
Из числа Сп различных множеств z ^х Сь Сп-ь множеств
имеют k общих элементов с у. Поэтому
(9.34)
Для оценки этой суммы выясним, который из членов больше.
Для этого оценим отношение двух соседних членов. Обозначая
213
k-и член суммы через dk, имеем
^■n^fct+lC;z?-'2*+l= (b-k)(a-k)2 < 2ab
dk CkbCanZkb2h №+1)(я-а-Ь + Л+ 1)^л-в-6+1 *
Обозначив последнее отношение /?о и учитывая, что оно по
условию леммы меньше 1, можем продолжить неравенство (9.34):
_A*(log|«iD<££ dk^l ^<ТГЕ **<-*-. (9.35)
Лемма доказана. □
Применим эту лемму к функциям А,, реализуемым схемой S
на г-м ярусе. Для этого нужно убедиться, что выполнено условие
/?о<1 леммы. Для каких номеров ярусов оно выполняется?
Ответ на этот вопрос дает
Следствие. Если номер яруса г удовлетворяет условию
2, 6(п-а+1) (936)
где 0<6<1, то
A*(log|(/^)<-rV
Действительно, вершине г-го яруса предшествует не более
2Г полюсов, поэтому для любой функции hi
6<2r<e(ga+I)_
Поскольку /?о — растущая функция от Ь, то
«-« 2a+6 +1
Подставив эту оценку в (9.35), получим утверждение
следствия. □
Теперь мы имеем верхнюю оценку для [(Ai)?| (точнее, оценку
среднего значения логарифма этой величины) и можем перейти
к оценке величины р, исходя из неравенства (9.33).
Теорема 9. Если для (пу пг)-оператора f D(f)^t =
=[log(8(n-a + l)/(2a + 6))] для 0<8<1, то
L*(fl>(l-6)/Af (log|/r|).
|г|=а
Доказательство. Прологарифмируем неравенство (9.33),
затем усредним обе части неравенства по z и поменяем в
правой части порядок суммирования по z и по р:
A* (log|/?|K £ М (\og\(hi)7\). (9.37)
|z|=a /=1|?|=а
214
Если номер яруса г удовлетворяет неравенству (9.36), то
в силу следствия леммы 13 и (9.37)
Л* (logl/HK-p^-,
\г\=а
откуда
p>(l-6)M(\og\h\). (9.38)
|7|=а
Наибольший номер яруса, удовлетворяющий условию (9.36),
очевидно, равен / = |log(6(n — а+ 1)/(2.а + б))]. Если D(/)>/, то
на каждом из / первых ярусов схемы число вершин р
удовлетворяет неравенству (9.38), откуда и следует утверждение
теоремы. □
Применения. Чтобы получать нетривиальные нижние
оценки сложности с помощью теоремы 9, надо иметь примеры
функций, которые в среднем по всем множествам z имеют много
подфункций. Такие примеры мы находим среди уже
встречавшихся нам в гл. 8 функций.
Пример 1. Функция шо(х) матримониальной задачи (см.
пример 2 §6 гл. 8).
Лемма 10 гл. 8 дает нижнюю оценку числа Кто)?! в тех
случаях, когда множество z^jc содержит переменную из каждой
строки и каждого столбца матрицы х:
\(moh\>2ln/2?-{p^n)-
Чтобы распространить эту оценку на большее число множеств
5 ex, используем следующий
Факт 1. Если а = п In n-\-anti, где ап — произвольная
растущая функция от я, то доля множеств z^x, |г|=а, которые
содержат переменные не из всех строк или столбцов, стремится
к нулю при П-+00.
Доказательство можно найти в работе П. Эрдеша и А. Реньи
[129].
Напомним, что п здесь обозначает порядок матрицы ху а
число ее переменных равно п2.
Следствие. Если а = п log пу то
М (\og\(m0)7\)^(l-o(l))(n/2)2.
\z\=a
Теорема 10. Ls (m0)^(l — о(1))4- log?, где q = n2.
Комментарий. Мы ввели обозначение q = n2y чтобы показать
нижнюю оценку как функцию числа q переменных.
Доказательство. Функция то(х) существенно зависит
от п2 переменных, поэтому D(m0)^ log я2. При a = n\ogn
t ~ ^ '°g Я- Остается воспользоваться теоремой 9, взяв б> 0,
и следствием факта 1. □
215
Комментарии
1. Первый пример, показывающий, что введение размыкающих контактов
уменьшает сложность контактной схемы, построил Ю. Л. Васильев. Н. А.
Карпова [25] установила, что Х(п)^3/2. О. Б. Лупанов [47] показал, что Х(п)^
^log п I log log п. В той же работе установлены свойство 1 (лемма 1) и верхняя
оценка для L (Рп) из леммы 5. Затем нижняя оценка для А, (п) последовательно
повышалась Р. Е. Кричевским [36] и независимо Ж. Анселем [135] до Мя)>
> log л/3 (эта оценка и приведена в § 1) и О. Б. Лупановым [50] до А.(я)^ \/я.
Для класса П-схем аналогичное отношение ли (я)= max L^{j)/Ln (/) оценила
/еЛГ
Е. А. Окольнишникова [66]: А.п (я)^ In п/\п In п.
Метод «деления пополам» синтеза схем Л„, позволяющий получать
минимальные схемы для Fnt был применен В. К. Коробковым [30], который еще не знал
о минимальности построенных схем. Минимальность была доказана позже
Р. Е. Кри4евским [37]- и Ж. Анселем [136].
2. Результаты § 2 получены Э. И. Нечипоруком [59]. Тот факт, что столь
высокие нижние оценки сложности (п' для произвольного с).получены для столь
простых функций, как дизъюнкция и конъюнкция, говорит о силе ограничений
на базис. В отличие от других работ по нижним оценкам сложности эта работа
не нашла себе продолжения.
3. Результаты § 3 о монотонной сложности булева умножения матриц почти
одновременно установили В. Р. Пратт [175], М. С. Патерсон [164| и К. Мельхорн
и 3. Галил [155]. Наше изложение следует работе [164].
Положив в теореме 5 1 = ] = К — п, мы видим, что булево умножение булевых
(иХя):матриц схемами в базисе (&, VI требует не менее 2пл — гг элементов.
В то же время, переложив на язык схем известный алгоритм Ф. Штрассена [195]
быстрого умножения матриц, М. Дж. Фишер и А. Р. Мейер [130] получили для
того же оператора схему в базисе (&, V. I содержащую 0(л|ок7 (log л)1 +¥)
элементов. Это означает, что, как и в случае контактных схем (см. п. 1),
добавление отрицания к монотонному базису может существенно понизить сложность.
Если, по-прежнему считая / = У = /(, обозначить теперь буквой п число
входов в схеме для булева умножения матриц (т. е. положить п=1-К-\-КJ), то
теорема 5 для базиса |&, VI Даст нижнюю оценку, равмую по порядку л3/2.
Такая же нижняя оценка была получена ранее Э. И. Нечипоруком [58] и
повторена рядом авторов [152, 196] для оператора, вычисляющего систему булевых
сумм, при условии, что любые две суммы имеют не более одной общей
переменной. К. Мельхорн [154] рассмотрел случай, когда любой набор из я-f-l сумм
имеет не более k общих переменных, и, применив идею свободных входов
(см. [199]), поднял нижнюю оценку до сп5/\ Такую же оценку получил Н. Пип-
пенджер [171]. Весьма близкую к окончательной нижнюю оценку порядка п2~\
где е — любое положительное число, получил для булевых сумм А. Е. Андреев [5],
рассмотрев матрицы, связанные с решениями определенных систем уравнений
над полем Галуа.
Обобщив операцию умножения булевых матриц до так называемого прямого
произведения m матриц, И. Вегенер [199, 201] довел оценку в базисе {&, V! почти
до квадратичной («2/log п). Квадратичную нижнюю оценку впервые получила
Е. А. Окольнишникова [67].
4. После многих лет постепенного повышения нижних оценок сложности для
схем в монотонном базисе неожиданно произошел прорыв в область немыслимых
ранее оценок. А. А. Разборов [73, 74] получил нижнюю оценку вида пс ,0б"
(с — константа), а А.Е.Андреев [2, 3] получил нижнюю оценку вида 2п'
(с — константа). Вскоре Н. Алон и Р. Боппана [116] показали, что методом Раз-
борова тоже можно получать нижние оценки вида 2п'.
А. А. Разборов [74] указал также пример булевой функции (логический
перманент), для которой отношение сложности в монотонном базисе к сложности
в полном базисе растет быстрее любого полинома.
Оценки, полученные А. А. Разборовым и А. Е. Андреевым, снова возвращают
нас к вопросу: можно ли для схем в полном базисе получать, пускай, не такие
высокие, но хотя бы нелинейные нижние оценки сложности?
216
Методы Разборова и Андреева основаны на близких идеях, что позволило
С. Е. Кузнецову сформулировать и обосновать метод, являющийся их
обобщением. Наше изложение этого метода в § 4 опирается на доклад, сделанный
С. Е. Кузнецовым на семинаре по теории сложности в Казанском университете
в 1985V. (см. [215|).
5. Результаты § 5 получены Г. А. Ткачевым [88]. Им же [89, 90] установлен
эффект существенного влияния базиса на поведение функции Шеннона в трех-
и четырехзначной логиках. Заметим, что для булевых функций такой эффект не
наблюдался (при неизменном числе входов у базисных элементов).
Попытки получить экспоненциальные нижние оценки сложности в классе схем
из функциональных элементов для булевых функций даже при ограничении на
базис долгое время не имели успеха. Поэтому Г.А.Ткачев [91] рассмотрел
дополнительное ограничение, а именно на глубину схем (под глубиной здесь
понимается максимальное число перемен знаков операций с V на & и, наоборот,
в цепи, соединяющей полюсы с выходом; максимум берется по всем
ориентированным цепям; переход от полюса к элементу & или V тоже считается
переменой знака). В работе [91] доказано, что для некоторой конкретной функции
fn(x\y..., хп) сложность О/ (/,,) функции /„ при реализации схемами глубины
3 в базисе (&, V» ")» гДе выходной элемент есть дизъюнкция, удовлетворяет
неравенству
2*'<"<*,/(/„)•
Для других функций аналогичные оценки получали С. Е. Кузнецов [39],
Л. Вэльянт [198] и А. Яо [203], причем А. Яо удалось получить подобную
оценку даже для L.Y (/). Для произвольной фиксированной глубины впервые
такую почти экспоненциальную нижнюю оценку получил Р. Боппана [120].
Ряд работ был посвящен сложности реализации линейной функции в классе
схем ограниченной глубины. Нижнюю оценку выше полиномиальной получили
М. Ферст, Дж. Сейкс и М. Сипсер [132]. Затем ее улучшил М. Айтаи [115] и,
наконец, А. Яо [204] получил почти экспоненциальную нижнюю* оценку, которую
вскоре усилил Дж. Хастад [143].
К этому же циклу работ примыкает работа А. А. Разборова [75], в которой
базис расширен за счет линейной функции, что, конечно, значительно осложняет
получение нижних оценок.
6. П-схемы без нулевых цепей ввел в рассмотрение А. К. Пулатов. Результаты
§ 6 опубликованы в его работе [72]. Произвольные контактные схемы без
нулевых цепей исследовал С. Е. Кузнецов. Он установил [38], в частности, что для
«большого числа» функций /'еЯЗ
суп— I
^^loglogfT
Вспомним, что
(см. теорему 6 гл. 4). Сопоставление этих двух оценок показывает, что не только
для отдельных функций / LKC (f) = o(LKC■ (/)), но и для функции Шеннона
Lkc(ai) = o(/^c (//)).
7. Метод получения нижних оценок сложности в классе синхронных схем
предложил Л. X. Харпер [141]. Затем он в соавторстве с Дж. Э. Сейвиджем [142]
упростил первоначальное доказательство и нашел применение метода.
Результаты § 7 легко переносятся на случай произвольного конечного базиса. В работе
[142] получена также нижняя оценка порядка q log q для детерминанта булевой
матрицы (см. пример 3 § 5 гл. 8). Подобно методам Храпченко и Нечипорука,
этот метод может найти и другие применения. В частности, он применим к почти
всем булевым функциям, но, как известно, проблема нижних оценок сложности
требует применения к конкретным функциям.- .
Верхние оценки сложности в классе синхронных схем для всех булевых
функций построил О. Б. Лупанов [51].
217
Упражнения
1. Указать все тупиковые сечения схемы, изображенной на рис. 49. Сколько их?
2. Восстановить недостающие детали доказательства теоремы 4.
3. Используя обозначения § 3, введем функцию Dross:
Dross: = V aikark>\/ V **/V/'V V aikbkl.
(/, к)Ф{1\ k') (*./)=*(*'. /') 7./
кфк'
• Обосновать следующее упрощающее эквивалентное преобразование: если для
некоторой вершины v <PyHK(v) = s и x<Cs^.x V Dross, то вершину с можно
заменить полюсом х (для схемы в базисе (&, VI» осуществляющей умножение
булевых матриц) (см. [164]).
4. В условиях теоремы 5 доказать следующие утверждения:
(1) Если s(U, апЬч V anb{j) = crr, то s(U, Ьч) = сгг.
(2) Если s(U, Qi\b\i V 0/1^1/') = ^"/"» то s(U, an) — crj».
5. Как следствие упр. 4 доказать следующие утверждения:
(1) Если ацЬц V аг\Ь\1^:Функ(и)<^Ь]1У то вершину v можно удалить из
схемы, заменив ее полюсом 61;.
(2) Если aiXbX: V ai\blj^0yHK{v)<ail, то вершину v можно заменить
полюсом ад (см. [164]).
6. В каком месте доказательства леммы 12 используется свойство отсутствия
нулевых цепей?
СПИСОК ЛИТЕРАТУРЫ
Основной
1. Августинович С. В. Об одном подходе к получению нижних оценок
сложности для булевых функций // Дискретный анализ. Вып. 35.—
Новосибирск, 1980.— С. 3—8.
2. Андреев А. Е. Об одном методе получения нижних оценок сложности
индивидуальных монотонных функций.— Препринт/ИПМех АН СССР.— М.,
1985.—№ 248.- 15 с.
3. Андреев А. Е. Об одном методе получения нижних оценок сложности
индивидуальных монотонных функций // ДАН СССР.— 1985.— Т. 282, № 5.—
С. 1033—1037.
4. Андреев А. Е. О сложности монотонных функций//Вестн. МГУ. Сер. 1.
Матем. Мех.— 1985.— № 4.— С. 83—87.
5. Андреев А. Е. Об одном семействе булевых матриц//Вестн. МГУ. Сер. 1.
Матем. Мех.— 1986.— № 2.— С. 97—100.
6. Асланян Л. А. Изопериметрическая задача и смежные экстремальные
задачи для дискретных пространств // Проблемы кибернетики. Вып. 36.— М.:
Наука, 1979.— С. 85—127. \
7. Васильев Ю. Л. Минимальные контактные схемы для булевых функций
четырех переменных//ДАН СССР.— 1959.—Т. 127, № 2.—С. 242—245.
8. Васильев Ю. Л. О сравнении сложности тупиковых и минимальных
дизъюнктивных нормальных форм // Проблемы кибернетики. Вып. 10.— М.:
Физматгиз, 1963.—С. 5—61.
9. Васильев Ю. Л. Трудности минимизации булевых функций на основе
универсальных подходов//ДАН СССР.— 1966.— Т. 171, № 1.— С. 13—16.
10. Васильев Ю. Л. Массивные классы плотных булевых
функций//Дискретный анализ. Вып. 32.— Новосибирск, 1978.— С. 21—33.
11. Васильев Ю. Л., Глаголев В. В. Метрические свойства дизъюнктивных
нормальных форм // Дискретная математика и математические вопросы
кибернетики/Под ред. С. В. Яблонского и О. Б. Лупанова.— М.: Наука, 1974.—
С. 99—148.
12. Викулин А. П. Оценка числа конъюнкций в сокращенных д. н. ф.//
Проблемы кибернетики. Вып. 29.—М.: Наука, 1974.— С. 151 —166.
13. Глаголев В. В. Оценка снизу числа тупиковых д. н.ф. для почти всех
функций алгебры логики // Дискретный анализ. Вып. 3.— Новосибирск,
1964.-С. 31—40.
14. Глаголев В. В. Некоторые оценки дизъюнктивных нормальных форм
функций алгебры логики//Проблемы кибернетики. Вып. 19.— М.: Наука,
1967.— С. 75—94.
15. Горелик Е. С. О сложности реализации элементарных конъюнкций и
дизъюнкций в базисе \х/у\ // Проблемы кибернетики. Вып. 26.— М.: Наука,
1973.— С. 27—36.
16. Данилова-Данильян Т. В. Об одном способе получения нижних оценок
сложности контактных схем и о сложности реализации контактными схемами
функций «с малым числом единиц»//Кибернетика.— 1971.— № 1.—С. 21—28.
17. Евдокимов А. А. О максимальной длине цепи в единичном «-мерном
кубе//Матем. заметки.— 1969,—Т. 6, № 3.—С. 309—319.
18. Журавлев Ю. И. Теорет и ко-множественные методы в алгебре логики//
Проблемы кибернетики. Вып. 8.— М.: Физматгиз, 1962.— С. 5—44.
219
19. Журавлев Ю. И. Об одном классе алгоритмов над конечными
множествами //ДАН СССР.— 1963.— Т. 151, № 5.— С. 1025—1028.
20. Журавлев Ю. И. Оценки сложности алгоритмов построения минимальных
дизъюнктивных нормальных форм для функций алгебры логики //
Дискретный анализ. Вып. 3.— Новосибирск, 1964.— С. 41—77.
21. Журавлев Ю. И. Локальные алгоритмы вычисления информации. I, II//
Кибернетика.— 1965.— № 1.—С. 12—19; 1966.— № 2.—С. 1 — 11.
22. Журавлев Ю. И. Алгоритмы построения минимальных дизъюнктивных
нормальных форм для функций алгебры логики // Дискретная математика
и математические вопросы кибернетики/Под ред. С. В. Яблонского и О. Б. Лу-
панова.—М.: Наука, 1974.—С. 67—98.
23. Журавлева Л. А. Построение сокращенной д. н. ф. методом Блека//
Дискретный анализ. Вып. 10.— Новосибирск, 1967.— С. 23—38.
24. Казаков В. Д. Нахождение максимального числа простых импликантов
произвольной логической функции п переменных // Автоматическое
управление.— М.: Изд-во АН СССР, I960.— С. 330—338.
25. Карпова Н. А. О контактных схемах для монотонных функций // ДАН
СССР.— 1958.—Т. 123, № 1.—С. 25—27.
26. Карпова Н. А. Минимальные схемы из замыкающих контактов для
монотонных функций пяти переменных // Проблемы кибернетики. Вып. 26.— М.:
Наука, 1973.—С. 53—94.
27. Кириенко Г. И. О самокорректирующихся схемах из функциональных
элементов//Проблемы кибернетики. Вып. 12.— М.: Наука, 1964.— С. 29—37.
28. Клосс Б. М., Малышев В. А. Оценки сложности некоторых классов
функций//Вестн. МГУ. Сер. 1. Матем. Мех.—1965.—№ 4.—С. 44—51.
29. Клосс Б. М. Оценки сложности решения систем линейных уравнений//
ДАН СССР.— 1966.— Т. 171, № 4.— С. 781—783.
30. Коробков В. К. Реализация симметрических функций в классе П-схем//
ДАН СССР.— 1956.— Т. 109, № 2.— С. 260—263.
31. Королева 3. Е. Доказательство минимальности контактных схем
некоторого типа//Дискретный анализ. Вып. 14.— Новосибирск, 1969.— С. 18—27.
32. Коршунов А. Д. Об асимптотических оценках сложности контактных схем
заданной степени//Дискретный анализ. Вып. 5.— Новосибирск, 1965.—
С. 35—67.
33. Коршунов А. Д. Верхняя оценка сложности кратчайших д. н. ф. почти
всех бу&евых функций // Кибернетика.— 1969.— № 6.— С. 1—8.
34. Коршунов А. Д. О сложности кратчайших дизъюнктивных нормальных
форм булевых функций // Дискретный анализ. Выи. 37.— Новосибирск,
1981.—С. 9—41.
35. Коршунов А. Д. О сложности кратчайших дизъюнктивных нормальных
форм случайных булевых функций // Дискретный анализ. Вып. 40.—
Новосибирск, 1983.— С. 25—53.
36. Кричевский Р. Е. О сложности параллельно-последовательных
контактных схем, реализующих одну последовательность булевых функций //
Проблемы кибернетики. Вып. 12.— М.: Наука, 1964.— С. 45—55.
37. Кричевский Р. Е. Минимальная схема из замыкающих контактов для
одной булевой функции от п аргументов // Дискретный анализ. Вып. 5.—
Новосибирск, 1965.—С. 89—92.
38. Кузнецов СЕ. Нижняя оценка функции Шеннона для П-схем без
нулевых цепей//Дискретный анализ. Вып. 37.— Новосибирск, 1981.— С. 51—64.
39. Кузнецов С. Е. О сложности реализации одной последовательности
булевых функций формулами глубины 3 в базисе (&, V. ~1 // Вероятностные
методы и кибернетика. Вып. 19.— Казань: Изд-во КГУ, 1983.—С. 40—43.
40. Кузнецов С. Е. О нижней оценке длины кратчайшей д. н. ф. почти всех
булевых функций // Вероятностные методы и кибернетика. Вып. 19.— Казань:
Изд-во КГУ, 1983.—С. 44—47.
41. Кузьмин В. А. Реализация функций алгебры логики автоматами,
нормальными алгорифмами и машинами Тьюринга // Проблемы кибернетики.
Вып. 13.—М.: Наука, 1965.—С. 75—96.
220
42. Левенштейн В. И. Элементы теории кодирования // Дискретная
математика и математические вопросы кибернетики /Под ред. С. В. Яблонского и
О. Б. Лупанова.—М.: Наука, 1974.—С. 207—305.
43. Липатов Е. П. Об одном случае неравномерного локального
кодирования//Проблемы кибернетики. Вып. 26.—М.: Наука, 1973.—С. 95—107.
44. Лупанов О. Б. О синтезе контактных схем // ДАН СССР.— 1958.— Т. 119,
No 1.—С. 23—26.
45. Лупанов О. Б. Об одном методе синтеза схем//Изв. вузов.
Радиофизика.— 1958.— № 1.—С. 120—140.
46. Лупанов О. Б. О сложности реализации функций алгебры логики
формулами // Проблемы кибернетики. Вып. 3.— М.: Физматгиз, I960.— С. 61—80.
47. Лупанов О. Б. О сравнении сложности реализации монотонных функций
контактными схемами, содержащими лишь замыкающие контакты, и
произвольными контактными схемами//ДАН СССР.—1962.— Т. 144, № 6.—
С. 1245—1248.
48. Лупанов О. Б. О синтезе некоторых классов управляющих систем//
Проблемы кибернетики. Вып. 10.—М.: Физматгиз, 1963.— С. 63—97.
49. Лупанов О. Б. Об одном подходе к синтезу управляющих систем —
принципе локального кодирования // Проблемы кибернетики. Вып. 14.— М.:
Наука, 1965.—С. 31 — 110.
50. Лупанов О. Б. К вопросу о реализации симметрических функций алгебры
логики контактными схемами // Проблемы кибернетики. Вып. 15.— М.:
Наука, 1965.— С. 85—99.
51. Лупанов О. Б. О схемах из функциональных элементов с задержками
//Проблемы кибернетики. Вып. 23.— М.: Наука, 1970.— С. 43—81.
52. Лупанов О. Б. Об асимптотических оценках сложности управляющих
систем // Международный конгресс математиков в Ницце, 1970. Доклады
советских математиков.—М.: Наука, 1972.—С. 162—167.
53. Лупанов О. Б. О методах получения оценок сложности и вычисления
индивидуальных функций//Дискретный анализ. Вып. 25.— Новосибирск,
1974.—С. 3—18.
54. Лупанов О. Б. Асимптотические оценки сложности управляющих систем.—
М.: Изд-во МГУ, 1984.
55. Малышев В. А. Класс «почти всех» функций с нелинейной сложностью
при реализации П-схемами // Проблемы кибернетики. Вып. 19.— М.: Наука,
1967.— С. 299—306.
56. Нечипорук Э. И. О сложности схем в некоторых базисах, содержащих
нетривиальные элементы с нулевыми весами // Проблемы кибернетики.
Вып. 8.—М.: Физматгиз, 1962.—С. 123—160.
57. Нечипорук Э. И. Об одной булевской функции//ДАН СССР.— 1966.—
Т. 169, № 4.— С. 765—766.
58. Нечипорук Э. И. Об одной булевской матрице//Проблемы кибернетики.
Вып. 21.—М.: Наука, 1969.—С. 237—240.
59. Нечипорук Э. И. О реализации дизъюнкции и конъюнкции в некоторых
монотонных базисах // Проблемы кибернетики. Вып. 23.— М.: Наука, 1970.—
С. 291-293.
60. Нигматуллин Р. Г. Некоторые метрические соотношения в единичном
кубе//Дискретный анализ. Вып. 9.—Новосибирск, 1967.— С. 47—58.
61. Нигматуллин Р. Г. Вариационный принцип в алгебре
логики//Дискретный анализ. Вып. 10.— Новосибирск, 1967.— С. 69—89.
62. Нигматуллин Р. Г. Метод наискорейшего спуска в задачах на
покрытие // Вопросы точности и эффективности вычислительных алгоритмов: Труды
симпозиума. Вып. 5.—Киев, 1969.—С. 116—126.
63. Нигматуллин Р. Г. О приближенных алгоритмах с ограниченной
абсолютной погрешностью для дискретных экстремальных задач />'
Кибернетика.— 1978.— № 1.— С. 95—101.
64. Нигматуллин Р. Г. Проблема нижних оценок сложности и теория
WP-полноты // Изв. вузов. Математика.— 1981.— № 5.— С. 17—25.
65. Нурмеев Н. Н. О сложности схемной реализации почти всех монотонных
булевых функций // Изв. вузов. Математика.— 1981.— № 5.— С. 64—70.
221
66. Окольнишникова Е. А. О роли отрицаний при реализации монотонных
булевых функций формулами в базисе (V. &» ~) //Дискретный анализ.
Вып. 33.— Новосибирск, 1979.— С. 68—76.
67. Окольнишникова Е. А. Монотонная булева система с квадратичной
сложностью реализации в базисе {V. &» 0, 1) // Дискретный анализ. Вып. 41.—
Новосибирск, 1984.— С. 81—98.
68. Питерсон У., Уэлдон Э. Коды, исправляющие ошибки.—М.: Мир, 1976.
69. Поваров Г. Н. Метод синтеза вычислительных и управляющих контактных
схем //Автоматика и телемеханика.— 1957.— Т. 18, № 2.— С. 145—162.
70. Потапов Ю. Г., Яблонский СВ. О синтезе самокорректирующихся
контактных схем //ДАН СССР.— I960.— Т\ 134, № 3.— С. 544-547.
71. Пулатов А. К. Нижняя оценка сложности схемной реализации для одного
класса кодов//Дискретный анализ. Вып. 25.— Новосибирск, 1974.—
С. 56—61.
72. Пулатов А. К. Нижние оценки сложности реализации характеристических
функций групповых кодов П-схемами // Комбинаторно-алгебраические
методы в прикладной математике.— Горький, 1979.— С. 81—95.
73. Разборов А. А. Нижние оценки монотонной сложности некоторых булевых
функций //ДАН СССР.— 1985.— Т. 281, № 4.— С. 798—801.
74. Разборов А. А. Нижние оценки монотонной сложности логического
перманента //Матем. заметки.— 1985.— Т. 37, № 6.— С. 887—900.
75. Разборов А. А. Нижние оценки размера схем ограниченной глубины
в базисе {&, 0|.— Препринт/МИ АН СССР.— М., 1986.
76. Редькин Н. П. Доказательство минимальности некоторых схем из
функциональных элементов // Проблемы кибернетики. Вып. 23.— М.: Наука,
1970.—С. 83—101.
77. Редькин Н. П. О реализации монотонных булевых функций
контактными схемами // Проблемы кибернетики. Вып. 35.— М.: Наука, 1979.—
С. 87—110.
78. Редькин Н. П. О минимальной реализации двоичного сумматора//
Проблемы кибернетики. Вып. 38.—М.: Наука, 1981.—С. 181—216.
79. Рычков К. Л. Нижняя оценка сложности реализации л-схемами одного
класса булевых функций // Дискретный анализ. Вып. 41.—Новосибирск,
1984.—С. 99—107.
80. Рычков К. Л. Модификация метода В. М. Храпченко и применение ее
к оценкам сложности П-схем для кодовых функций // Дискретный анализ.
Вып. 42.— Новосибирск, 1985.— С. 91—98.
81. Сапоженко А. А. О наибольшей длине тупиковой дизъюнктивной
нормальной формы у почти всех булевых функций // Матем. заметки.—
1968.— Т. 4, № 6.— С. 649—658.
82. Сапоженко А. А. О сложности дизъюнктивных нормальных форм,
получаемых с помощью градиентного алгоритма // Дискретный анализ. Вып.
21 — Новосибирск, 1972.— С. 62—71.
83. Сапоженко А. А. Дизъюнктивные нормальные формы.— М.: Изд-во
МГУ, 1975.
84. Слисенко А. О. Сложностные задачи теории вычислений // УМН.—
1981.— Т. 36, вып. 6.— С. 21 — 103.
85. Сопруненко Е. П. О минимальной реализации некоторых функций
схемами из функциональных элементов // Проблемы кибернетики. Вып.
15.—М.: Наука, 1965.—С. 117—134.
86. Субботовская Б. А. О реализации линейных функций формулами
в базисе V, &, ~ //ДАН СССР.— 1961.— Т. 136, № 3.- С. 553-555.
87. Субботовская Б. А. О сравнении базисов при реализации функций
алгебры логики формулами//ДАН СССР.— 1963.—Т. 149, № 4.—
С. 784—787.
88. Ткачев Г. А. О сложности реализации одной последовательности функций
fc-значной логики // Вестн. МГУ. Сер. 15. Вычисл. матем. и киберн.— 1977.—
№ 1.—С. 45-57.
89. Ткачев Г. А. О влиянии базиса на сложность реализации функций
многозначной логики схемами из функциональных элементов // Труды ВЦ
АН СССР. Вып. 2.—М., 1977.—С. 16—45.
222
90. Ткачев Г. А. О влиянии базиса на поведение функции Шеннона//
Дискретный анализ. Вып. 34.— Новосибирск, 1980.— С. 88—99.
91: Ткачев Г. А. О сложности реализации одной последовательности булевых
функций схемами из функциональных элементов и П-схемами при
дополнительных ограничениях на структуру схем // Комбинаторно-алгебраические
методы в прикладной математике.— Горький, 1980.— С. 161—207.
92. Tooм А. Л. О сложности реализации двоичных функций, имеющих мало
«подфункций» // Проблемы кибернетики. Вып. 18.— М.: Наука, 1967.—
С. 83—90.
93. Угольников А. Б. О реализации монотонных функций схемами из
функциональных элементов//Проблемы кибернетики. Вып. 31.— М.: Наука,
1976.-С. 167—185.
94. Улиг Д. О связи между сложностью схемной реализации функций
алгебры логики и числом их подфункций // Проблемы кибернетики. Вып.
26.—М.: Наука, 1973.—С. 183—201.
95. Улиг Д. Об одной функции алгебры логики, имеющей много подфункций
и небольшую сложность реализации // Проблемы кибернетики. Вып. 35.—
М.: Наука, 1979.-С. 133—139.
96. Храпченко В. М. О сложности реализации линейной функции в классе
П-схем // Матем. заметки.— 1971.— Т. 9, № 1.— С. 35—40.
97. Xрапченко В. М. Об одном методе получения нижних оценок сложности
П-схем//Матем. заметки.—1971.—Т. 10, № 1.—С. 83—92.
98. Храпченко В. М. О сложности реализации симметрических функций
формулами // Матем. заметки.—1972.— Т. 11, № 1.— С. 109—120.
99. Храпченко В. М. Квадратичная нижняя оценка сложности, основанная
на непрерывности второй производной // Проблемы кибернетики. Вып. 26.—
М.: Наука, 1973.- С. 203-206.
100. Xрапченко В. М. О сложности реализации симметрических функций
алгебры логики формулами в конечных базисах // Проблемы кибернетики.
Вып. 31. — М.: Наука, 1976.— С. 231-234.
101. Храпченко В. М. Нижние оценки сложности схем из функциональных
элементов (обзор)//Кибернетический сборник. Новая серия. Вып. 21.—
М.: Мир, 1984.— С. 3—54.
102. Шоломов Л. А. О реализации недоопределенных булевых функций
схемами из функциональных элементов // Проблемы кибернетики. Вып. 21.—
М.: Наука, 1969.- С. 215-226.
103. Шоломов Л. А. Об информационной сложности задач, связанных с
минимальной реализацией булевых функций схемами // Проблемы
кибернетики. Выи. 26— М.: Наука, 1973.— С. 207—256.
104. Шоломов Л. А. Об одной последовательности сложно реализуемых
функций // Матем. заметки.— 1975.— Т. 17, № 6.— С. 957—966.
105. Шоломов Л. А. Основы теории дискретных логических и вычислительных
устройств.— М.; Наука, 1980.
106. Яблонский С. В. Реализация линейной функции в классе П-схем//
ДАН СССР.—1954,- Т. 94, № 5.— С. 805—806.
107. Яблонский С. В. Функциональные построения в /г-значной логике//
Труды МИ АН СССР. Т. 51.-М.: Изд-во АН СССР, 1958- С. 5—142.
108. Яблонский СВ. Основные понятия кибернетики // Проблемы
кибернетики. Вып. 2.— М.: Физматгиз, 1959.— С. 7—38.
109. Яблонский С. В. Об алгоритмических трудностях синтеза
минимальных контактных схем // Проблемы кибернетики. Вып. 2.— М.: Физматгиз,
1959.—С. 75-121.
110. Яблонский С. В. К вопросу об оценке длины тупиковых дизъюнктивных
нормальных форм // Проблемы кибернетики. Вып. 7.— М.: Физматгиз,
1962.—С. 229-230.
111. Яблонский С. В., Гаврилов Г. П., Кудрявцев В. Б. Функции
алгебры логики и классы Поста.— М.: Наука, 1966.
112. Яблонский С. В. Обзор некоторых результатов в области дискретной
математики // Всесоюз. конф. по проблемам теоретической кибернетики
(Новосибирск, июнь 1969). Доклады (пленарные и секционные). Инфор-
223
мационные материалы Научного совета АН СССР по комплексной проблеме
«Кибернетика». Вып. 5 (42).— М., 1970.—С. 5—15.
113. Яблонский СВ. Введение в дискретную математику.— 2-е изд., перераб.
и доп.— М.: Наука, 1986.
114. Aho А. V., Hopcroft J. Е., Ullman J. D. The design and analysis of
computer algorithms.—Addison-Wesley, Reading, MA, 1974. [Рус. пер.:
Ахо А., Хопкрофт Дж., Ульман Дж. Построение и анализ вычислительных
алгоритмов.— М.: Мир, 1979].
115. Ajtai М. 2i-formulae on finite structures//Ann. Pure and Appl. Logic—
1983.—V. 24.—P. 1—48.
116. Alon N., Boppana R. B. The monotone circuit complexity of Boolean
functions.— Preprint.— 1985.— 21 p.
117. Blake A. Canonical expression in Boolean algebra.—Dissertation, Chicago,
1937.
118. Blum N. A 2.75 я-lower bound on the network complexity of Boolean
functions//Techn. Rep. A 81/05, Univ. Saarlandes, 1981.
119. Blum N. A Boolean function requiring 3n network size//Theoret. Comput.
Sci.— 1984.—V. 28, № 3.— P. 337—345. [Рус. пер. в кн.: Кибернетический
сборник. Новая серия. Вып. 22.— М.: Мир, 1985 — С. 43—53.]
120. Boppana R. В. Threshold functions and bounded depth monotone
circuits // Proc. 16th Ann. ACM Symp. on Theory of Computing.— 1984.—
P. 475—479.
121. Bose R. C. Mathematical theory of the symmetrical factorial design//
Sankhya.— 1947.— V. 8— P. 107—166.
122. Bose R. C, Ray-Chaudhuri D. K. On a class of error correcting
binary group codes//Inf. and Control.—I960.—V. 3, № 1.—P. 68—79.
[Рус. пер. в кн.: Кибернетический сборник. Вып. 2.— М.: ИЛ, 1961.—
С. 83—94.]
123. Cardot С. Quelques resultats sur I'application de Talgebre de Boole a la
synthese des circuits a relais // Ann. Telecomm.—1952.—V. 7, № 2.— P. 75—
84.
124. Cobham A. The intrinsic computational difficulty of functions//Proc. 1964
Int. Cong, for Logic Methodology and Philosophy of Science.— Amsterdam:
North-Holland, 1964.— P. 24—30.
125. Cook S. A. The complexity of theorem-proving procedures// Proc. 3rd Ann.
ACM Symp. on Theory of Computing.—1971.— P. 151 —158. [Рус. пер. в
кн.: Кибернетический сборник. Новая серия. Вып. 12.— М.: Мир, 1975.—
С. 5—15.]
126. Cook S. A., Reckhow R. A. Time-bounded random access machines//
Proc. 4th Ann. ACM Symp. on Theory of Computing.— 1972.— P. 73—80.
127. Edmonds J. Paths, trees, and flowers // Canad. J. Math.— 1965.—V. 17,
№ 3. P. 449—467.
128. Erdos P., Rado R. Intersection theorems for systems of sets//J.
London Math. Soc—1960.—V. 35, Part 1 (№ 137).- P. 85—90.
129. Erdos P., Renyi A. On random matrices//Publ. Math. Inst. Hung.
Acad. Sci.—1963.—V. 8, № 3.— P. 455—461.
130. Fischer M. J., Meyer A. R. Boolean matrix multiplication and transitive
closure // Proc. 12th Ann. IEEE Symp. on Switching and Automata Theory.—
1971.—P. 129—131.
131. Fischer M. J., Meyer A. R., Paterson M. S. il (n log n) lower
bounds on length of Boolean formulas//SIAM J. Comput.—1982.—V. 11,
№ 3.— P. 416—427.
132. Furst M., Saxe J. В., Sipser M. Parity, circuits and the polynomial-
time hierarchy//Math. Syst. Theory.—1984.- V. 17, № 1.—P. 13—27.
133. Garey M. R., Johnson D. S. Computers and intractability: A guide to
the theory of JVP-completeness.— San Francisco: W. H. Freeman and
Company, 1979. [Рус. пер.: Гэри M. Р., Джонсон Д. С. Вычислительные
машины и труднорешаемые задачи.— М.: Мир, 1982.]
134. Hamming R. W. Error detecting and error correcting codes // Bell Syst.
Techn. J.—1950.—V. 29, № 2.— P. 147—160. [Рус. пер. в кн.: Коды с
обнаружением и исправлением ошибок.— М.: ИЛ, 1956.— С. 7—22.]
224
135. Hansel G. Nombre minimal de contacts de fermeture necessaires pour
realiser une fonction booleenne symetrique de n variables // C. R. Acad.
Sci. Paris.—1964.— V. 258, № 25, Gr. 1.— P. 6037—6040. [Рус. пер. в кн.:
Кибернетический сборник. Новая серия. Вып. 5.— М.: Мир, 1968.— С. 47—
52.]
136. Hansel G. Nombre de lettres necessaire pour ecrire une fonction
symetrique de n variables // C. R. Acad. Sci. Paris.—1965.— V. 261, № 21, Gr. 1.—
P. 4297-4300.
137. Harper L. H. Optimal numberings and isoperimetric problems on
graphs//J. Comb. Theory.—1966.—V. 1, № 3.— P. 385—393.
138. Harper L H., Savage J. E. On the complexity of the marriage
problem //Adv. Math.--1972.—V. 9, № 3.- P. 299 ,.312.
139. Harper L. H., Savage J. E. Complexity made simple//Coll. Int. sulle
Teorie Combinatorie, Roma, 1973. T. II. Atti dei Convegni Lincei. № 17.—
Roma: Accad. Naz. Lincei, 1976.— P. 253—262.
140. Harper L. H., Hsieh W. N., Savage J. E. A class of Boolean functions
with linear combinational complexity//Theoret. Cornput. Sci.—1975.— V. 1,
№ 2.—P. 161 — 183.
141. Harper L. H. An n log n lower bound on synchronous combinational
complexity//Proc. Amer. Math. Soc—1977.—V, 64, № 2.—P. 300—306.
142. Harper L. H., Savage J. E. Lower bounds on synchronous
combinational complexity//SIAM J. Cornput.—1979.—V. 8, № 2.—P. 115—119.
143. Hastad J. Improved lower bounds for small depth circuits//Proc. 18th
Ann. ACM Symp. on Theory of Computing.— 1986.— P. 6—20.
144. Hodes L., Specker E. Lengths of formulas and elimination of
quantifiers//Contributions to mathematical logic.— Amsterdam: North-Holland,
1968.—P. 175—188. [Рус. пер. в кн.: Кибернетический сборник. Новая
серия. Выи. 10.—М.: Мир, 1973.—С. 99—113.]
145. Horowitz Е., Sahni S. Fundamentals of computer algorithms.— Potomac:
Computer Science Press, 1978.— 626 p.
146. Hotz G. Komplexitatsmasse fur Ausdrucke//Proc. 2nd Coll. on Automata,
Languages and Programming, 1974. Lecture Notes in Computer Science.
V. 14.- Berlin: Springer, 1974.- P. 398—412.
147. Hunt H. B. On the time and tape -complexity of languages // Proc. 5th
Ann. ACM Symp. on Theory of Computing.—1973.— P. 10—19.
148. Johnson D. S. Approximation algorithms for combinatorial problems//
J. Cornput. Syst. Sci.- 1974.— V. 9, № 3.— P. 256-278.
149. Katona G. O. H. The Hamming-sphere has minimum boundary//Stu-
dia Sci. Math. Hung.— 1975.—V. 10, № 1—2.— P. 131 — 140.
150. Knuth D. E. The art of computer programming. V. 2: Seminumerical
algorithms.—Addison-Wesley, Reading, 1969. [Рус. пер.: Кнут Д.
Искусство программирования для ЭВМ. Т. 2: Получисленные алгоритмы.— М.:
Мир, 1977.]
151. Korte В. Approximative algorithms for discrete optimization problems//
Ann. Discrete Math.— 1979.—V. 4,- P. 85—120.
152. Lamagna E. A., Savage J. E. Combinational complexity of some
monotone functions//Proc. 15th Ann. IEEE Symp. on Switching and Automata
Theory.— 1974. — P. 140—144.
153. Lofgren L. Solution to the renlizability problem for irredundant Boolean
branch-networks//J. Franklin Inst.—1959.—V. 268, № 5.—P. 352—377.
[Рус. пер. в кн.: Кибернетический сборник. Вып. 5.— М.: ИЛ, 1962.—
С. 60—101.]
154. Mehlhorn К. Some remarks on Boolean sums//Acta Inf.— 1979.—
V. 12, №4.— P. 371—375. [Рус. пер. в кн.: Кибернетический сборник.
Новая серия. Вып. 18.—М.: Мир, 1981.—С. 39—45.]
155. Mehlhorn К., Galil Z. Monotone switching circuits and Boolean matrix
product//Computing.-- 1976.—V. 16, № 1-2.—P. 99—111.
156. Meyer A. R., Stockmeyer L. J. The equivalence problem for regular
expressions with squaring requires exponential space // Proc. 13th Ann. IEEE
Symp. on Switching and Automata Theory.— 1972. - P. 125—129.
225
157. Meyer A. R. Weak monadic second order theory of successor is not ele-'
mentary recursive // Proc. Symp. on Logic, Boston, 1972. Lecture Notes in
Mathematics. V. 453.—Berlin: Springer, 1975.—P. 132-154. [Рус. пер.
в кн.: Кибернетический сборник. Новая серия. Вып. 12.— М.: Мир, 1975.—
С. 62—77.]
158. Mullег D. Е. Metric properties of Boolean algebra and their application
to switching circuits // Rep. 46, Digital Computer Laboratory, Univ. Illinois,
april, 1953.
159. Muller D. E. Complexity in electronic switching circuits//IRE Trans,
on Electronic Computers.— 1956.— EC-5, № 1.— P. 15—19.
160. Muller D. E., Preparata F. P. Bounds to complexities of networks for
sorting and for switching//J. ACM.—1975.—V. 22, Ня 2.—P. 195—201.
161. Ninomiya I. A study of the structures of Boolean functions and its
application to the synthesis of switching circuits // Memoirs of the Fac.
of Engineering, Nagoya Univ.— 1961.—V. 13, № 2.
162. Niven I., Zuckerman H. S. An introduction to the theoryof numbers. 2 nd
ed.— N. Y.: Wiley, 1966.
163. Okada S. Topology applied to switching circuits // Proc. Symp. on
Information networks, Polytechnic Inst, of Brooklyn, 1954.— N. Y., 1955.— P. 267—
290.
164. Paterson M. S. Complexity of monotone networks for Boolean matrix
product//Theoret. Comput. Sci.—1975.—V. 1, № 1.—P. 13—20. [Рус.
пер. в кн.: Кибернетический сборник. Новая серия. Вып. 15.—М.: Мир,
1978.—С. 28—37].
165. Paterson М. S. An introduction to Boolean function complexity//
Asterisque.— 1976.—№ 38—39.— P. 183—201.
166. Paterson M. S. New bounds on formula size//Proc. 3rd Gl. Conf.
Informatik, Darmstadt, 1977. Lecture Notes in Computer Science. V. 48.—
Berlin: Springer, 1977.— P. 17—26.
167. Paul W. J. 2.5n lower bound on the combinational complexity of Boolean
functions//SIAM J. Comput.— 1977.—V. 6, № 3.—P. 427—443. [Рус.
пер. в кн.: Кибернетический сборник. Новая серия. Вып. 16. —М.: Мир,
1979.— С. 23—44.]
168. Peterson G. L. An upper bound on the size of formulae for symmetric
Boolean functions//Techn. Rep. 78-03-01, Dept. of Computer Science,
Univ. Washington, 1978.
169. Pippenger N. Short formulae for symmetric functions//IBM Research
Rep. RC-5143, 1974.— 15 p.
170. Pippenger N. Information theory and the complexity of Boolean
functions//Math. Syst. Theory.— 1976/77.—V. 10, № 2.- P. 129-167.
171. Pippenger N. On another Boolean matrix//IBM Research Rep. RC-6914,
1977.
172. Pippenger N. The complexity of monotone Boolean functions//Math.
Syst. Theory.- 1977/78.-V. 11, №> 4.— P. 289-316.
173. Pippenger N., Fischer M. J. Relations among complexity measures//
J. ACM.— 1979.— V. 26, № 2.— P. 361—381.
174. Post E. L. The two-valued iterative systems of mathematical logic—
Princeton, 1941.
175. Pratt V. R. The power of negative thinking in multiplying Boolean
matrices // SIAM J. Comput.— 1975.— V. 4, № 3.— P. 326-330.
176. Pratt V. R. The effect of basis on size of Boolean expressions//Proc.
16th Ann. IEEE Symp. on Foundations of Computer Science.— 1975.—
P. 119—121. [Рус. пер. в кн.: Кибернетический сборник. Новая серия.
Вып. 17.—М.: Мир, 1980.-С. 114—123.]
177. Pudlak P. Bounds for Hodes — Specker theorem // Lecture Notes in
Computer Science. V. 171.— Berlin: Springer, 1984.- P. 421—445.
178. Quine W. V. On cores and prime implicants of truth functions // Amer. Math.
Monthly.— 1959. - V. 66, № 9.— P. 755—760.
179. Reed I. S. A class of multiple-error-correcting codes and the decoding
scheme//IRE Trans, on Information Theory.— 1954.-- PGIT-4. - P. 38—49.
226
[Рус. пер. в кн.: Кибернетический сборник. Вып. 1.— М.: ИЛ, 1960.—
С. 189—205.]
180. Riordan J., Shannon СЕ. The number of two-terminal series-parallel
networks//J. Math, and Phys.—1942.—V. 21, № 2.—P. 88—93. [Рус.
пер. в кн.: Шеннон К. Работы по теории информации и кибернетике.—
М.: ИЛ, 1963.— С. 46—58.]
181. Ritchie R. W. Classes of predictably computable functions//Trans. Amer.
Math. Soc— 1963.— V. 106, № 1.— P. 139—173. [Рус. пер. в кн.:
Проблемы математической логики. Библиотека кибернетического сборника.— М.:
Мир, 1970.— С. 50—93.]
182. Savage J. Е. Computational work and time on finite machines // J. ACM.—
1972.— V. 19, № 4.- P. 660—674.
183. Savage J. E. The complexity of computing.—N. Y.: Wiley-Interscience,
1976.
184. Schnorr С. P. Lower bounds for the product of time and space
requirements of Turing.machine computations // Proc. 2nd Int. Symp. on the
Mathematical foundations of Computer Science.— 1973.—P. 153—161.
185. Schnorr С P. Zwei lineare untere Schranken fur die Komplexitat Boolescher
Funktionen//Computing.— 1974.—V. 13, № 2.—P. 155—171.
186. Schnorr C. P. The network complexity and the Turing machine complexity
of finite functions//Acta Inf.— 1976.—V. 7, № 1.— P. 95—107.
187. Schnorr C. P. The combinational complexity of equivalence // Theoret.
Comput. Sci.— 1976.—V. 1, № 4.—P. 289—295. [Рус. пер. в кн.:
Кибернетический сборник. Новая серия. Вып. 16.—М.: Мир, 1979.—С. 74—81.]
188. Schnorr С. Р. А Зя-lower bound on the network complexity of Boolean
functions//Theoret. Comput. Sci.— 1980.—V. 10, № 1.—P. 83—92.
189. Shannon С. E. A symbolic analysis of relay and switching circuits//
Trans. AIEE.— 1938.—V. 57.—P. 713—722. [Рус. пер. в кн.: Шеннон К.
Работы по теорий информации и кибернетике.— М.: ИЛ, 1963.— С. 9—45.]
190. Shannon С. Е. The synthesis of two-terminal switching circuits//Bell
Syst. Techn. J.—1949.—V. 28, № 1.—P. 59—98 (русский перевод там
же.—С. 59—101).
191. Slepian D. A class of binary signaling alphabets//Bell Syst. Techn. J.—
1956.—V. 35, № 1.— P. 203—234. [Рус. пер. в кн.: Теория передачи
сообщений.— М.: ИЛ, 1957.— С. 82—113.]
192. Stockmeyer L. J. The complexity of decision problems in automata theory
and logic // MAC Techn. Rep. 133, M. I. Т., 1974.
193. Stockmeyer L. J. On the combinational complexity of certain symmetric
Boolean functions // Math. Syst. Theory. - 1976/77.— V. 10, № 4.— P. 323—
336. [Рус пер. в кн.: Кибернетический сборник. Новая серия. Вып. 16.—
М.: Мир, 1979.—С. 45—61.]
194. Stockmeyer L. J., Meyer A. R. Inherent computational complexity of
decision problems in logic and automata theory.— Preprint, 1977.
195. Strassen V. Gaussian elimination is not optimal // Numer. Math.—
1969.—Bd. 13, № 4.—S. 354—356. [Рус. пер. в кн.: Кибернетический
сборник. Новая серия. Вып. 7.— М.: Мир, 1970.— С. 67—70.]
196. Tarjan R. Е. Complexity of monotone networks for computing
conjunctions//Ann. Discrete Math.— 1978.— V. 2.- P. 121 — 133.
197. Uhlig D. Ober die Anzahl der Unterfunktionen einer Booleschen Funktion
zur Charakterisierung der Kompliziertheit ihrer Realisierung // Elektron.
Informationsverarb. und Kybern.— 1972.— EI К 8, № 5.— S. 255—267.
198. Valiant L. G. Exponential lower bounds for restricted monotone circuits//
Proc. 15th Ann. ACM Symp. on Theory of Computing.— 1983.— P. 110—117.
199. Wegener I. Switching functions whose monotone complexity is nearly
quadratic//Theoret. Comput. Sci.— 1979.—V. 9, № 1.—P. 83—97. [Рус.
пер. в кн.: Кибернетический сборник. Новая серия. Вып. 18.—М.: Мир,
1981.—С. 55—74.]
200. Wegener I. A new lower bound on the monotone network complexity of
Boolean sums//Acta Inf.— 1980.—V. 13, № 2.—P. 109—114.
201. Wegener I. Boolean functions whose monotone complexity is of size
n2/\ogn И Theoret. Comput. Sci.— 1982.— V. 21, № 2.— P. 213—224. [Рус.
227
пер. в кн.: Кибернетический сборник. Новая серия. Вып. 21.—М.: Мир,
1984.— С. 69—84.]
202. Yablonski S. V. A survey of some results in the field of discrete
mathematics // Proc. Int. Federation for Information Processing Cong., 1968,
Edinburgh.— Amsterdam: North-Holland, 1969.— P. 266—270.
203. Yао A. C.-C. Lower bounds by probabilistic arguments // Proc. 24th Ann.
IEEE Symp. on Foundations of Computer Science.— 1983. — P. 420—428.
204. Yao A. C.-C. Separating the polynomial-time hierarchy by oracles // Proc.
26th Ann. IEEE Symp. on Foundations of Computer Science.— 1985.—
P. 1 — 10.
205. Yoeli M. On the determination of multiple contact variables of frontal
switching functions// IRE Trans, on Circuit Theory.— 1961.—CT-8, № 2.—
P. 171 — 172.
Дополнительный *)
206. Андреев A. E. О синтезе дизъюнктивных нормальных форм, близких к
минимальным//ДАН СССР.— 1983.—Т. 269, № 1.—С. 11 — 15.
207. Андреев А. Е. О метрических свойствах модельных многоэкстремальных
комбинаторно-логических задач // Теоретические проблемы кибернетики.
Ч. 1.—Саратов: Изд-во Сарат. ун-та, 1986.—С. 14—18.
208. Андреев А. Е. Об одном методе получения эффективных нижних
оценок монотонной сложности // Алгебра и логика.— 1987.— Т. 26, № 1.—
С. 3—26.
209. Андреев А. Е. Об одном методе получения более чем квадратичных
эффективных нижних оценок сложности л-схем//Вестн. МГУ. Сер. 1. Ма-
тем. Мех.—1987 -№ 1.—С. 70—73.
210. Андреев А. Е. О синтезе схем из функциональных элементов в полных
монотонных базисах//Математические вопросы кибернетики. Вып. 1.—М.:
Наука, 1988.—С. 114—139.
211. Гринчук М. И. О сложности реализации симметрических булевых
функций контактными схемами // Математические вопросы кибернетики.
Вып. 3.—М.: Наука, 1990.—С. 77—114.
212. Здобнов С. В. О сложности линейной функции в классе П-схем без
нулевых цепей//Комбинаторно-алгебраические методы и их применение.—
Горький: Изд-во ГГУ, 1987.— С. 27—34.
213. Красулина Е. Г. О сложности реализации монотонных симметрических
функций алгебры логики контактными схемами // Математические вопросы
кибернетики. Вып. 1.—М.: Наука, 1988.—С. 140—167.
214. Кузнецов СЕ. Влияние нулевых цепей на сложность контактных схем //
Вероятностные методы и кибернетика. Вып. 20.— Казань: Изд-во КГУ,
1984.— С. 61—87.
215. Кузнецов С. Е. Метод получения высоких нижних оценок для
монотонных схем//Дискретная математика. (Сдано в печать).
216. Кузнецов С. Е., Нигматуллин Н. Р. О сложности реализации
некоторых симметрических функций формулами глубины 3 в базисе (&, V» !//
Вероятностные методы и кибернетика. Вып. 21.— Казань: Изд-во КГУ,
1985.— С. 36—54.
217. Ложкин С. А., Кошкин М. А. О сложности реализации некоторых
систем функций алгебры логики контактными многополюсниками // ДАН
СССР.— 1988.— Т. 298, № 4.— С. 807—811.
218. Лупанов О. Б. О влиянии глубины формул на их
сложность//Кибернетика.— 1970.— № 2.— С. 46—49.
219. Лупанов О. Б. Нижние оценки сложности схем//Сборник докладов
III международного рабочего семинара «Математические вопросы
кибернетики», Братислава, 1987.— Братислава: Университет им. Я. А. Коменского.—
С. 5—15.
*) Составлен редактором.
228
220. Марков А. А. О минимальных контактно-вентильных двухполюсниках для
монотонных симметрических функций // Проблемы кибернетики. Вып. 8.—
М.: Физматгиз, 1962.—С. 117—121.
221. Окольнишникова Е. А. О влиянии отрицаний на сложность
реализации монотонных булевых функций формулами ограниченной глубины //
Дискретный анализ. Вып. 38.— Новосибирск, 1982.— С. 74—80.
222. Стеценко В. А. О сравнении булевых базисов//Изв. вузов.
Математика.— 1988.— № 7.— С. 72—79.
223. Угольников А. Б. О глубине и полиномиальной эквивалентности формул
для замкнутых классов двузначной логики // Матем. заметки.— 1987.—
Т. 42, № 4.— С. 603—612.
224. Угольников А. Б. О реализации функций из замкнутых классов схемами
из функциональных элементов // Математические вопросы кибернетики.
Вып. 1.—М.: Наука, 1988.—С. 89—113.
225. Угольников А. Б. О сложности реализации формулами одной
последовательности функций многозначной логики // Математические вопросы
кибернетики. Вып. 2.—М.: Наука, 1989.—С. 174—176.
226. Xасин Л. С. Оценки сложности реализации монотонных симметрических
функций формулами в базисе \Д&> |//ДАН СССР.— 1969.—Т. 189,№ 4.—
С. 752—755.
227. А1оn N., Boppana R. В. The monotone circuit complexity of Boolean
functions//Combinatorica.— 1987.—V. 7, № 1.—P. 1—22.
228. Ehrenfeucht A. Practical decidability//Rep. CU-CS-008-72, Dept. of
Computer Science, Univ. Colorado, 1972.
229. Hodes L. The logical complexity of geometric properties in the plane//
J. ACM.- 1970.— V. 17, № 2.— P. 339—347.
230. Pater son M. S. Bounded depth circuits over {©, Д !•— Preprint Warwick
Univ., 1986.
231. Scarpellini B. Complex Boolean networks obtained by diagonalization //
Theoret. Comput. Sci.— 1985.—V. 36, № 1.—P. 119—125.
232. Schurfeld U. New lower bounds on the formula size of Boolean
functions//Acta Inf.— 1983.—V. 19, № 2.—P. 183—194.
233. Strassen V. Relative bilinear complexity and matrix multiplication//
J. reine und angew. Math.— 1987.— Bd. 375/376.— $• 406—443.
234. Tardos E. The gap between monotone and non-monotone circuit
complexity is exponential //Combinatorica.— 1987.—V. 7, № 4.— P. 141 — 142.
235. Valiant L. G. Short monotone formulae for the majority function//
J. of Algorithms.— 1984.— V. 5.— P. 363—366.
236. Vilfan B. Lower bounds for the size of expressions for certain functions
in d-ary logic//Theoret. Comput. Sci.—1976.—V. 2, Mb 2.—P. 249—269.
237. Wegener I. The complexity of Boolean functions.— Stuttgart: B. G. Teub-
ner; Chichester, New York, Brisbane, Toronto, Singapore: Wiley, 1987.—
457 p.
РОШАЛЬ ГАБДУЛХАЕВИЧ НИГМАТУЛЛИН
Эта книга принадлежит, перу талантливого советского математика, видного
специалиста в области математической кибернетики Рошаля Габдулхаевича Ниг-
матуллина (1939—1986 гг.). Она возникла в результате коренной переработки
книги с таким же названием, которая была издана в Казани в 1983 г. небольшим
тиражом и почти сразу стала библиографической редкостью. С тех пор это
издание оставалось единственной книгой на русском языке, в которой современная
теория сложности булевых функций излагается с единой точки зрения. Книгой
пользовались студенты, она была ценным справочным изданием для научных
работников. Новая книга отличается более удачным расположением материала,
в нее включены результаты, полученные вплоть до конца 1986 г., многим
доказательствам придан современный вид. Изложение — то сдержанное, строгое,
то весьма эмоциональное — отражает яркую личность автора.
Р. Г. Нигматуллин родился 5 декабря 1939 г. в г. Казани. В 1957 г. он
поступил на физико-математический факультет Казанского государственного
университета им. В. И. Ульянова-Ленина, с которым в дальнейшем была связана
вся его жизнь. Окончив в 1962 г. с отличием университет по специальности
вычислительная математика, он работает в НИИ математики и механики
им. Н. Г. Чеботарева при КГУ. С момента основания в КГУ кафедры
теоретической кибернетики (1970 г.) Р. Г. Нигматуллин — доцент этой кафедры.
В 1965 г. Р. Г. Нигматуллин проходит научную стажировку в Институте
математики Сибирского отделения АН СССР, где под руководством Ю. И.
Журавлева начинает исследование сложности дизъюнктивных нормальных форм.
Его исследования завершаются созданием вариационного принципа в
дискретной математике — совершенно нового подхода к установлению асимптотических
закономерностей поведения функционалов сложности, позволяющего
устанавливать существование асимптотик, не предъявляя их в явном виде. (В этой
книге вариационному принципу Нигматуллина посвящены §3и4гл. Зи§4
гл. 5.) Применение этого принципа к д.н.ф. позволило Р. Г. Нигматуллину!
доказать существование асимптотики для длины кратчайшей д.н.ф. почти всех
булевых функций, причем это было сделано тогда, когда не был известен даже
порядок этой величины. Сама асимптотика неизвестна и сейчас. На основе
полученных результатов Р. Г. Нигматуллин в 1967 г. защитил кандидатскую
диссертацию «Асимптотические закономерности в теории дизъюнктивных
нормальных форм».
Научные интересы Р. Г. Нигматуллина были весьма многогранными (об этом
дает представление приводимый ниже список его работ). До конца 70-х годов
они концентрировались вокруг проблемы построения алгоритмов для решения
дискретных экстремальных задач. Довольно быстро он понял, что среди этих
задач лишь немногие имеют «эффективные» алгоритмы решения. Но это
относится только к точному решению задач. Важно было выяснить возможности
230
приближенных алгоритмов. Здесь Р. Г. Нигматуллину принадлежат интересные
результаты, получившие широкую известность. Одним из самых естественных
и известных алгоритмов приближенного решения задач о покрытии является
градиентный алгоритм. Казалось бы, здесь нечего исследовать. Однако Р. Г. Ниг-
матуллин нашел нестандартный подход к проблеме точности алгоритмов — он
установил весьма общую оценку относительной точности градиентного
алгоритма и доказал, что она неулучшаема. (О градиентном алгоритме и
связанных с ним опенках сказано в § 7 гл. 4 и § 1 гл. 5.) Дальнейшее
исследование приближенных алгоритмов привело Р. Г. Нигматуллина к следующему
выводу: для многих дискретных экстремальных задач приближенное решение
при достаточно хорошем равномерном приближении обладает почти столь же
большой трудоемкостью, что и точное (см. § 1 гл. 4). Этот результат подвел
итог исследованию приближенных алгоритмов Р. Г. Нигматуллиным, и к ним он
потом почти не возвращался.
Начиная с середины 70-х годов, в определенной степени под влиянием
С. В. Яблонского и О. Б. Лупанова, научные интересы Р. Г. Нигматуллина
смещаются в сторону проблемы нижних оценок сложности — одной из наиболее
острых открытых проблем современной дискретной математики. Он ставит перед
собой цель понять причину трудностей, возникающих на пути «установления
высоких нижних оценок сложности для индивидуальных последовательностей
231
функций и языков», причину, по которой «полученные для них нижние оценки
сложности удручающе малы по сравнению с теми, которые дает мощностной
метод Шеннона или диагонализация для «неиндивидуальных» функций или
языков». Иными словами, вопрос состоит в том, существуют ли принципиальные
препятствия на пути к получению более высоких нижних оценок?
Размышляя над этой проблемой, Р. Г. Нигматуллин приходит к гипотезе о
том, что высокие нижние оценки невыводимы в рамках тех средств, которые
используются обычно для их доказательства. Чтобы обосновать эту идею,
Р. Г. Нигматуллин исследует различные аксиоматические системы, пытаясь
доказывать невыводимость в них высоких нижних оценок. Здесь его ждала неудача.
Идею невыводимости удавалось реализовать только в очень слабых
аксиоматических системах, и это, конечно, подверглось справедливой критике со стороны
его коллег. После нескольких лет напряженной работы этот подход был
оставлен. Тем не менее сам подход, по-видимому, был правильным — в самое
последнее время за рубежом примерно на том же пути был получен ряд интересных
результатов. Все дело в том, что этот подход в определенном смысле был
«чужим» для Р. Г. Нигматуллина, он уводил от качественного анализа доказательств
нижних оценок сложности, в чем Р. Г. Нигматуллин был особенно силен.
Подход был оставлен, но проблема осталась. Новый замысел состоял в том,
чтобы построить такую формальную модель доказательств нижних оценок
сложности, которая отделила бы «эффективные» доказательства от
«неэффективных» в соответствии с интуитивным пониманием их математиками. Для
осуществления этого замысла требовалось проанализировать все известные методы
доказательств нижних оценок сложности, постоянно быть в курсе последних
достижений в этой области, на каждом этапе построения модели проверять ее
соответствие интуитивным представлениям коллег об «эффективности»
доказательств. Одним словом, требовалось живое общение с людьми, обмен
мнениями, дискуссии. Для общительного, доброжелательного Нигматуллина такая
деятельность оказалась как нельзя больше по душе. Можно сказать, что проблема
выбрала своего исследователя.
Наступил, пожалуй, самый бурный период творчества Р. Г. Нигматуллина.
Напряженная работа, встречи, обсуждения, выслушивание критических
замечаний и снова самостоятельная работа. Так были построены две модели
доказательств нижних оценок сложности, в рамки которых удалось включить
подавляющее большинство известных методов доказательства «эффективных»
нижних оценок. Одна из этих моделей позволила связать максимально достижимую
величину «эффективной» нижней оценки со сложностью некоторой универсальной
функции, другая — со сложностью некоторой универсальной схемы, т. е. со
сложностью известных объектов, поддающихся исследованию. Это
означало, что на основе рассмотрения универсальных функций либо универсальных
схем можно судить о трудности доказательства нижних оценок сложности,
делать прогнозы об их возможной величине. Разумеется, этот вывод в полной
мере справедлив лишь для класса «универсальных» доказательств,
укладывающихся в рамки предложенных моделей. Но самое главное в том, что выйти
за пределы этих моделей чрезвычайно трудно. Итог исследованиям был подведен
автором в монографии, которая вышла уже после его смерти.
В математике Р. Г. Нигматуллин всегда шел своим путем. Его интересовали
наиболее принципиальные и трудные проблемы математической кибернетики, на
которые он умел взглянуть с новой, неожиданной стороны. Работы его всегда
232
отличала самостоятельность и непохожесть. Его результаты, как правило,
вносили что-то новое в понимание фундаментальных проблем и являлись мощным
стимулом и ориентиром для дальнейших исследований. Глубокое уважение к
ведущим ученым в области математической кибернетики не мешало ему
сохранять свежесть и оригинальность мысли. Работы Р. Г. Нигматуллина, его имя
известны широкому кругу советских и зарубежных специалистов в области
математической кибернетики. В ряде публикаций, отечественных и зарубежных, явно
прослеживается влияние его работ.
Немало сил и времени Рошаль Габдулхаевич отдавал педагогической
работе на кафедре теоретической кибернетики КГУ. Он стремился ввести студентов
в круг последних научных достижений и проблем, разрабатывал и читал новые
оригинальные спецкурсы. Умение взглянуть на предмет с позиции ученого,
выделить в нем узловые моменты, способность увидеть и прояснить наиболее трудные
для студентов места выгодно отличали его как лектора. Большая эрудиция,
умение увлечь интересной проблемой и оказать помощь в ее решении
притягивали к нему молодежь. С 1971 г. он — бессменный руководитель созданного им
научного семинара «Теория сложности», вокруг которого в Казанском
университете сформировался коллектив, ведущий теоретические исследования.
Рошаль Габдулхаевич был очень цельным человеком, и по его научной работе
можно в полной мере судить о его человеческих качествах — мужестве,
настойчивости, последовательности, оптимизме, способности понять точку зрения других
и в то же время отстоять свою точку зрения. Он был очень серьезным и очень
веселым человеком одновременно. Неизменные доброжелательность и
отзывчивость, скромность и деликатность влекли к нему людей. Его отношение к науке
нельзя назвать иначе как возвышенным. Р. Г. Нигматуллин работал до самого
конца своей жизни, хотя болезнь оставляла ему все меньше и меньше сил.
В последние месяцы жизни он участвует в трех конференциях — в Таллинне,
Москве и Харькове. 3 декабря 1986 г. правит корректуру своей статьи, а на
следующий день отправляет ее в журнал. Но не хватило времени, чтобы
полностью завершить работу над двумя монографиями. Рошаль Габдулхаевич
Нигматуллин умер 19 декабря 1986 г.
Обе монографии — «Нижние оценки сложности и сложность универсальных
схем» (Казань, Изд-во КГУ, 1989) и настоящую книгу — отредактировали и
подготовили к печати его коллеги и ученики.
С. Кузнецов, Н. Нурмеев, В. Храпченко
СПИСОК НАУЧНЫХ РАБОТ Р. Г. НИГМАТУЛЛИНА
1. К теории плотно упакованных кодов // Вестник СНО Казанского
университета. Естеств. науки. Вып. 2.—Казань: Изд-во КГУ, 1962.—С. 116—122.
2. О реализации квазимонотонных функций контактными схемами // Итоговая
научная конференция Казанского университета за 1962 г. Секция матем. и
др.: Тезисы докладов.—Казань: Изд-во КГУ, 1963.— С. 103—104.
3. О реализации квазимонотонных функций контактными схемами //
Вероятностные методы и кибернетика. Вып. 2.— Казань: Изд-во КГУ, 1963.—
С. 119—128. (Ученые записки Казанского университета.— 1963.— Т. 123,
кн. 6.)
4. К задаче поиска слова в словаре // Итоговая научная конференция
Казанского университета за 1963 г. Секция матем. и др.: Тезисы докладов.—
Казань: Изд-во КГУ, 1964.— С. 97—98.
233
5. Метод последовательного упрощения булевой функции // Тезисы
Украинской республиканской конференции молодых исследователей по
теоретической кибернетике.— Киев, 1965.— С. 27—39.
6. Асимптотическая оценка сложности одного класса алгоритмов выбора //
Проблемы кибернетики. Вып. 15.— М.: Наука, 1965.—С. 267—273.
7. О вариации, сложности кратчайшей дизъюнктивной нормальной формы на
единичной сфере//Дискретный анализ. Вып. 6.—Новосибирск, 1966.—
С. 69—80.
8. Некоторые метрические соотношения в единичном кубе // Дискретный
анализ. Вып. 9.— Новосибирск, 1967.— С. 47—58.
9. Вариационный принцип в алгебре логики//Дискретный анализ. Вып. 10.—
Новосибирск, 1967.—С. 69—89.
10. Паросочетания графа // Вероятностные методы и кибернетика. Вып. 6.—
Казань: Изд-во КГУ, 1968.— С. 91—94. (Ученые записки Казанского
университета.— 1968.— Т. 128, кн. 2.)
11. О равномерном заполнении «-мерного единичного куба//Вероятностные
методы и кибернетика. Вып. 6.— Казань: Изд-во КГУ, 1968.— С. 95—98.
(Ученые записки Казанского университета.— 1968 — Т 128, кн. 2.)
12. Асимптотические закономерности в алгебре логики // Всесоюзная
конференция по проблемам теоретической кибернетики: Тезисы докладов.—
Новосибирск, 1969.—С. 99—100.
13. Метод наискорейшего спуска в задачах на покрытие//Вопросы точности и
эффективности вычислительных алгоритмов. Вып. 5.: Труды симпозиума.—
Киев, 1969.—С. 116—126.
14. О покрытии графа ребрами//Проблемы кибернетики. Вып. 21.—М.: Наука,
1969.—С. 241—248.
15. О числе неприводимых покрытий графа ребрами // Кибернетика.— 1970.—
№ 2.— С. 95—98.
16. Наибольшее число ядер в графах с п вершинами // Вероятностные методы
и кибернетика. Вып. 8.— Казань: Изд-во КГУ, 1970.— С. 73—82. (Ученые
записки Казанского университета.— 1970.— Т. 130, кн. 3.)
17. К теории вычислений на цифровых машинах // III Всесоюзная
конференция по проблемам теоретической кибернетики: Тезисы докладов.—
Новосибирск, 1974.—С. 164—166.
18. Локализация неисправностей в блочных схемах // Вероятностные методы и
кибернетика. Вып. 10.— Казань: Изд-во КГУ, 1974.— С. 59—67 (совместно
с Соловьевым Б. Г.).
19. Топологический подход к комбинационному поиску
неисправностей//Диагностика и идентификация.— Рига: Зинатне, 1974.— С. 55—63 (совместно с
Соловьевым Б. Г.).
20. Сложность приближенного решения комбинаторных проблем // ДАН СССР.—
1975.— Т. 224, № 2.— С. 289—292.
21. Вычисление булевых функций на цифровых машинах //
Программирование.— 1976.— № 6.— С. "26—34.
22. К вопросу об асимптотических закономерностях при синтезе схем //
Вероятностные методы и. кибернетика. Вып. 13.— Казань: Изд-во КГУ, 1976.—
С. 124—133.
23. Нижние оценки для недетерминированных машин//Тезисы докладов II
Всесоюзного симпозиума по вероятностным автоматам.— Тбилиси: Мицниереба,
1976.—С. 17—18."
24. О сложности языков типа []М // IV Всесоюзная конференция по
математической логике: Тезисы докладов.— Кишинев, 1976.— С. 101.
25. О сложности языков типа иМ//Журн. вычисл. матем. и матем. физ.—
1977.— Т. 17, № 5.— С. 1278—1284.
26. О приближенных алгоритмах с ограниченной абсолютной погрешностью для
дискретных экстремальных задач // Кибернетика.— 1978.— № 1.—С. 95—
101.
27. Эффективные нижние оценки сложности булевых функций в классе
дизъюнктивных нормальных форм // V Всесоюзная конференция по
математической логике: Тезисы докладов.— Новосибирск, 1979.— С. 109.
234
28. Быстрые алгоритмы для максимального паросочетания при нулевых весах
некоторых операций // V Всесоюзная конференция по проблемам
теоретической кибернетики: Тезисы докладов.— Новосибирск, 1980.— С. 132—133.
29. Распознавание максимальности паросочетания за 0(т-\-п) операций//
Rostock Mathematiches Kolloquium.— Rostock.— 1980.— № 13.— S. 49—64.
30. Введение в сложность булевых функций.— Казань: Изд-во КГУ, 1981.—
37 с.
31. Проблема нижних оценок сложности и теория /VP-полноты (обзор) // Изв.
вузов. Математика.— 1981.— № 5.— С. 17—25.
32. Формирование устойчивых расписаний работы автотранспорта в рамках
развозо-сборочного процесса // Пути совершенствования организации
управления перевозками грузов на автомобильном транспорте с применением
АСУ: Тезисы докладов на научн.-техн. конференции.— Казань, 1982.—
С. 57—59 (совместно с Арслановым М. М., Гольдманом В. Г. и Шер С. Ю.).
33. Быстрый алгоритм для одной задачи многих коммивояжеров // Пути
совершенствования организации управления перевозками грузов на
автомобильном транспорте с применением АСУ: Тезисы докладов на научн.-техн.
конференции.— Казань, 1982.— С. 86—88.
34. Сложность булевых функций.— Казань: Изд-во КГУ, 1983.— 208 с.
35. Сложность универсальных функций и нижние оценки сложности // Изв.
вузов. Математика.— 1984.— № 11.— С. 10—20.
36. К задаче отыскания максимальных нижних оценок сложности//VII
Всесоюзная конференция по математической логике: Тезисы докладов.—
Новосибирск, 1984.—С. 121.
37. Экспоненциальное влияние константы ноль на сложность вычисления
универсальных полиномов // Вероятностные методы и кибернетика. Вып. 21.—
Казань: Изд-во КГУ, 1985.— С. 75—85.
38. Единичные и кратные покрытия графов ребрами // Вероятностные методы
и кибернетика. Вып. 21.— Казань: Изд-во КГУ, 1985.— С. 86—94 (совместно
с Штивельман В. К.).
39. Нижние оценки сложности монотонного вычисления полиномов и
универсальные схемы // Изв. вузов. Математика.— 1985.— № 8.— С. 35—42.
40. Нижние оценки сложности суть нижние оценки для универсальных схем? //
Казанский университет. Казань, 1985.— 18 с. (Рукопись депонирована в
ВИНИТИ 22.8.85, № 6257-85 Деп.).
41. Are lower bounds on the complexity lower bounds for universal circuits? //
Lecture Notes in Computer Science. V. 199.— Berlin: Springer, 1985.—
P. 331—340.
42. Нижние оценки сложности и сложность универсальных схем//VII
Всесоюзная конференция «Проблемы теоретической кибернетики»: Тезисы
докладов.—Иркутск, 1985.—Ч. 1.—С. 150—151.
43. Задача оценки ширины схемы и проблема нижних оценок сложности //
IV Всесоюзная конференция «Применение методов математической логики»:
Тезисы докладов. Секции «Логика взаимодействующих процессов», «Алго-
ритмика трудных задач».— Таллинн, 1986.— С. 157—159.
44. Разграничение эффективных и неэффективных нижних оценок сложности //
Логика и системные методы анализа научного знания: Тезисы докладов к
IX Всесоюзному совещанию по логике, методологии и философии науки.
Харьков, 8—10 окт. 1986.— М., 1986.— С. 87—89.
45. Два класса доказательств нижних оценок сложности // ДАН СССР.—
1987.— Т. 294, № 2.— С. 272-275.
46. Экспоненциальные нижние оценки сложности и пошагово моделирующие
схемы // Кибернетика.— 1987.— № 4.— С. 25—28, 35.
47. Models of lower-bounds proofs//Theoret. Comput. Sci.— 1987.— V. 52.—
P. 239—249.
48. Линейные нижние оценки сложности и их математические модели //
Mathematical problems in computation theory. Banach center publications.—
Warsaw: PWN Polish scientific.publishers, 1988.—V. 21.—P. 531—542.
49. Нижние оценки сложности и сложность универсальных схем.— Казань:
Изд-во КГУ, 1990.— 112 с.
235
УКАЗАТЕЛЬ ОБОЗНАЧЕНИЙ
Обозначения , не введенные в тексте
—наименвшее целое , не меньшее а
— наибольшее целое , не большее а
aln)<>b(n)—д(/?)<(1+б(л))/>(и) , где е(п)->0 при п-+ос
а\п)~Ь(п)—а(п)<>Ь(п) и Ь(п)^а(п)
а(п)<Ь(п)—a(n)<cb(n) для некоторой константы с>0
a(np<b(n)—a(n)<b(n) и Ъ(п)<а(п)
а(п)~о(Ь1п))-Ш$=0
*-оо Ъ (П)
а{п)=0(Ъ(п))—а{п)<Ь{п)
\А\ — мощность конечного множества А
log a—log2fl
П—конец доказательства
аЪ — конкатенация слов а и b (слово , составленное из слов а. и Ь)
£о—сумма по модулю 2
Функции и классы функций
х&у , X а у конъюнкция 14
х v у—дизъюнкция 14
х=>у , х-*у — импликация 14
хфу—сложение по модулю 2 14
х~у , х=у — эквивалентность 14
х/у—штрих Шеффера 14
Т0 — класс функций , сохраняющих константу 0 15
7\ — класс функций , сохраняющих константу 1 15
S—класс самодвойственных функций 15
М—класс монотонных функций 15
L—класс линейных функций 15
Р2 — класс всех булевых функций 13
Р\ — множество всех булевых функций от п переменных 13
Формулы
Д. н. ф.—дизъюнктивная нормальная форма 18
Dc(f)—сокращенная д. н. ф. функции / 45
D{JT(f)—объединение всех тупиковых д. н. ф. функции / 46
£*им(/)—объединение всех минимальных д. н. ф. функции / 46
^пм(/)—пересечение всех минимальных д. н. ф. функции / 47
^пт(/) — пересечение всех тупиковых д. н. ф. функции / 47
236
Показатели сложности функций и схем
£^(F)—число вхождеций символов переменных в формулу F 24
L^}(F)—число вхождений символов базисных функций в формулу F 24
LK(D)—число конъюнкций в д. н. ф. D 24
Lb (£>)-- число вхождений символов переменных в д. н. ф. D 24
LKC(S) — число контактов в контактной схеме S 24
Ln(S)—число контактов в П-схеме 5 24
Lol>3(S)—число функциональных элементов в схеме 5 24
£$(л)—функция Шеннона в классе формул в базисе В 24
^сфэ(л)—функция Шеннона для схем из функциональных элементов 24
LKC(n) — функция Шеннона в классе контактных схем
Ln(n)—функция Шеннона в классе П-схем
Элементы описания схем
Род (а) — множество вершин схемы из функциональных элементов ,
непосредственно предшествующих вершине а , 22
Сын (а) — множество вершин , непосредственно следующих за вершиной я , 22
Пред (а) — множество вершин , предшествующих вершине я , 22
On (а)—базисная функция , приписанная элементу я , 21
Функ (а) функция , вычисляемая схемой в точке а , 22
Функ (а , а)—значение Лункции , вычисляемой в точке а на наборе а (значений
переменных) ,
/-схема (w , v)—схема , представимая парой чисел (и , v) 124
(Г , ^0-схема 76
Обозначения в единичном кубе Вп
В"—множество двоичных слов (наборов) длины п 13 , 42
В* (к)—к-й слой единичного куба Вп 42
а^Ь— набор а предшествует набору Ь 44
р(я , В)—расстояние Хэмминга между наборами а и В 43
R(P% Q)—расстояние между множествами Р и Q в Вп 54
5г(а)—сфера радиуса г с центром в точке а 44
Sr(a)—шар радиуса г с центром в точке а 44
ПРЕДМЕТНЫЙ
УКАЗАТЕЛЬ
Алгоритм градиентный 81
— перебора 28
— полиномиальной сложности 29
— правильный 130
— реально осуществимый 29
— эффективный 65
Арифметизация булевых функций 123
— схем 124
Базис 15. 16
— полный 16
— предшествующий 194
Базисы несравнимые 194
Вариация сложности 96
Вершина графа 12
— внутренняя 12 , 19 , 21
— входная 21
— выходная 21
куба В" 42
Вершины соседние 12
Вес набора 42
Время полиномиальное 40
— работы машины Тьюринга 37
Гипотеза Яблонского 131
Глубина дерева 13
— схемы 212 , 217
— функции 212
Граница множества 48
Граф 12
— конечный 12
— неориентированный 12
— ориентированный 12
— связный 12
Дерево 12
— контактное 68
Диаметр функции линейный 180
Дизъюнктивная нормальная форма (д. н. ф.) 18
— — — кратчайшая 45
— — — минимальная 45
— — —совершенная 18
— — — сокращенная 45
— — — тупиковая 46
Дизъюнктор 21
Дизъюнкция 14
Длина границы 48
— кода 59
— слова 13
— цепи 12
Доопределение 113
Дуга 12
Забивание переменной 136
Задача изопериметрическая 48
— на покрытие 81
— синтеза 28
Значение забивающее 136
Инвертор 21
Интервал 45 , 81
— допустимый 45
— максимальный 45
Инцидентность 12
Класс инвариантный 103
- ненулевой 105
Код линейный 59
— Хэмминга 58
Коды Рида — Маллера 61
Конец дуги 12
Константл 14
Контакт замыкающий 19
— размыкающий 19
Контур 12
Конфигурация машины Тьюринга 37
Концы ребра 12
Конъюнктор 21
Конъюнкция 14
— допустимая 45
- минимальная 45
— элементарная 17
Корень дерева 12
Куб В" 42
Лист дерева 12
Матрица порождающая 59
— проверочная 59
Машина Тьюринга 37
Метод Блейка 46
— каскадов 69
— Лупаиова 70 , 77
- Нечипорука 157 , 159
— Разборова Андреева 198
— Субботовской 143 , 144
— — обобщенный 146 , 147
— Фишера — Мейера — Патерсона 164 , 180
— Храпченко 152 , 153
— Шеннона 67
— — мошностной 88
Многополюсник П„ . * 67
■— универсальный Uk 67
Модель вычислений 11
Мостик 20
Набор двоичный (булев) 13
Наборы соседпие 43
Начало дуги 12
Окаймление множества 54
Окрестность конъюнкции в д. н. ф. 47
(л , т)-оператор 22
— монотонный 113
— симметрический 112
Отрицание 14
Переменная несущественная 13
— существенная 13
- фиктивная 13
238
Поглощение 46
Подграф 13
Подкуб 42
Подстановка центральная 165
— О-центральная 165
— I-центральная 165
Подформула 17
Подфункция 13
Подцепь 210
Покрытие 45 , 81
— минимальное 81
Полином Жегалкина 26
Полуэффект Шеннона 95. 97
Полюс 18. 21
Потомок вершины 22
Почти все булевы функции 85
Предложение 127
Предок вершины 22
Предшествование 13 . 44
Принцип вариационный 94
— Дирихле 85
— локального кодирования 107
Проблема Р± NP 29 , 131
Проводимость 19
Произведение матриц булево 194
П-схема 19
Путь 12
Разбиение куба на сферы 56
Разделительность 68
— ослабленная 77
Разряд информационный 59
— контрольный 59
Расстояние кодовое 59
— между множествами 54
— Хэмминга 43
Ребра смежные 12
Ребро графа 12
— куба /-го направления 43
Решение с точностью h 65
Родитель вершины 21 — 22
Самопересечение цепи 12
Сеть 21
Сечение П-схемы 152
— - тупиковое 152
Склеивание обобщенное 46
Слово булево (двоичное) 13
Сложность булевой функции 24
— покрытия 81
Слой куба 42
Соединение параллельное 19
— последовательное 20
Степень вершины 12
входная 12
выходная 12
Сфера 44
«Схема» 199
Схема 11 , 28
— из функциональных элементов 21
— контактная 19
без нулевых цепей 210
— — монотонная 184
параллельно-последовательная 19
— обобщенная 38
— синхронная 212
Схемы эквивалентные 22
Сын вершины 22
Теорема Поста 16
Точка внутренняя 47
— граничная 48
Управляющая система 11
Формула (булева) 15
— минимальная 24
— нормализованная 16
— приведенная 30
Формулы эквивалентные 16
Функции равные 14
Функция булева 13
недоапределенная 113
Функция двойственная 15
— линейная 15
— монотонная 15
— парно разделимая 141
т раз 142
— , реализуемая д. н. ф. 18
— , — контактной схемой 19
— , — схемой в вершине 22
— , — формулой 16
— самодвойственная 15
— симметрическая 100
— типа Д 140
ф 139
— тождественная 14
— Шеннона 24
Цепь 12 , 43
— кратчайшая 43
— нулевая 210
Цикл 12
Шар 44
Эквивалентность полиномиальная 40
Элемент функциональный 21
Эффект Шеннона 93
(л , </)-код 210
NIGMATULLIN R. G. The complexity of Boolean functions.— Moscow, Nauka.
Main Editorial board for physical and mathematical literature, 1990.
Readership. For scientists in the area of discrete mathematics, mathematical
cybernetics, theory of complexity. For students and post-graduates of applied
mathematics speciality.
Summary. This monograph has arisen as a result of radically remaking the
monograph of the same name published in Kazan in 1983. That monograph]
proved to be very useful not only for students but also for scientists and became
almost at once a bibliographical rarity. The new book differs from the previous
one by other order of material, by many proofs that have got modern form, and
by including new results obtained up to the end of 1986. The references added
by the editor give an idea of the latest research and of some significant papers
not reflected in the monograph. The distinctive feature of the monograph is full
treatment of the problem of optimal networks synthesis, from a discussion and
rejection of the trivial algorithm to a detailed consideration of two possible methods
of approach: approximate solution in general form, and precise (or approximate)
solution for narrow classes of Boolean functions or even for specific Boolean
functions (with the problem of lower bounds on complexity that arises here).
Throughout the book one can observe the connection between problems under
consideration and the problem P1.NP.
Contents. Models of computation. The complexity of networks. The geometry
of я-dimensional unit cube. Universal methods of network synthesis. Statistical
properties of Boolean functions. Invariant classes of Boolean functions. The
principle of local coding. Shannon's type lower bounds on the complexity. The
hypothesis of Yablonski. Effective lower bounds on the complexity. Lower bounds
on the complexity for restricted networks.
There are exercises in all chapters. Tabl. 13, fig. 54, ref. 237.
Author. R. G. Nigmatullin (1939—1986) is a well-known specialist in
mathematical cybernetics, candidate of science (physics and mathematics), associate
professor of Kazan University. Shortly before his death he finished his doctoral
dissertation.
The author's works are well known abroad. He published 4 papers in foreign
publications. Eleven of his papers have been translated into English.
Р.Г. НИГМАТУЛЛИН
Сложность
БУЛЕВЫХ
ФУНКЦИЙ