Помощь в написании студенческих работ
Антистрессовый сервис

О глубине и площади клеточных схем

ДиссертацияПомощь в написанииУзнать стоимостьмоей работы

К префиксным вычислениям относится и вычисление переносов при поразрядном сложении чисел. У каждого разряда есть ровно три альтернативы: перенос х из него равен 0 или 1 вне зависимости от переноса у из предыдущего разряда, либо х зависит от у, и тогда х = 1 в том и только том случае, когда у — 1. Поэтому при к ^ 3 сумму двух n-разрядных чисел можно вычислить префиксной схемой сложности 0(п… Читать ещё >

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

Содержание

  • Глава 1. к-нчшле (п, 2)-преобразователи
    • 1. 1. Схемы из функциональных элементов
    • 1. 2. Клеточные схемы
  • Глава 2. Оценки общего типа
    • 2. 1. Клеточные схемы для частичных функций
    • 2. 2. Моделирование СФЭ клеточными схемами
    • 2. 3. Нижние оценки площади в классе Т-схем
  • Глава 3. Клеточные схемы для арифметических операций
    • 3. 1. Префиксные клеточные схемы
    • 3. 2. Клеточные схемы для сложения
    • 3. 3. Клеточные схемы для вычитания
    • 3. 4. Клеточные схемы для умножения
    • 3. 5. Клеточные схемы для деления

Результаты диссертации относятся к математической теории синтеза и сложности управляющих систем [35]. Предметом исследования являются схемы из клеточных элементов (СКЭ, клеточные схемы) [9, 30] и схемы из функциональных элементов (СФЭ) [12, 34]. В диссертации изучаются площадь и глубина клеточных схем для всюду определённых и частичных булевых функций, а также схем, реализующих основные арифметические операции.

Определения и обозначения.

Сложность ?(?') и глубина .

Формальное определе-У ние схем из клеточных.

— Ц элементов было дано в у-Г работе [9]. Затем кле-у точные схемы были рассмотрены в [1, 29, 30]. Клеточная схема имеет | вид прямоугольника на плоскости, составленного из клеточных элементов. Мы будем называть схему правильной, если все её входы и выходы расположены по краям. Везде далее клеточные схемы предполагаются правильными. Будем считать, что длина клеточной схемы измеряется по горизонтали, а ширина — по вертикали. Длину схемы 5 обозначим ?(5), а ширину — /г (5). Тогда площадь Л (5″) схемы в равна произведению 1(Б) х /г (5).

Напомним основные определения [9]. Клеточный элемент имеет вид единичного квадрата. На его сторонах расположены входы х х ху Г.

У х х ху X хУу х.

V «Г У.

-*-х/у и выходы — не более одного на каждой стороне. Клеточный элемент называется функциональным, если он реализует нетождественную функцию, и коммутационным, если он реализует тождественные функции. Кроме функциональных и коммутационных элементов имеется изолирующий клеточный элемент без входов и выходов. В работах [1, 9, 29, 30] исследовались схемы, построенные из двоичных клеточных элементов в базисе } (рис. 1). Будем обозначать этот базис Б^у, —. В последней главе будут также рассмотрены клеточные схемы, реализующие функции Аьзначной логики. Используемые при их построении &—ичные элементы изображены на рис. 2. В верхнем ряду приведены изолирующий элемент и четыре функциональных элемента (реализующие константу с, одноместную функцию д 6 Рк и двуместную функцию / € Рд-). В нижнем ряду изображены коммутационные элементы. Будем обозначать этот базис Б*. При построении схемы допускаются повороты клеточных элементов на углы, кратные |. Чтобы подчеркнуть, что в базис Б* входят элементы, реализующие функции /1,., /т, будем писать Бд).>/тоБазис Б^у,-, дополненный функциональными элементами со входами на соседних сторонах (рис. 2, справа в верхнем ряду), реализующими функции двух переменных /ь ., /т из Р2, обозначим Б&ЛЛ-/1 ,.,/"•.

9(х).

Цх, у) 1(х, у) с — X — 9 -д (х) ж- / -У / я, у) $ 0*0 я, у) у х X X X X X X X X X.

Рис. 2.

Прямоугольник, составленный из клеточных элементов, будем называть клеточной схемой в том и только том случае, когда при замене клеточных функциональных элементов на соответствующие им обычные функциональные и при их соединении, определяемом коммутационными элементами, получается некоторая структура, удовлетворяющая обычному определению СФЭ. Так всякой клеточной схеме ?> единственным с точностью до изоморфизма образом соответствует некоторая схема из функциональных элементов Схема 5 реализует тот же оператор, что и схема Б'. В терминологии работы [10] схема 5 является 2-вложением схемы 5'.

Важный параметр схемы — время её работы (задержка). Обычно оно оценивается глубиной, хотя задержка схемы может быть много меньше глубины [26]. Глубину клеточной схемы определим так.

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

Цепь из коммутационных элементов назовём проводником. Отметим, что всякий проводник имеет нулевую глубину. Если в цепи 7 все элементы лежат на одной горизонтальной (вертикальной) прямой, то 7 будем называть горизонтальной (вертикальной) цепью. Клеточную схему назовём повторяющей, если напротив каждого её входа х на противоположной границе симметрично расположен выход у, на котором реализуется тождественная функция у (х) = х.

Рассмотрим элемент X, изображённый на рис. 2 в центре нижнего ряда. Назовём горизонтальными элементами X и элемент, полученный из него поворотом на угол тг. Полученные поворотами X на углы | и Т коммутационные элементы будем называть вертикальными элементами. Изображённый на рис. 2 вторым справа в нижнем ряду коммутационный элемент будем называть разветви-телем, крайним справа — мостом, вторым справа в верхнем ряду — элементом типа У, крайним справа — элементом типа Z.

