Научная статья на тему 'Мультипликативная алгебра и ее применение в логической обработке данных'

Мультипликативная алгебра и ее применение в логической обработке данных Текст научной статьи по специальности «Математика»

CC BY
377
43
i Надоели баннеры? Вы всегда можете отключить рекламу.
Журнал
Проблемы управления
ВАК
Область наук

Аннотация научной статьи по математике, автор научной работы — Выхованец В. С., Малюгин В. Д.

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

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

MULTIPLICATIVE ALGEBRA AND ITS APPLICATION IN LOGICAL DATA PROCESSING

The paper examines the problem of formulae synthesis for discrete functions based on multi-stage (decision making) and spectral decompositions carried out in multiplicative algebra. It shows the relationship between the synthesis of multiplicative forms and the generic problem of formulae synthesis, and makes practical recommendations on hardware and software implementation of the formulae obtained.

Текст научной работы на тему «Мультипликативная алгебра и ее применение в логической обработке данных»

И нформационные технологии в управлении

УДК 519.712

МУЛЬТИПЛИКАТИВНАЯ АЛГЕБРА И ЕЕ ПРИМЕНЕНИЕ В ЛОГИЧЕСКОЙ ОБРАБОТКЕ ДАННЫХ

В. С. Выхованец, В. Д. Малюгин Институт проблем управления им. В. А. Трапезникова, г. Москва

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

ВВЕДЕНИЕ

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

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

Будем исходить из того, что описание всякой функции нужно для ее вычисления (нахождения ее значений) на заданных входных данных.

Данные при логической обработке представляются в виде конечных последовательностей знаков (цифр), взятых из некоторого конечного алфавита 1, а сама обработка осуществляется путем преобразования входных данных X в выходные У посредством разделения входных данных X на части (переменные) х0, ..., хп _ 1, выполнения над ними некоторых последовательностей операций ) = {/^, ..., /8_ 1} с целью получения результатов \0, ..., \п _ 1, из которых потом формируются выходные данные У (рис. 2).

Основная проблема логической обработки состоит в декомпозиции дискретной функции или ее представлении в виде формулы как некоторой последовательности операций над переменными.

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

[1]. Нерегулярная декомпозиция сводится к

Управление средой

< Г2

ґ Ґ Л

Х2

Среда

У

Х3 Модель

Цель <і = Еі(Хр Х2, Хз)

Ґ л Х1 <2 = )2(Хі, Хг Хз)

Объект

Управление объектом

< т

і

Рис. 1. Схема логического управления

F(X) = Y

X — {■Xot • ♦ • J ^n-l} - f/o(*o *n-l) =Уо - {уо,..., Ув-і} = Y

Рис. 2. Схема логической обработки данных

13-полной задаче раскраски графа, для которой не найдено эффективных решений [2]. Поэтому нерегулярную обработку данных представляют, в основном, в алгоритмических формах. Теоретической базой при этом служат хорошо известные парадигмы анализа предметной области, получившие свою реализацию в одноименных методологиях проектирования программных средств (логической, функциональной, структурной, объектно-ориентированной, и др.).

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

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

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

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

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

Одной из первых и самой распространенной формой совместного описания системы функций алгебры логики является арифметический полином [3]. Предельный случай упрощения логической модели состоит в ее представлении в виде линейного выражения — суммы переменных, умноженных на некоторые коэффициенты, причем операции сложения и умножения не обязательно должны быть традиционными арифметическими. Ранее показано [4], что из-за увеличения разрядности коэффициентов произвольная система булевых функций может быть представлена в виде композиции двух линейных арифметических полиномов ограниченной сложности. Если даже выражение нелинейное, то специальное увеличение разрядности коэффициентов позволяет реализовать кратные логические вычисления, при которых система функций вычисляется сразу (одновременно, параллельно) на нескольких наборах переменных [5]. Заметим, что в англоязычных публикациях структурированное объединение логических выражений называется представлением функций в форме слов (word-level).

Все перечисленные методы основаны на спектральной декомпозиции, при которой функция разлагается в линейную комбинацию фиксированного множества других функций, называемых спектральными и имеющими такую же длину характеристических векторов, что и исходная. С технической точки зрения такой подход оправдан, когда эффективность реализации спектрального базиса достаточно высока. Однородность спектральных разложений не позволяет гарантировать эффективное формульное представление наперед неизвестной функции. Поэтому развитие спектральных методов связано с уменьшением регулярности синтезируемых формул, в частности, с применением многоступенчатой декомпозиции (решающих диаграмм) [6, 7], с объединением спектральных составляющих в различных арифметиках [8—11],

совместного описания множества функций в виде одного спектра [3], применения новых и расширения имеющихся спектральных базисов [12—16].

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

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

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

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

1. ОПРЕДЕЛЕНИЯ

В логической обработке применяется дискретное кодирование данных. Выберем в качестве универсального множество целых чисел 1 = {..., —1, О, 1, ...}. Когда необходимо задать конечное множество, будем пользоваться подмножеством 1

этого множества, 1к = {О, 1, ..., к — 1}, где к > О — число элементов в нем.

1.1. Дискретные функции

Функцией / одной переменной х, заданной на множестве X и принимающей значения на множестве <, называется отношение между X и < такое, что каждый элемент х е X связан не более, чем с одним элементом у е < Множество X называется областью определения функции, множество < — областью значений. Функцию будем называть дискретной, если ее область определения и область значений — конечные множества.

Пусть функция / задана на множестве 1О х х 1к1 х ... х 1к 1 и принимает значения на множестве 1к (здесь знаком х обозначено декартово

произведение множеств). Это означает, что функция/ зависит от п переменных хО, х1, ..., хп — 1, т. е.

у = /(хО, х1, ..., хп — 1), где у е 1к/ и е 1. (/ =

= О, п - 1). Будем говорить, что функция имеет значность кр а переменная х. — значность к.

Дискретную функцию определим таблицей истинности, содержащей т = кОк1...кп — 1 строк, где т — число элементов области определения (табл. 1). Установим взаимно однозначное соответствие между значением / переменной х е 1т и

значениями переменных х. е с помощью пред-

ставления числа / в п-разрядной позиционной системе счисления с основаниями, определяемыми значностями переменных,

I = (Lo, ..., гп — 1) кОк1...кп 1, (1)

где /. е 1к. — ./-я цифра числа /, представленного в

•* У

системе счисления с основаниями кО, к1, ..., кп — 1. Будем полагать, что цифра /О имеет наименьший вес.

Таблица 1

Таблица истинности функции