Основное различие двоичных базисов Б = Б&^-д,.,/т и Б* = Б&у-д ¿-т — это наличие в Б* элементов типа У. Наличие трёх лишних коммутационных элементов (рис. 2, нижний ряд) несущественно: если в схеме 5* в базисе Б* нет элементов типа У, то заменой всех коммутационных элементов разветвителями из неё можно получить некоторую схему 5 в базисе Б, глубина и площадь котоУ.

А, а В /з.

С В а).

Рис. 3.

5″ .

Ь) рой совпадают с глубиной и площадью схемы 3*. Элемент типа У в базисе Б можно смоделировать схемой размера 2×3, использовав один элемент типа Z. Значит, для произвольной схемы 3* в базисе Б* найдётся схема 5 в базисе Б, вычисляющая тот же оператор, такая, что ¿-(Б) = «?(5*) и А (Б) ^ 64(5*). Таким образом, порядок площади функций в базисах Б и Б* одинаков. Использование базиса Б* вместо Б оправдано тем, что во многих случаях конструкция схем в нём оказывается прозрачней, чем в Б.

В дальнейшем мы часто будем собирать схемы из подсхем. Клеточную схему 5, состоящую из частей клеточных схем ., 5 т назовём композицией схем 51,., Зт. Приведём пример, поясняющий это определение. Пусть даны схемы 3, 5″ и пусть в схеме 3 каким-либо образом выбраны горизонтальный и вертикальный отрезки, а и /3. Они делят схему 3 на четыре прямоугольника — подсхемы А, В, С, И (см. рис. 3, о). Раздвинем части А, В, С и I) на такое расстояние, чтобы между ними поместилась схема 3' (рис. 3, 6). Лежащие на границах схем А, В, С, В клеточные элементы соединяются друг с другом коммутационными элементами по тем же правилам, что и в схеме 3. Так, например, вертикальные проводники соединяют те элементы подсхем, А и С, которые были смежными в схеме 3. В зависимости от задачи на входы схемы 3/ могут подаваться как пограничные выходы подсхем А, В, С, И, так и выходы внутренних клеточных элементов. На рис. 3, Ь изображён пример соединения одного из входов схемы и внутренней вершины х подсхемы А. При этом должно выполняться условие: в схеме на вертикальном участке от точки х до точки, а находятся только горизонтальные коммутационные элементы либо изолирующие, а на отрезке аЬ находятся только вертикальные или изолирующие элементы. Заменим мостом каждый элемент, лежащий на пунктирной линии xah, при необходимости поворачивая его. Тогда последовательность элементов, лежащих на линии xab, станет проводником, не нарушающим других цепей в подсхеме А.

Полученную схему S" будем называть композицией схем S и S'. Выходами схемы S" могут быть как выходы схемы S — они по построению находятся на границе схемы S" — так и выходы схемы S', например отмеченный на рис. 3, Ь выход у. Отметим также, что l (S") = l (S) + l (S') и h (S") = h (S) + h (S'). Если две точки были концами некоторой цепи 7 в схеме S, то и в схеме S" также найдётся цепь 7', связывающая их. Причём, так как добавлялись только коммутационные элементы, то глубина цепи у' не превышает глубины цепи 7. Схему S можно разрезать на две, а не на четыре части, или не разрезать вовсе, добавляя к ней схему S' сбоку. Аналогично можно рассмотреть композицию более чем двух схем.

В работе используются обозначения о, (9, Q и (c): /(п) = о (д (п)), если limn->oo f{n)/g{n) = 0- /(п) = 0(д (п)), если найдутся константа с > 0 и число по, такие, что для всех n ^ щ справедливо неравенство 0 ^ f (n) ^ сд (п) — /(п) = Г2(р (п)), если и только если g (n) = G (f (n)) — f (n) = в (д (п)), если и только если /(п) = 0(д (п)) и /(n) = fi (g (n)). Логарифмы далее берутся по основанию 2. Все дальнейшие определения и обозначения будем вводить в тексте по мере необходимости.

Обзор литературы.

Асимптотический подход к синтезу схем предложен К. Шенноном [27]. Он состоит в нахождении метода синтеза, трудоёмкость которого меньше трудоёмкости полного перебора, и такого, что параметры получаемых схем близки к минимальным для почти всех функций данного класса. Для всюду определённых функций в модели схем из функциональных элементов этот вопрос полностью исследован О. Б. Лупановым [14, 16, 17]. Из результата [14] следует, в частности, что в базисе {&, V,—} почти всякая булева функция п аргументов / = f (x 1,., хп) может быть реализована схемой 5, сложность и глубина которой одновременно асимптотически минимальны. Точнее, ?(5) < и ??(5) < п, причём доля функций, имеющих более простую реализацию, стремится к нулю с ростом п. С. Б. Гаш-ков [3] уточнил поведение функции Шеннона для глубины схем с точностью до постоянного слагаемого, показав, что во всяком базисе из двуместных функций, содержащем отрицание и либо конъюнкцию, либо дизъюнкцию, минимальная глубина реализующей функцию /(хх,., хп) схемы не превышает п — к^2п + о (1)] +2, что всего на 2 отличается от мощностной нижней оценки. В работе [17] найдена асимптотика сложностной функции Шеннона для множества всех полностью определённых булевых функций данного веса.

Сложность вычисления частичных булевых функций и частичных булевых функций данного веса схемами из функциональных элементов изучалась в большом числе работ, в том числе [2, 31, 33, 53]. В результате было найдено асимптотически точное равенство Ь (п, ?тг, т) ~ 1о§-2 («)/ (™) +0(п) для сложностной функции.

Шеннона Ь (п, т, т) множества всех частичных п-местных булевых функций /, определённых на т-элементных областях и имеющих вес IV. Это равенство справедливо для всех значений т пк^2п и всех таких ги, что ш ^ глубина схем при этом не рассматривалась. Кроме того, в [33] предложен метод синтеза, позволяющий для почти всех частичных функций / весаш получать схемы, глубина и сложность которых одновременно оптимальны по порядку. Сложность этих схем не превышает 4Ь (п, т, ю), глубина не превышает Ь (п, т, ии) + п ~ ии + log2 5 + 1оё2 п-ив случае, когда т растёт сверхполиномиально с ростом п, является асимптотически минимальной.