[О [1 [ — 1 У

О О О О Уо

1 1 О О У1

кО — 1 кО —1 О О \ко — 1

* *О *1 *п — 1 У*

т — 1 кО — 1 к1 — 1 к 1 — 1 п — 1 Ут - 1

Для прямого и обратного преобразования числа / в его представлении (1) будем пользоваться следующие рекуррентными выражениями:

ij = і mod к,

к = к0к1...к„ _ j,

і = і div^ к = к/к _ і,

— для прямого преобразования и

і = і + і ¡к,

к = 1, і = 0, ' к = ккM _ і9

О = и _ 1, 1)

O' = 0, и _ 1)

— для обратного, где mod обозначает остаток, а div — целую часть от деления первого операнда на второй.

Вектором будем называть упорядоченное множество элементов, перечисленное в квадратных скобках (для отличия от представления числа в системе счисления (1), где используются круглые скобки). Как и ранее, будем предполагать, что первый элемент вектора имеет наименьшую значимость. Произвольная функция может быть задана вектором значений или характеристическим вектором F = [у0 \1... ут _ 1] длины т и вектором знач-ностей переменных К = [к0 к1 ... кп _ 1] длины и. Если функция задана только вектором F, то существует множество векторов К, которыми можно воспользоваться для полного определения функции. Число таких векторов равно числу представлений числа т в виде произведения целых чисел, больших единицы.

Вектор переменных обозначим как X = [х0 х1 ... хп _ 1]. Выражение F = [х0 [1 ... хп _ 1] равно значению функции, заданной характеристическим вектором, когда переменные принимают значения х0, [1, ..., хп _ 1. Возможны также записи вида F (х),

F(х0 хР ..., Хп _ 1), F(х0, X1, ..., Хп _ 1) к0к1...кп 1 , если

переменная х представлена в позиционной системе счисления с известными основаниями К, а (х0, х1, ..., хп _ 1) читается как последовательность цифр числа х в этой системе счисления.

Таблица 2

Дискретная функция

К о II К1 = [32] .2 = [23] N= 4

х х0 [1 [0 [1 /

0 0 0 0 0 3

1 1 0 1 0 0

2 2 0 0 1 1

3 0 1 1 1 2

4 1 1 0 2 2

5 2 1 1 2 0

Пример 1. Пусть дискретная функция задана характеристическим вектором Б = [301220] длины 6. Функция имеет значность ку = 4, так как элементы вектора Б принимают значения на множестве из четырех элементов 14 = {0, 1, 2, 3}. Для вектора К возможны три варианта значностей переменных: . = [6], К0 = [3 2] и К0 = [2 3]. Все три функции приведены в табл. 2.

1.2. Дискретные операции

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

Традиционно, в логической обработке данных, используются унарные и бинарные дискретные операции. Унарная операция может быть определена вектором, а бинарная — матрицей. Вектор [\0\1... Ук -1] длины к0, обозначаемый также как [ у. ], является вектором унарной операции, если он содержит, как минимум, один элемент, отличающийся от других. Единственный операнд этой операции имеет значность к0. Матрица размерности к0 х к1, обозначаемая как [у-], является матрицей бинарной операции, если все ее строки (столбцы) не одинаковы. В этом случае первый операнд имеет значность к0, а второй — к1. Будем обозначать применение унарной операции как [ уг]([0) = у[0, а бинарной — [1) = У[Л или [о[Уг;/] [1 = У[0*1.

Пример 2. Рассмотрим дискретные функции из табл. 2. Эти функции задают три четырехзначные операции

(5) = 0,

3 0 Г

1 2 (2, 1) = 0, 3 0 1

2 2 0

2 0

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

(1, 2) = 0,

Например, для второй из этих операций вычисляется значение, равное нулю при х0 = 2 и х1 = 1.

2. АЛГЕБРАИЧЕСКАЯ ДЕКОМПОЗИЦИЯ

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

Пересекающаяся [17], разделительная [18, 19] и кратная [20] декомпозиции относятся к классу неалгебраических. Решающая [21] и спектральная [22, 23] выполняются в некоторой алгебраической системе с двумя бинарными операциями и относятся к классу алгебраических. В свою очередь, промежуточная декомпозиция [24] является прообразом алгебраической и располагается между алгебраическими и неалгебраическими.

2.1. Разделение переменных

Декомпозиции дискретных функций, кроме пересекающейся, основаны на разделении переменных. Для этого множество переменных X = {[0, [1, ..., х _ 1 разбивается на два непересекающихся подмножества ;' = {х0', х/, ..., х'п•_ 1} и ;' = {х0', х1', ..., х'П1} с числом элементов п ' и п ' ' и значностями

п '_ 1 п ' '_ 1

к ' = — к" и к ' ' = — к"' или, что то же самое, " = 0 " = 0

функцию рассматривают зависящей от двух переменных х ' и х ' ' со значностями к ' и к ' ', где к к ' ' = т. Поясним разделение переменных на примере.

Пример 3. Пусть функция определена векторами

Б = [201032121030101032120010], К = [2232],

т. е. зависит от переменных X = {х0, х1, х2, х3} со значностями к0 = к1 = к3 = 2 и к2 = 3. Разобьем переменные на два подмножества ;' = {х0, х2} и ;' = {х1, х3}. Тогда к ' = к0к2 = 6, а к ' ' = к1к3 = 4. Переопределим функцию в виде двумерной таблицы (табл. 4).

При построении табл. 4 переменная х е 124 пересчитывалась в переменные х ' е 1б и х ' ' е 14 с ис-

пользованием позиционной системы счисления с основаниями К '= [23] и К ' ' = [22] так, что

Б (х) = Б (х0, х1, х2, х3)2232 = Т [(х0, х2)22 (х1, х3)23] = = Т [с, г] = ^с,

где Т — матрица функции, trс — элемент этой матрицы, а г (с) — ее строка (столбец). В частности, tз2= Т[23] = Т[(0, 1)22 (1, 1)23] = Щ(0111)2232] = = Б[18] = 2.

Заметим, что число способов, которыми множество из п переменных может быть разделено на два непересекающихся подмножества, равно 2п _ 1 _ 1.

2.2. Разложение функции

Решающая и спектральная декомпозиции выполняются в некоторой алгебре 5 = (1к, +, х) (алгебре образующих операций), заданной на множестве 1к двумя бинарными операциями, условно называемыми сложением и умножением. Наибольшее распространение на практике получили такие образующие алгебры, как конечное поле (к = рт, где р — простое, т — натуральное) и кольцо целых чисел (к = 0).

Таблица 3

Декомпозиции дискретной функции

Декопозиция Конструкция

Пересекающаяся Разделительная Кратная Промежуточная Решающая Спектральная дх = 0 (х" ' а(х' )), х' п х" ’ * 0 ДХ = 0(X" ' а(Х" )), X' П X"' = 0 ДХ = 0(Х' а^Х ' )), ат(х ) /(X) = ст(01(Х, а1(Х)), 0р(Х, ат(Х') т ДХ = X 0.(Х) х а.(Х') і = 1 т /(X) = X 0.(Х) х а. і = 1

Таблица 4 Двумерная таблица дискретной функции

х0 х2 х1 0 1 0 1

х3 0 0 1 1

X\Х" 0 1 2 3

0 0 0 2 1 1 1

1 0 1 0 0 0 0

0 1 2 3 1 3 1

1 1 3 2 2 2 2

0 2 4 1 3 0 1

1 2 5 0 0 0 0

Пусть задана произвольная р-функция / (функция с длиной характеристического вектора р) значности < N. Представим эту функцию в виде

разложения по системе N -функций 9; (і = О, N1),

(2)

ДХ) = Х^Х') и а.(Х''),

і = О

где — коэффициенты разложения (некоторые

N ' -функции). Будем предполагать, что спектральные функции 8; известны. Тогда для нахождения коэффициентов разложения необходимо решить систему линейных уравнений

N ' - 1

Х

і = О

4,. и а.(Х'') = /(/; Х'') (і = О, N'- 1) (3)

относительно неизвестных функций Я,.(;''), где 4; —

I }1

некоторые константы, = 8; (у). Если формульные

}1 ;

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

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

Т = Б X А (А = О X Т),

(4)

где Т (А) — матрица функции (коэффициентов) размерности N 'х N ' , Б (О) — матрица прямого (обратного) преобразования размерности N ' х N 'с элементами, принимающими значения на множестве 1 • Заметим, что столбцы матрицы Б являются характеристическими векторами спектральных функций 9Г Поясним сказанное на примере^

Пример 4 Разложим дискретную функцию в конечном поле, образованном операциями

+ =

заданными на множестве 14 матрицами Кэли Нулем этого поля является О, а единицей — 3^ Рассмотрим функцию из табл^ 2, ко гда Х' = {хО} и Х' ' = {х1} при N ' = 3 и N ' ' = 2^ После разделения переменных получим двумерную таблицу:

О 1 2 3 О О О о’

1 О 3 2 , х = О 2 3 1

2 3 О 1 О 3 1 2

_3 2 1 О О 1 2 3_

Х\Х" О 1

О 3 2

1 О 2

2 1 О

Из выражения (2) следует, что /(;) = 80(Х) и а0(; ') + 81(Х) и ^(;') +

+ 82(;') и й^;' ').

Определим систему спектральных функций так:

А ■— А

80 = 3, 80 = а0, 80 = х0, где а — увеличение [ на

единицу, а [ — сдвиг [ вправо на один двоичный разряд.

Построим матрицу прямого преобразования Б и найдем в заданном поле обратную ей матрицу 4:

Б

Далее вычислим матрицу коэффициентов

3 1 О 2 1 О

3 2 О = а 3 3 О

_3 3 1 _3 1 2_

2 1 О 3 2 2 2

> II О X Т II 3 3 О X О 2 = 3 О

3 1 2 1 О О 1

Окончательно

ДХ =

3 г -| 1 г -,

3 (Х') X 2 (Х'') + 2 (Х') X 3

2 О

_3 _3

(Х") +

(Х') X

(Х'),

откуда получим

/([), [1) = 2 +

1 г -| О

2 ([О) X 3 О ([1) + О

_3 1

([О) х [ =

где [ — унарная операция, преобразующая нуль и единицу переменной [ соответственно в единицу и нуль конечного поля.

2.3. Алгебры образующих операций

Существует шесть типов алгебр [25], порождающих различные классы спектральных функций (табл. 5). Все они предназначены для решения сис-

темы линейных алгебраических уравнений (3). Для этого определенные требования налагаются на операции алгебр и вводятся некоторые ограничения на вид спектральных функций.

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

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

На практике распространение получило небольшое число спектральных функций (табл. 6). В классе унимодальных используются дизъюнктивные [26], конъюнктивные [21], литеральные [27] и интервальные [28] функции. Из многомо-

дальных применяются функции Жегалкина [29], Рида—Малера [30, 31], теоретико-числовые [13, 14] и полиномиальные [15]. Бимодальные функции представлены функциями Радемахера [16], Уолша [32], Хаара [33] и Виленкина—Крестенсона [34, 35].

2.4. Функциональная полнота

Как показано выше, при алгебраической декомпозиции используется базис

4 = ^ и {8;Ь {й/}Ь

состоящий из операций образующей алгебры 5, фиксированного множества спектральных ^-функ-ций и множества, содержащего все возможные ^'-функции, где = т, а т — длина характери-

стического вектора декомпозируемой функции. В пределе, когда ^ = т, имеем спектральную декомпозицию, у которой множество {а.} — константы алгебры 5. Базис : является функционально полным. Его полнота непосредственно следует из разрешимости системы линейных уравнений (3) благодаря свойствам операций образующей алгебры и о граничениям, накладываемым на спектральные функции.

3. МУЛЬТИПЛИКАТИВНАЯ АЛГЕБРА

3.1. Теоремы разложения

Определение 1. Алгебраическая система 50 (1, +, х) называется иримитивном мультипликативном алгебром, если существует элемент а е таком, что ¿ля ироизвольного а е 1 выполняются равенства а + а = а, а + а = а, а х а = а и уравнение а х [ = Ь имеет единственное решение относительно [ ири ироизвольных а ф а и Ь.

Из определения 1 следует, что умножение является операцией (не обязательно ассоциативной), которая имеет левую обратную операцию на множестве 1 \{а}. Это означает, что матрица операции умножения имеет строку а, состоящую только из элементов а, а все остальные строки таковы, что каждый элемент из множества NN повторяется не более одного раза.

Определение 2. Мономиальном матрицей называется квадратная матрица, иолучаемая иерестанов-ком строк (^столбцов) диагональном матрицы с элементами 4 ф а.

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

Теорема 1. произвольная функция / ирейставима в иримитивном мультииликативном алгебре 50 в ви-

Таблица 5

Алгебры образующий операций

Функции Двузначные Многозначные

Унимодальные Мультимодаль- ные Бимодальные Логики 5Ь Аддитивная 5$ Уолша 5: Мультипликативная 50 Конечное поле 5^ Целостное кольцо 55

Таблица б

Системы спектральных функций

Функции Двузначные Многозначные

Унимо- дальные Мультимо- дальные Бимодаль- ные Дизъюнктивная Конъюнктивная Жегалкина Рида—Маллера Радемахера Уолша Литеральная Интервальная Теоретико-числовые Полиномиальные Хаара Виленкина—Крестен сона

де разложения (2), если сиектральнь/е функции образуют .матрицу ирямого иреобразования ", которая является мономиальной.

Доказател ь ство. Из мономиальности матрицы Б следует, что в каждом уравнении системы (3) только один элемент отличен от V. Тогда в алгебре 50 система (3) вырождается в систему

/(у, X”) = й.( х а, (Х") (у = О, N - 1), откуда могут

быть найдены функции аДХ") (, = О, N- 1). Следовательно, система уравнений (3) разрешима в алгебре 50. Последнее означает, что произвольная функция представима разложением (2).

Пример 5. Пусть операции сложения и умножения примитивной мультипликативной алгебры заданы матрицами

О 1 2 3 О О О о’

+ = 113 3 , х = 1 2 3 О

2 3 2 3 2 3 О 1

3 3 3 3 3 О 1 2

где сложение — двухразрядная побитовая дизъюнкция, а умножение имеет левую обратную операцию на множестве {1, 2, 3} и представляет собой усеченное сложение по модулю 4. Из матриц операций находим, что V = О. Определим систему спектральных функций мономиальной матрицей Б и для функции из примера 4 запишем систему уравнений Б х А = Т:

О 3 О а 1 О О а1( О 0 3 2

О О 1 х ао( 10 а1( 10 = О 2

2 О О «о( 2 0 а1( 2 0 1 О

откуда, решая каждое уравнение в отдельности, находим матрицу коэффициентов:

3 II 1 О а X 3 2 II 1 а1 х 3 3 2

0 II о а X 1 = А 2 II а1 х 1 О 3

2 х аО (О) = 1 2 х а1 (О 0 = О 3 1

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

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

Определение 3. Мультииликативная алгебра называется неиримитивной, если оиерация умножения образует груииу = (1\^}, х).

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

Теорема 2. Рсли матрица " является мономиальной, то ироизвольная функция / иредставима в неири-митивной мультииликативной алгебре разложением

(2), для которого существует матрица обратного

иреобразования 4 = Б , где матрица Б иолучается из матрицы " заменой ненулевых элементов на обратные.

Доказател ь ство. Умножим левую и пра-

'"Ч/ 7

вую части матричного выражения (4) на Б и по-

лучим Б 7 х Т =

Б7 х

Б х А. Так как умножение

Окончательно

ассоциативно и Б х Б = Е, где Е — единичная матрица, то справедливо выражение коэффициентов

разложения через матричные операции А = Б 7 х Т,

откуда находим 4 = Б 7.

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

Пример 6. Пусть сложение и умножение заданы матрицами

О г - 3 г - О 1 2 3 О О О О

/(;) = О (;) х 3 (;”") + О (;) х О оп + + = 113 3 , х = О 2 3 1

2 _2 О _3 2 3 2 3 О 3 1 2

_3 3 3 3 О 1 2 3_

О

+ 1 (;) х

О

(*”).

где сложение, как и ранее, двухразрядная побитовая дизъюнкция, а умножение образует группу на множестве {1, 2, 3}. Из матриц операций находим,

что а = 0 и т = 3. Определим систему спектральных функций мономиальной матрицей Б и найдем в заданной алгебре матрицу обратного преобразования 4:

0 0 1 0 3 0

3 0 0 , 0 = Б 7 0 0 1

0 2 0 2 0 0_

Далее для функции из примера 4 вычислим матрицу коэффициентов:

0 3 0 3 2 0 2

> II о X Т II 0 0 1 X 0 2 = 2 0

2 0 0 1 0 2 1

Окончательно

/(;) = 0 3 (;) х 0 (*”) + 0 0 (;) х 2 (X') +

0 2 2 0

1

+ 0 (;) х

0

Нетрудно показать, что число представлений произвольной функции в мультипликативной алгебре равно !(* — 1)*, где N — значность мультипликативной алгебры, *' — длина характеристического вектора спектральных функций. При спектральном разложении это число максимально и равно т!(* — 1)т, где т — длина характеристического вектора декомпозируемой функции.

3.2. Мультипликативные формы

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

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

Вначале поставим задачу так определить алгебру и систему спектральных функций, чтобы количество слагаемых т' в выражении (3) было минимальным, т' < N. Заметим, что некоторое слагаемое будет отсутствовать в разложении, если единственное ненулевое значение спектральной функции

9г(Х), будучи умноженное на функцию-коэффициент а.(Х") дает нуль алгебры ст. Так как уравнение й х а = ст имеет единственное решение относительно а при й ф V, то функция-коэффициент аг(Х") должна не зависеть от переменных из множества Х" т. е. равняться некоторой константе. Следовательно, в качестве нуля алгебры следует взять элемент, из которого состоит наибольшее число константных строк матрицы функции. При спектральном разложении, когда все коэффициенты константы, нуль алгебры должен совпадать с наиболее часто встречающимся значением в характеристическом векторе. С другой стороны, для каждой функции-коэффициента можно задать свою спектральную функцию. Последнее означает, что путем выбора спектральных функций число умножений в разложении может быть уменьшено на количество константных строк, имеющихся в матрице функции, а наиболее часто повторяющиеся элементы в характеристических векторах коэффициентов преобразованы в один и тот же элемент.

3.3. Демонстрационный пример

Рассмотрим функцию из примера 3. Для ее представления в мультипликативной форме будем пользоваться ранее определенной в примере 5 примитивной алгеброй.

Для начала зададим систему спектральных функций произвольной диагональной матрицей и вычислим матрицу коэффициентов. Представим результаты вычислений в виде системы уравнений вида Т = Б х А:

2 111 3 0 0 0 0 0 3 2 2 2

0 0 0 0 0 3 0 0 0 0 1111

3 13 1 = 0 0 3 0 0 0 х 0 3 0 3

2 2 2 2 0 0 0 3 0 0 3 3 3 3

13 0 1 0 0 0 0 3 0 2 0 12

0 0 0 0 0 0 0 0 0 3 1111

Теперь определим спектральные функции так, чтобы наибольшее число коэффициентов стало равным некоторому элементу 5 е 14. Для этого потребуем, чтобы уравнение [ х 5 = Ь имело единственное решение относительно [ для произвольных Ь. В примитивной алгебре, определенной в примере 5, это возможно только при 5 = 0, в непримитивной алгебре, когда умножение образует группу,

5 может быть любым, кроме нуля алгебры.

Представим теперь заданную функцию в непримитивной алгебре из примера 6. При заданном разделении переменных находим, что в нулевой строке наибольшее число раз встречается 1, в первой строке — 0, во второй — 3 и 1, в третьей — 2, в четвертой — 1 и в пятой 0. Для уменьшения ко-

личества операций умножения положим 5 = т, так как известно, что а х т = а. Поскольку уравнение [ х т = Ь имеет единственное решение для произвольных Ь, находим

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

сп х 4? 1 = і ¿с = і і п п п п п

сп х чз4 = п ¿і = п п п п п п п

ел х 43 = 3 = 3 , А = п п 3 п п п

СП х 43 = 2 ’ ¿3 = 2 п п п 2 п п

СП х 4? = і ¿4 = і п п п п і п

СП х 43 = п ¿5 = п п п п п п 0

Нулевые столбцы в матрице Б не нарушают условия теоремы разложения, а только лишь указывают на то, что данная спектральная функция не используется в разложении. Так как имеется возможность приравнять функцию-коэффициент к нулю, то нулевая спектральная функция может быть произвольной (показано знаком *),

2 і і і п п і п п п і 3 3 3

п п п п п п п п * п п п п п

3 і 3 і п 3 п п п п X 3 і 3 і

2 2 2 2 п п п 2 п п 3 3 3 3

і 3 п і і п п п п п 3 2 п 3

п п п п_ о п п п п * п п п п_

Переставим столбцы матрицы Б так, чтобы тривиальные функции-коэффициенты были последними в разложении:

2 і і і п п і п п п 3 2 п 3

п п п п п п п п * п 3 і 3 і

3 і 3 і _ п 3 п п п п X і 3 3 3

2 2 2 2 п п п 2 п п 3 3 3 3

і 3 п і і п п п п п п п п п

п п п п_ п п п п п * п п п п_

В итоге

/(;) = еп(х) и

3 3

2 (*”) + Єі(Х') х і (*”) +

п 3

_3 і

+ Є9(Х') х

(*-) + е,(*г

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

4. РЕАЛИЗАЦИЯ МУЛЬТИПЛИКАТИВНЫХ ФОРМ

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

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

При программной реализации многозначные унимодальные функции легко вычисляются с помощью операций сравнения и условного перехода. Реализация алгебраических операций также не представляет трудности. Так как необходимо обеспечить возможность выбора нуля алгебры, сложение следует реализовать с помощью поразрядной операции суммы по модулю 2 следующим образом: а + Ь = а ® Ь ® V. Операция умножения примитивной алгебры может быть построена на основе арифметического сложения путем его усечения, т. е. установки результата умножения в V, когда первый операнд равен V. При этом, очевидно, необходимо использовать операцию сравнения, сложения и условного перехода. Умножение непримитивной алгебры также может быть построено на основе операции сложения путем ее усечения по двум операндам и смещения результата сложения на 1.

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

ЗАКЛЮЧЕНИЕ

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

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

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

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

ЛИТЕРАТУРА

1. Жлояский С. 5. Об алгоритмических трудностях синтеза минимальных контактных схем // Проблемы кибернетики. Вып. 2. М.: Физматгиз, 1959. - С. 75—121.

2. Co/ouwg Large Graph // Proc. of the 1981 S.E. Conf. on Graph Theory, Combinatorics and Computer Science. — 1981.

3. Малюгия 5. Д. Реализация булевых функций арифметическими полиномами // Автоматика и телемеханика. —

1982. — № 4. — С. 84—93.

4. Малюгия 5. Д. Реализация кортежей булевых функций посредством линейных арифметических полиномов // Автоматика и телемеханика. — 1984. — № 2. — С. 114—122.

5. 5ьтзваяе^ 5. С., Малюгия 5. Д. Кратные логические вычисления // Автоматика и телемеханика. — 1998. — № 6. — C. 163—171.

6. /ee C. <. Representation of switching circuits by binary decision programs // Bell Systеm Technical Journal. — 1959. — Vol. 38, No. 4. — P. 985.

7. $Neus 6. %. Binary decision diagrams // IEEE Trans. Computers. — 1978. — Vol. C-27, No. 6. — P. 509—516.

8. 5emrtezQ %. Operations with Respect to wich the Elements of Boolean Algebra from a Group // Trans. Amer. Math. Soc. — 1924. — Vol. 26. — P. 171—175.

9. CoA« 0. Switching Functions Canonical Form over Integer Fields (Ph.D. Thesis). — Cambridge: Harvard Univ., 1960.

10. Мерекия Ж 5. Арифметические формы записи булевых выражений и их применение для расчета надежности схем // Вычислительные системы. Вып. 7. — Новосибирск: Ин-т математики СО АН СССР, 1963. — С. 13—23.

11. 7osz'c =. Analytical Representation of an m-Valued Logical Function over the Ring of Integers Modulo m (Ph.D. Thesis). — Beograd, 1972.

12. Guee« ". +. Reed-Muller Expansions of Incompletely Specified Functions // Proc. IEE. — 1987. — Part E-134. — P. 228—236.

13. Фараджиев P Г., Диикия ^. З. Преобразования Лапласа-Галуа в теории последовательных машин // Докл. АН СССР. — 1966. — Т. 166, № 36.

14. 5aGeu C. 0. Discrete convolution via Mersenne transorm // IEEE Trans. Comp. — 1972. — Vol. C-21.

15. Макклеллая Дж. X., Рейдер ¥. М Применение теории чисел в цифровой обработке си гналов. — М.: Радио и связь,

1983.

16. 5arfemacAeu +. Einige Satze uber Reihen von allgemeinen Orthogonalfunktionen // Math. Ann. — 1922. — Vol. 87. P. 112— 138.

17. Закревский k. Д. Алгоритм декомпозиции булевых функций // Тр. Сибирского физико-техн. ин-та. — 1964. — Вып. 44. — С. 5—16.

18. $sAe«Aws? 5. /. The Decomposition of Switching Functions // Bell Laboratory Report. — 1952. — No. BL-1(11). — P. 541 — 642.

19. Ловаров Г. S. О функциональной разделимости булевых функций // Докл. АН СССР. — 1954. — Т. 94. — С. 801 — 803.

20. CmuW/V +. $. Non-Disjunctive Decomposition // Bell Laboratory Report. — 1958. — No. 19. — P. 49.

21. бАаииои C.(. The Synthesis of Two-Terminal Switching Circuits // Bell System Technical Journal. — 1949. — No. 28. — P. 59—98. — Vol. 29. - P. 74—116.

22. /ecAweu 5. -. Harmonic Analysis of Switching Functions // Recent Developments in Switching Theory. — Academic Press, 1971. — P. 121—228.

23. Хариовский М Г., Москалев W. С. Спектральные методы анализа и синтеза дискретных устройств. — М.: Энергия, 1973.

24. Луиаяов О. Г. Об одном методе синтеза схем // Изв. вузов. Радиофизика. — 1958. — № 1. — С. 120—140.

25. Рьошаяе^ 5. С. Спектральные методы в логической обработке данных // Автоматика и телемеханика. — 2001. — № 10. — С. 28—53.

26. %oo/e G. The Laws of Thought. — London: Macmillan, 1854.

27. Жлояский С. 5. Функциональные построения в N-значной логике // Тр. Матем. ин-та АН СССР им. В. А. Стеклова. — 1958. — Т. 51. — С. 5—142.

28. PUawesz'c =. C., /ee (. 6., 6м/'й К. 6. A Many-Valued Algebra for Switching Systems // IEEE Trans. Computers. — 1970. — Vol. C-19. — P. 964—971.

29. Жегалкия j. j. О технике вычисления предложений в символической логике // Математический сборник. — 1927. — Т. 43. — С. 9—28.

30. 5eeG /. 6. A class of multiple error correction codes and their decoding scheme // IRE Trans. on Inform. Theory. — 1954. — Vol. 4. — P. 38—42.

31. 0«//eu " (. Application of Boolean algebra to switching circuit design and to error detection // IRE Trans. Electron. Comput. — 1954. — Vol. EC-3. — P. 6—12.

32. :a/sA -. /. A closed set of orthogonal functions // Amer. J. Math. — 1923. — Vol. 55. — P. 5—24.

33. +aau $. Zur Theorie der orthogonolen Funktionensysteme // Math. Ann. — 1910. — Vol. 69. — P. 331—371.

34. Рилеякия S. ^. Класс полностью ортогональных систем // Изв. АН СССР. Сер. Математика. — 1947. - № 11. — С. 363—400.

35. CAuesfewso« +. (. A class of generalized Walsh functions // Pacific J. Math. — 1955. — Vol. 5. — P. 17—31.

S 7<?7-££-44

(-maL/: v\N@LpM.uM □

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