Большое внимание в литературе уделено и схемам с ограничениями, наложенными на некоторые их характеристики. Так, например, получены оценки сложности схем, имеющих ограниченное ветвление [15]. Возник интерес и к пространственным параметрам схем. Первыми существенными результатами в этой области являются работа А. Д. Коршунова [8], где рассмотрена задача синтеза схем из функциональных элементов при некоторых ограничениях на длину соединительных проводников, и работа С. С. Кравцова [9], где вводятся схемы из клеточных элементов. С. С. Кравцов показал, что для любой булевой функции п аргументов можно построить реализующую её клеточную схему площади < | ¦ 2П, и что для почти всех функций п аргументов площадь их реализации клеточными схемами не менее | • 2п. Позднее А. Альбрехт [1] установил, что функция Шеннона А (п) = тах/ тт^ где максимум берётся по всем функциям / от п переменных, а минимум — по всем вычисляющим / клеточным схемам 5, имеет асимптотику А (п) а • 2П, где константа и удовлетворяет неравенству | ^ а ^ |. Точное значение <т остаётся неизвестным. В близкой клеточным схемам модели точную величину функции Шеннона при п, равном степени двух, нашёл Н. П. Редькин [21]. Н. А. Шкаликова [30] показала, что площадь универсального клеточного многополюсника, реализующего все булевы функции п переменных, равна 0(п22″) и неулучшаема по порядку. Глубина клеточных схем ранее не рассматриваласьу построенной методом Кравцова схемы она оказывается экспоненциальной. Ранее в литературе не рассматривалась также и реализация клеточными схемами частичных функций.

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

Н. П. Редькин в [20] установил, что для реализации п-разрядно-го двоичного сумматора в базисе, состоящем из всех булевых функций двух переменных, необходимо и достаточно Ъп — 3 элементов. Это один из крайне редких результатов теории вычислений, когда сложность задачи найдена точно. К сожалению, глубина известных сумматоров сложности 5п — 3 линейна, и при больших п далека от нижней оценки п.

В конце 70-х — начале 80-х годов была осознана общность ряда распространённых задач: построение сумматоров, поиск в базах данных, организация вычислений в синхронных и асинхронных параллельных моделях, и др. Результатом стало понятие префикса последовательности {хг}" =1 элементов Х{ из некоторой полугруппы М с операцией ® и рассмотрение вычисления всех префиксных сумм этой последовательности как отдельной базовой задачи [49]. Мы будем называть префиксной схему, вычисляющую префиксные суммы входов и построенную из функциональных элеменtob. От операции требуется лишь ассоциативность. Сведения о результатах в области префиксных вычислений можно почерпнуть, например, из монографий [37, 50]. За последние 10−15 лет в области синтеза префиксных схем достигнуты значительные успехи. В числе прочих уже известны схемы линейной по п сложности и глубины log2 n + o (l), где п — число входов. К сожалению, на данный момент подобные публикации недоступны отечественному читателю даже в глобальной сети Internet.

К префиксным вычислениям относится и вычисление переносов при поразрядном сложении чисел. У каждого разряда есть ровно три альтернативы: перенос х из него равен 0 или 1 вне зависимости от переноса у из предыдущего разряда, либо х зависит от у, и тогда х = 1 в том и только том случае, когда у — 1. Поэтому при к ^ 3 сумму двух n-разрядных чисел можно вычислить префиксной схемой сложности 0(п) и глубины log2n + 0(1), построенной из двуместных fc-ичных функциональных элементов. В случае к — 2 непосредственно к префиксному суммированию сложение свести не удаётся и требуется более изощрённая техника. Двоичный сумматор асимптотически минимальной глубины и одновременно минимальной по порядку сложности построил В. М. Храпченко в работе [25]. В монографии Дж. Сэвиджа [22] уточнены константы в оценке сложности и на основе построений В. М. Храпченко показано, что глубина такого n-разрядного сумматора не превышает [log2 п + 7-у/2 [log2п~| 4−14, а сложность — При условии, что уменьшаемое не меньше вычитаемого схема для вычитания гс-разрядных чисел может быть построена на основе сумматора, при этом глубина увеличивается на небольшую константу, а сложность — не более чем на линейное слагаемое 3п (см., напр., [32]). Таким образом, в модели схем из функциональных элементов вопрос о сложности сложения и вычитания в известном смысле решён окончательно: получена схема асимптотически минимальной глубины и оптимальной по порядку сложности (так как всякая схема, построенная из элементов с не более чем двумя входами и реализующая существенно зависящую от п аргументов функцию должна состоять из не менее чем п — 1 элементов).

Для операции умножения также известен ряд схем логарифмической глубины. А. Шёнхаге и В. Штрассен [28] доказали, что существует схема из функциональных элементов, умножающая два п-раз-рядных числа со сложностью (Э (п log п log log п) и глубиной С? (log п).

Этот результат, являющийся развитием стратегии дробления сомножителей А. А. Карацубы [6] и А. Л. Тоома [23], получен при рекурсивном применении быстрого преобразования Фурье в специально подобранных кольцах вычетов. Методы такого типа ориентированы скорее на минимизацию сложности, чем глубины. Другой подход, восходящий к идеям А. А. Карацубы и Ю. П. Офмана [6], развил В. М. Храпченко [24]. Следуя ему, будем называть (п, т)-преобразо-вателем всякую схему (клеточную или из функциональных элементов), у которой сумма т чисел на её выходах равна сумме та чисел на её входах. Предложенная схема умножения двух п-разрядных чисел строится в три этапа. Сначала произведение представляется, как в «школьном» алгоритме умножения в столбик, в виде суммы та чисел (глубина этой подсхемы не зависит от та). Затем к ним применяется (п, 2)-преобразование. На втором этапе решающую роль играет то, что глубина (та, 2)-преобразователя не зависит от числа разрядов в слагаемых. Наконец, на последнем этапе применяется подсхема — сумматор, вычисляющая сумму двух оставшихся не более чем 2та-разрядных слагаемых. Как уже говорилось, глубина сумматора может быть сделана по крайней мере асимптотически минимальной, не превышающей к^2та + О (у/ к2 та) при линейной по та сложности, и на его выходах мы получим разряды искомого произведения.

Основную роль при таком подходе играет выбор счётчика разрядов. Это схема, у которой выходы являются разрядами суммы входов, то есть счётчик — частный случай преобразователя. В базисе {&, V,-} В. М. Храпченко привёл пример счётчика 7 разрядов с 3 выходами, и на его основе построил (та, 2)-преобразователь с глубиной, асимптотически не превышающей 5,12 та. Эта оценка влечёт асимптотическую верхнюю оценку глубины умножения 6,12к^2та. В [24] также найдена нетривиальная нижняя оценка 2 та для глубины схемы умножения в базисе {&, V,-}. Отметим, что константа 6,12 по-видимому значительно меньше константы, стоящей перед логарифмом в оценке глубины схемы Шёнхаге-Штрассена, но сложность схемы умножения, построенной из (та, 2)-преобразователя, всегда будет по порядку равна та2. Развивая идею В. М. Храпченко [24], М. Патерсон, Н. Пиппенджер и У. Цвиг [54] предложили более экономный способ соединения счётчиков. Выбрав счётчик с достаточно большим числом входов и хорошими параметрами, они построили в базисе, состоящем из всех булевых функций двух переменных, схему умножения асимптотической глубины 4,571og2n и сложности 0(п2). Этот результат является наилучшей верхней оценкой глубины умножения из известных на данный момент. Проблема синтеза неглубокого счётчика разрядов тесно связана с сортировкой и вычислением симметрических функций. Точная асимптотика глубины этих задач также пока неизвестна.

В отличие от остальных арифметических операций, для деления схемы логарифмической глубины долгое время были неизвестны. Первый результат в этой области появился в 1986 году, когда П. Бим, С. Кук и Г. Гувер [39] привели пример схемы из функциональных элементов, находящей неполное частное двух n-разрядных чисел с глубиной O (logn) и сложностью 0(n4log3n). Эта схема имеет два недостатка. Во-первых, её сложность значительно превосходит сложность схем для умножения с такой же по порядку глубиной. Во-вторых, при изготовлении схемы существенно используется китайская теорема об остатках с трудоёмкими вычислениями в конечных полях типа возведения в большую степень и взятия дискретного логарифма, для которых до сих пор не известно эффективных параллельных алгоритмов (для логарифмирования — даже в последовательных моделях). Поэтому схема Бима, Кука и Гувера не удовлетворяет важному с теоретической точки зрения требованию равномерности, то есть неизвестно, существует ли машина Тьюринга, кодирующая схему с логарифмической ёмкостью ленты.

Вскоре появились работы, улучшающие оценку сложности. Й. Ха-стад и Т. Лейтон [46] предложили схему с улучшенными характеристиками, вычисляющую прямое и обратное преобразование китайской теоремы об остатках. Используя её, они показали, что для задачи деления двух n-разрядных чисел для всякого е > 0 можно построить схему из функциональных элементов с оптимальной по порядку глубиной 0(1/е2 • logn) и сложностью 0(п1+£). Схожий результат независимо получен в работе Н. Шанкара и В. Рамачанд-ры [57]. Построенные схемы не являются равномерными.

Равномерные схемы деления для различных определений равномерности найдены в работах [44, 47, 56]. А. Чиу, Г. Давида, Б. Ли-тоу [44] и В. Хессе [47] доказали принадлежность деления параллельным сложностным классам NC и ТС°. Их схемы имеют логарифмическую глубину и полиномиальную сложность, причём степень этого полинома достаточно велика. Хорошо известно [36], что во многих последовательных моделях (например, машины с произвольным доступом к памяти) деление и умножение имеют одинаковую битовую сложность. Дж. Рейф и С. Тейт [56] нашли схемы для деления глубины О (log п log log п) и сложности О (п log п log log n). Их схемы удовлетворяют любому разумному определению равномерности, в частности, принадлежат классу NC1. Более того, в их работе доказано, что если существует схема сложности Мп и глубины О (log п), определяющая произведение двух n-разрядных чисел, то существует схема сложности 0{Мп) и глубины О (log п log log п), определяющая неполное частное при их делении. Для схем деления с логарифмической глубиной подобные результаты пока неизвестны.

Сложность реализации арифметических операций в клеточной модели пока мало изучена. Основные результаты в этой области принадлежат Н. А. Шкаликовой [30]. Она, в частности, доказала, что площадь каждой клеточной схемы, осуществляющей умножение двух двоичных n-разрядных чисел, по порядку не меньше чем п2, и привела пример схемы умножения с площадью 0(п2) и глубиной О (п). Нижняя оценка площади Q (n2) была доказана в предположении двоичности клеточных элементов из базиса, однако может быть распространена и на fc-ичные базисы при к ^ 3. Также в работе [30] указан способ построения клеточного двоичного п-разрядного сумматора площади 0(п) и глубины 0(п). Аналогично можно построить и &—ичный сумматор с площадью и глубиной 0(п). Очевидно, что площадь таких сумматоров оптимальна по порядку.

В модели СФЭ верхняя оценка Шёнхаге — Штрассена сложности умножения до сих пор не улучшена, точно так же как неизвестны и нелинейные нижние оценки. Таким образом, пока непонятно, действительно ли умножение более сложная операция, чем сложение. Заметим, что, с другой стороны, для модели клеточных схем теорема Шкаликовой утвердительно отвечает на этот вопрос, поставленный А. Н. Колмогоровым в конце 1950;х годов и послуживший толчком для целой серии исследований в области быстрых вычислений [5].

Предложенный в [30] метод доказательства нижних оценок площади (метод рассечения) получил дальнейшее развитие в работе [48]. Эти методы можно условно отнести к теоретико-информационным: они оценивают снизу количество информации, которое необходимо передать от одной части схемы к другой для решения конкретной задачи, и получают оценку размера сечения, пропорциональную логарифму количества информации.

С другой стороны, всякую клеточную схему 5 можно рассматривать как укладку некоторой схемы из функциональных элементов 5' в прямоугольную решетку. Произвольный узел решётки может либо не принадлежать схеме, либо быть функциональным элементом, либо быть вершиной пути, соединяющего какой-то вход (схемы или её функционального элемента) с каким-то выходом (схемы или её функционального элемента). Если базисный набор клеточных элементов содержит реализующий две тождественные функции коммутационный элемент — мост (рис. 2, крайний справа в нижнем ряду), то через не являющийся функциональным элементом узел решётки допускается прохождение не более двух путей из укладки. Отображение, соответствующее такой укладке, в работе [10] названо 2-вложением. Если же все базисные коммутационные элементы реализуют не более одной тождественной функции, то через каждый узел решётки может проходить не более одного пути, и соответствующее отображение схемы 5 в прямоугольную решётку будет гомеоморфизмом (1 -вложение [10]). Укладки схем везде ниже будут правильными 2-вложениями. Длина и ширина укладки равны длине и ширине схемы.

Укладкам графов в прямоугольные решётки посвящена обширная литература (см., напр., обзор в монографии Дж. Ульмана [58]). Универсальные нижние оценки площади как правило используют обилие рёбер графа схемы. Известны нетривиальные результаты и для разреженных графов, в частности, для деревьев.

Рассмотрим плоскую область ?>, у которой на границе дИ выбраны п точек х^,., хп с попарным расстоянием не меньше единицы. Р. Брент и X. Кунг [43] доказали, что если х,., хп — листья полного двоичного дерева Т, лежащего на плоскости внутри ?>, а область ~ выпуклая, то сумма длин рёбер дерева Т не меньше чем ?2(пк^7г). Эта теорема непосредственно переносится на прямоугольные укладки и клеточные схемы. Требование выпуклости является существенным: дерево [58] с п листьями имеет сумму длин рёбер и площадь укладки одновременно равные ©-(п). Ю. Громкович и Б. Шустер [4] привели пример такой последовательности булевых функций дп = дп (х 1,.жп), что площадь реализации функции дп правильной клеточной схемой равна 0(пз), а неправильной (то есть такой схемой, у которой входы не обязательно лежат на границе) — О (п). Эти результаты показывают, что правильная и неправильная клеточные модели существенно различны.

Теорема Брента — Кунга уточнена в работе [10], где С. А. Ложкин и Ли Да Мин доказали, что наименьший линейный размер прямоугольной решётки, куда правильно 2-вложено полное двоичное дерево с 2П листьями, равен [. Они также построили вложение, у которого один из линейных размеров минимален, а площадь асимптотически равна п2п и доказали её минимальность. Позднее С. А. Ложкин [11] установил аналогичный результат для площади 1-вложениЙ.

Из результатов [10, 11, 43] следует нижняя оценка Q (n log п) для площади клеточных схем, обладающих полными поддеревьями с п = 2 т листьями по периметру схемы. Для неполных деревьев общего вида нижние оценки площади укладки пока неизвестны.

Обзор содержания диссертации.

Результаты главы 1 носят вспомогательный характер и используются далее в главе 3. В первом разделе главы 1 рассматриваются способы реализации (N, 2)-преобразователей в модели схем из функциональных элементов. Выбранный базис = {ф, &} С Рк состоит из функции сложения по модулю к, х ® у — х у (mod к), и функции переноса х 8zy, где х & у = 1, если х + у ^ к, а иначе х & у = 0 (здесь х, у Е {0,1,., к — 1}). Мы будем интересоваться минимизацией глубины fc-ичного (N, 2)-преобразователя.

Лемма 1. В базисе Qk существует (N, 2)-преобразователь S поразрядных к-ичных чисел с глубиной d (S) К + У + iy*"(fc + i)11. log2 N+o (log2 fc) log2(A- + 1) — 1 и сложностью L (S) = 0{Nnogk) при условии N = O (kn).

Ещё уменьшить глубину (N, 2^преобразования для небольших к позволяет следующая.

Теорема 1. Пусть к = 2 Г + 1, г ^ 1. Тогда в базисе Qk существует (N, 2) -преобразователь Skд п-разрядных к-ичных чисел с глубиной d (SKN) ^ 1 * q log2 N • (1 + о (1)), где, а — наибольший из модулей корней многочлена яг+1 — хг — 1.

В частности, d (Sz, N) ^ 3,271og2iV и d{S^N) S l, 871og2iV. При этом L (S^n) x L (Sq^) x niVnpw условии что N ^.

Второй раздел главы 1 посвящён клеточным булевым (iV, 2)-пре-образователям. Будем считать, что входы и выходы клеточного преобразователя не обязательно находятся на его границе, то есть что клеточный преобразователь — не обязательно правильная клеточная схема. Счётчиком разрядов будем, как обычно, называть (правильную) схему, выходы которой являются разрядами суммы входов. Иначе говоря, счётчик с п входами — это (n, |~log2(nf- 1)]^преобразователь одноразрядных чисел. В этом разделе доказаны два вспомогательных утверждения.

Лемма 2. Пусть имеется клеточная схема S, внутри которой на выходах клеточных элементов, расположенных в узлах прямоугольной решётки размера п х 3, находятся разряды трёх целых п-разрядных чисел х, у и z. Тогда композицией схемы Sun гпрёх-разрядных счётчиков можно получить клеточный (3,2)-преобразователь S', на выходах клеточных элементов которого будут вычисляться разряды двух таких (п + 1)-разрядных чисел, а и Ъ, что, а + b — х у + z. Длина и ширина схемы S' удовлетворяют неравенствам l (S') ^ l (S) + 8 и h (S') ^ h (S) + 8nf 4, а её глубина превышает глубину схемы S не более чем на 5.

Лемма 3. Существует клеточный (п, 2)-преобразователь, получающий из п штук т-разрядных слагаемых, m = 0(п), два слагаемых с той же суммой, и обладающий следующими параметрами: его глубина равна 0(logn) — длина — 0(п), ширина — O (nlogn), % следовательно, площадь равна 0(n2ogn).

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

Теорема 2. Для всякой всюду определённой п-местной булевой функции f существует реализующая её клеточная схема Sf с параметрами.

A (Sf) < 9 • Т + о (2″), d (Sf) ^ 2п + 1.

Площадь и глубина схемы Sf неулучшаемы по порядку для почти всех функций /.

Теорема 3. Пусть D С {0,1}п и |D| = Q (n2). Тогда для каждой частичной п-местной булевой функции fo, определённой в D, можно построить такую клеточную схему SfD, реализующую функцию Jd, что A (SfD) = 0(D) и d (SfD) = 0(log|D|). Площадь и глубина схемы SfD оптимальны по порядку для почти всех функций fD.

Теорема 4. Пусть D С {0,1}п, D = т, w = uw ^ f.

Тогда для каждой частичной п-местной булевой функции fp веса w, определённой на области D, можно построить такую клеточную схему SJD, реализующую функцию fo, что тп тп.

A (S}d) = Q (w log -) u d (S}D) = С?(log w + log log.

Площадь и глубина схемы SJD оптимальны по порядку для почти всех функций /вСледствие теоремы 4. Пусть w = £2(п2) и w ^ 2п~1. Тогда для каждой всюду определённой п-местной булевой функции f веса w можно построить клеточную схему S’j, реализующую функцию /, с параметрами A{S'f) = <3(log (2J)) и d (S'f) = C?(loglog (2J)). Площадь и глубина схемы S’j оптимальны по порядку для почти всех функций /.

Схемы теорем 2−4 строятся в каноническом базисе {&, V,-} [9].

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

Теорема 5. Пусть схема из функциональных элементов S построена в некотором базисе 21 не более чем двуместных функций из Ргимеет п входов, т выходов и вычисляет некоторый оператор F: {0,1}п {0,1}т со сложностью L и глубиной d. Тогда в базисе 21 можно построить клеточную схему S', вычисляющую тот же оператор F и также имеющую п входов и т выходов, которые расположены на её границе. При этом глубина схемы S' равна d, а занимаемая ею площадь — (L + п)2.

Следствие теоремы 5. Для всякого положительного е существует клеточная схема глубины G{l/e2-ogn) и площади 0(п2+е) при растущем п, решающая задачу деления для двух п-разрядных чисел.

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

В начале раздела даны определения произвольного вложения графа в граф, и вложения графа в прямоугольную решётку, образом которого является клеточная схема (2-вложение [10]). Т-вложени-ем затем названо произвольное 2-вложение / орграфа G в плоскую прямоугольную решётку, при котором образы входных полюсов G лежат на верхней стороне решётки, образы выходных полюсов — на нижней, и среди транзитных рёбер в образе /(G) нет рёбер вида t, направленных вертикально вверх, а могут быть только рёбра вида —У и 4—. Т-схемами названы клеточные схемы, являющиеся образами схем из функциональных элементов как помеченных орграфов при Т-вложениях. Иначе говоря, у каждого из клеточных элементов в Т-схеме ни один из его входов не расположен на его нижней границе.

Обозначим At (G) минимальную площадь решётки, в которую возможно Т-вложение графа G. Основным утверждением раздела 2.3 является лемма 9.

Лемма 9. Пусть D — произвольное двоичное дерево глубины d с п листьями. Тогда At{D) = ГЦ, п).

V°S logn /.

Из основной леммы 9 вытекает теорема 6.

Теорема 6. Площадь всякой Т-схемы глубины d, реализующей существенно зависящую от п аргументов функцию, по порядку не меньше, чем (n log n)/ log ¦

Следствие теоремы 6. Каждая Т-схема, которая реализует существенно зависящую от п аргументов функцию с глубиной 0(ogn), имеет площадь по порядку не меньшую, чем nlogn.

Глава 3 посвящена реализации основных арифметических операций (сложение, вычитание, умножение и деление) клеточными схемами. Назовём префиксной клеточную схему Sen входами х, Х2,., хп и п выходами yi, y.

Теорема 7. Для всякого натурального числа п существует префиксная Т-схема Рп, для глубины и площади которой справедливы оценки d (Pn) — [logn], А (Рп) ^ 4n [logn]..

Построенная схема Рп оптимальна в следующем смысле: всякая префиксная Т-схема с п входами и глубиной O (logn) имеет площадь (nlogn) по теореме 6..

Далее в разделах 3.2 — 3.4 доказаны следующие результаты..

Теорема 8. При к ^ 3 существует к-ичный п-разрядный клеточный сумматор Еп глубины d (En) ^ [log2(nj- 1)] -f- 2, являющийся Т-схемой. Его площадь удовлетворяет неравенству A (En) ^ 6n (|~log2(n + 1)" ] -Ь 2) и минимальна по порядку в классе Т-схем логарифмической глубины..

Следствие 1 теоремы 8. Существует двоичный п-разрядный клеточный сумматор глубины 21og2n + 0(l) и площади (c)(nlogn минимальной по порядку в классе Т-схем логарифмической глубины..

Следствие 2 теоремы 8. Для k ^ 3 существует клеточная k-ичная Т-схема ЕПнаходящая разность п-разрядных чисел X и Y при условии X ^ Y, для глубины которой справедливо равенство d (En) = log2n + 0(1). В базисе из всех двоичных клеточных элементов существует схема вычитания глубины 21og2n-f- 0(1). Площади этих схем равны (c)(nlogn) и минимальны по порядку в классе Т-схем логарифмической глубины..

Теорема 9. Произведение двух п-разрядных целых чисел, заданных в двоичной системе счисления, может быть вычислено клеточной схемой в базисе {&, V,—, ф}, с глубиной 0(logn) и площадью 0(n2logn)..

Наконец, в последней теореме главы 3 — теореме 10 — показано, что всякая правильная клеточная схема, которая вычисляет неполное частное при делении двух двоичных п-разрядных чисел, имеет площадь по порядку не менее чем п2, и приведена схема оптимальной площади 0(п2). Следует отметить, что глубина этой схемы намного больше глубины схемы из следствия теоремы 5..

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

1. Альбрехт А. О схемах из клеточных элементов // Проблемы кибернетики. Вып. 33. М.: Наука, 1977. С. 209−214..

2. Андреев А. Е. О сложности реализации частичных булевых функций схемами из функциональных элементов // Дискретная математика. Т. 1, вып. 4, 1989. С. 36−45..

3. Гашков С. Б. О глубине булевых функций // Проблемы кибернетики. Вып. 34. М.: Наука, 1978. С. 265−268..

4. ГромковичЮ., Шустер Б. О соотношении сложностей двух видов плоских схем из функциональных элементов // Дискретная математика. Т. 2, вып. 2, 1990. С. 121−126..

5. КарацубаА. А. Сложность вычислений // Труды МИ РАН им. В. А. Стеклова. Т. 211, 1995. С. 186−202..

6. Карацуба А. А., Офман Ю. П. Умножение многозначных чисел на автоматах // Докл. АН СССР, т. 145, № 2,1962. С. 293−294..

7. Колмогоров А. Н., БарздиньЯ. М. О реализации сетей в 3-мерном пространстве // Проблемы кибернетики. Вып. 19. М.: Наука, 1967. С. 261−268..

8. Коршунов А. Д. Об оценках сложности схем из объёмных функциональных элементов и объёмных схем из функциональных элементов // Проблемы кибернетики. Вып. 19. М.: Наука, 1967. С. 275−283..

9. Кравцов С. С. О реализации функций алгебры логики в одном классе схем из функциональных и коммутационных элементов // Проблемы кибернетики. Вып. 19. М.: Наука, 1967. С. 285−293..

10. Ложкин С. А., Ли Да Мин. О некоторых оптимальных вложениях двоичных и троичных деревьев в плоские прямоугольные решётки // Вестн. Моск. ун-та. Сер. 15. Вычислительная математика и кибернетика. 1995. № 4. С. 49−55..

11. Лупанов О. Б. Асимптотические оценки сложности управляющих систем. М.: МГУ, 1984..

12. Лупанов О. Б. О синтезе некоторых управляющих систем // Проблемы кибернетики. Вып. 10. М.: Физматгиз, 1963. С. 6397..

13. Лупанов О. Б. О схемах из функциональных элементов с задержками // Проблемы кибернетики. Вып. 23. М.: Наука, 1970. С. 43−81..

14. Лупанов О. Б. Об одном классе схем из функциональных элементов // Проблемы кибернетики. Вып. 7. М.: Физматгиз, 1962. С. 6−115..

15. Лупанов О. Б. Об одном методе синтеза схем // Известия ВУЗов. Радиофизика. 1, 1, 1958. С. 120−140..

16. Лупанов О. Б. Об одном подходе к синтезу управляющих систем — принципе локального кодирования // Проблемы кибернетики. Вып. 14. М.: Физматгиз, 1965. С. 31−110..

17. Нигматуллин Р. Г. Сложность булевых функций. М.: Наука, 1991..

18. Нигматуллин Р. Г. Нижние оценки сложности и сложность универсальных схем. Казань: изд-во КГУ, 1990..

19. Редькин Н. П. О минимальной реализации двоичного сумматора // Проблемы кибернетики. Вып. 38. М.: Наука, 1981. С. 181−216..

20. Редькин Н. П. Однородные структуры из двухканальных элементов // Автоматика и телемеханика, 4. М., 1972. С. 84−89..

21. СэвиджДж. Э. Сложность вычислений. М.: Факториал, 1998..

22. ТоомА. Л. О сложности схем из функциональных элементов, реализующих умножение целых чисел // Докл. АН СССР, т. 149, № 4, 1963. С. 496−498..

23. Храпченко В. М. Некоторые оценки для времени умножения // Проблемы кибернетики. Вып. 33. М.: Наука, 1978. С. 221−227..

24. Храпченко В. М. Об асимптотической оценке времени сложения параллельного сумматора // Проблемы кибернетики. Вып. 19. М.: Наука, 1967. С. 107−122..

25. Храпченко В. М. Различие и сходство между задержкой и глубиной // Проблемы кибернетики. Вып. 35. М.: Наука, 1979. С. 141−168..

26. Шеннон К. Работы по теории информации и кибернетике. М.: ИЛ, 1963..

27. ШенхагеА., ШтрассенВ. Быстрое умножение больших чисел // Кибернетический сборник (нов. сер.). Вып. 10. М.: Мир, 1973. С. 87−98..

28. Шкаликова Н. А. О реализации булевых функций схемами из клеточных элементов // Математические вопросы кибернетики. Вып. 2. М.: Наука, 1989. С. 177−197..

29. Шкаликова Н. А. О сложности реализации некоторых функций клеточными схемами // Сборник работ по математической кибернетике. Вып. 1. М., 1976. С. 102−115..

30. Шоломов Л. А. О реализации недоопределённых булевых функций схемами из функциональных элементов // Проблемы кибернетики. Вып. 21. М.: Наука, 1969. С. 215−226..

31. ЧашкинА. В. Об одном методе вычисления частичных булевых функций // Математические вопросы кибернетики. Вып. 12. М.: Физматгиз, 2003. С. 231−246..

32. Яблонский С. В.

Введение

в дискретную математику. Изд. 3-е. М.: Высш. школа, 2001..

33. Яблонский С. В. Основные понятия кибернетики // Проблемы кибернетики. Вып. 2. М.: Физматгиз, 1959. С. 7−38..

34. AhoA., HopcroftJ., UllmanJ. The design and analysis of computer algorithms. Addison-Wesley, Reading, Massachusets, 1974. Имеется перевод: АхоА., ХопкрофтДж., Ульман Дж. Построение и анализ вычислительных алгоритмов. М.: Мир, 1979.].

35. AklS.G. Parallel computation: models and methods. Prentice-Hall, 1997..

36. AllenderE., BarringtonD. A. M., Hesse W. Uniform circuits for division: consequences and problems // Proceedings of the 17th Annual IEEE Conference on Computational Complexity (CCC 2001).ftp://ftp.eccc.uni-trier.de/pub/eccc/reports/2001/TR33.

37. Avior A., CalamoneriT., EvenS., LitmanA., Rosenberg А. A tight layout of the butterfly network // 8th ACM Symp. on Parallel Algorithms and Architectures. June 23−26, 1996, Padua, Italy. P. 170−175..

38. Brent R. P. On the addition of binary numbers // IEEE Transactions on Computers. Vol. 19, 1970. P. 758−759..

39. Brent R. P., KungH. T. A regular layout for parallel adders // IEEE Transactions on Computers. Vol. 31, 1982. P. 260−264..

40. Brent R. P., KungH. T. On the area of binary tree layouts // Information Processing Letters. Vol. 11, № 1, 1980. P. 46−48..

41. Chiu A., Davida G., Litow B. Division in logspace-uniform NC1 // Theoretical Informatics and Applications. Vol. 35, № 3, 2001. P. 259−275.http: //www. cs. j cu. edu. au/~bruce/papers/crr003ps. gz.

42. Fich F. E. New bounds for parallel prefix circuits // Proceedings of the ACM Symposium on Theory of Computing. 1983. P. 100−109..

43. Hastad J., LeightonT. Division in O (logn) depth using (9(n1+?) processors. Неопубликованная работа, 1986. http: //www. nada. kth. se/~ j ohanh/paraldivision. ps.

44. Hesse W. Division is in uniform TC° // Proceedings of the 28th International Colloquium on Automata Languages and Programming (ICALP 2001).http: //loki. cs. umass. edu/~whesse/div. ps.

45. HromkovichJ., LozhkinS.A., RybkoA.I., Sapozhen-ko A. A., ShkalikovaN. A. Lower bounds on the area complexity of Boolean circuits // Theoretical Computer Science. Vol. 97, № 2, 1992. P. 285−300..

46. LadnerR. E., Fischer M.J. Parallel prefix computation // Journal of the ACM. Vol. 27, 1980. P. 831−838..

47. LakshmivarahanS., DhallS.K. Parallel computing using the prefix problem. Oxford University Press, New York, 1994..

48. LakshmivarahanS., Yang C.M., DhallS.K. Optimal parallel prefix circuits with (size + depth) = 2n + 2 and logn] ^ depth ^ [21ogn] — 3 // Proceedings of the International Conference on Parallel Processing, 1987. P. 58−65..

49. MeadC., Conway L. Introduction to VLSI Systems. Addison-Wesley, Reading, Massachusetts, 1980..

50. Milter sen P. B. On the Shannon Function for Partially Defined Boolean Functions // ICALP Satellite Workshops 2000. P. 253−258, http://www.brics.dk /~bromille/Papers/shannon6.ps.

51. PatersonM. S., PippengerN., ZwickU. Optimal carry save networks // Boolean function complexity. Cambridge: Cambridge Univ. Press, 1992. P. 174−201. (London Mathematical Society Lecture Note Series 169).

52. ReifJ.H., TateS.R. Optimal size integer division circuits // SIAM Journal on Computing. Vol. 19, No. 5, 1990. P. 912−924. http: //www. cs. duke. edu/~reif/paper/tate/div. pdf.

53. ShankarN., Ramachandran V. Efficient parallel circuits and algorithms for division // Information Processing Letters, Vol. 29, 1988. P. 307−313..

54. UllmanJ. D. Computational aspects of VLSI. Computer Science Press, Rockville, Maryland, 1984. Имеется перевод: Ульман Дж. Д. Вычислительные аспекты СБИС. М.: Радио и связь, 1990.].

55. Wegener I. The complexity of Boolean functions. Wiley-Teubner Series in Computer Science (John Wiley and Sons Ltd., and B. G. Teubner), Stuttgart, 1987. Публикации автора по теме диссертации.

56. Жуков Д. А. О времени параллельного сложения нескольких чисел // Материалы четвёртой молодёжной научной школы по дискретной математике и её приложениям (МГУ, ноябрь 2000). М.: Изд-во мех.-мат. фак. МГУ, 2000. С. 39−47..

57. Жуков Д. А. О времени параллельного сложения нескольких чисел // Вестн. Моск. ун-та. Сер. 1, Математика. Механика. 2001. № 6. С. 52−54..

58. Жуков Д. А. Клеточные схемы для арифметических операций // Материалы пятой молодёжной научной школы по дискретной математике и её приложениям (МГУ, ноябрь 2001). — М.: Изд-во мех.-мат. фак. МГУ, 2002. С. 50−52..

59. Жуков Д. А. Быстрые клеточные схемы для умножения // Дискретный анализ и исследование операций. Сер. 1. Т. 9, № 3, 2002. С. 40−47..

60. Жуков Д. А. Об одном классе клеточных схем // Материалы XIV Международной школы-семинара «Синтез и сложность управляющих систем» (Нижний Новгород, 27 октября 1 ноября 2003 г.). — Нижний Новгород: Изд-во НГПУ, 2003. С. 33−37..

61. Жуков Д. А. О вычислении частичных булевых функций клеточными схемами // Материалы VIII Международного семинара «Дискретная математика и её приложения» (Москва, 26 февраля 2004 г.). — М.: Изд-во мех.-мат. фак. МГУ, 2004. С. 63−66..

62. Жуков Д. А. О вычислении частичных булевых функций клеточными схемами // Дискретный анализ и исследование операций. Сер. 1. Т. 11, № 2, 2004. С. 32−40..

Показать весь текст
Заполнить форму текущей работой