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

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

CC BY
82
18
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МУЛЬТИОПЕРАЦИЙ / СТАНДАРТНАЯ ФОРМА / АЛГОРИТМ / МИНИМИЗАЦИЯ / ПЕРЕСЕЧЕНИЕ / MULTIOPERATION / THE STANDARD FORM / ALGORITHM / MINIMISATION / CROSSING

Аннотация научной статьи по математике, автор научной работы — Перязев Николай Алексеевич, Яковчук Инна Александровна

В статье представлен алгоритм минимизации мультиопераций в классе стандартных форм.

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

Похожие темы научных работ по математике , автор научной работы — Перязев Николай Алексеевич, Яковчук Инна Александровна

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

Minimisation of multioperations in a class Standard forms

In article the algorithm of minimisation of multioperations in a class of standard forms is presented.

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

Серия «Математика»

2009. Т. 2, № 2, С. 117-125

Онлайн-доступ к журналу: http://isu.ru/izvestia

УДК 519.7

Минимизация мультиопераций в классе стандартных форм *

Н. А. Перязев

Восточно-Сибирская государственная академия образования И. А. Яковчук

Восточно-Сибирская государственная академия образования

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

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

1. Мультиоперации. Стандартная форма мультиопераций

Отображение из Ап в А — называется п-местной операцией на А (будем допускать случай п = 0). Множество всех п-местных опрераций на А обозначаем через РД, если при этом А является к-элементным множеством, то используем обозначение РЩ.

Пусть В(А) — множество всех подмножеств А, в том числе 0. Отображение из Ап в В (А) называется п-местной мультиоперацией на А (используется также термин — частичная гипероперация [1]). Для множества всех п-местных мультиопераций на А используем обозначение НД, при |А| = к, соответственно, обозначаем так НЩ. Используем также обозначения Нд = Ц1 п>о НА и Н = и„>о НЩ.

Суперпозиция мультиопераций определяется следующим образом

* Работа выполнена при финансовой поддержке РФФИ, гранты 07-01-00240 и

09-01-00476.

Следуя [2] мультиоперацию f € НД на множестве A = {1, 2} можно представить как отображение

f : {1, 2}П ^ {0,1, 2, 3}, получаемых из f при кодировке

0 ^ 0; {1} ^ 1; {2} ^ 2; {1, 2} ^ 3.

При этом n-местную мультиоперацию f задаем векторной формой (ai,а2п), где f (ai,an) = di и (ai — 1,an — 1) есть представление i в двоичной системе счисления.

Введем постоянные обозначения для некоторых функций. Бинарная мультиоперация П € Н|, определяется так n(a, b) = {a} П {b}. Как принято будем в дальнейшем использовать суффиксную форму записи n(a, b) = (a П b). Очевидно, что эта мультиоперация коммутативна и ассоциативна. Поэтому, как обычно, несущественные скобки будем опускать.

Мультиоперации d^ € НП определим через их векторное задание

diПа = (3,..., 3,a, 3,..., 3), (1 < i < 2n),

где a € {0,1, 2}. В частности d0)Q, = (a).

Несложно заметить, что любую мультиоперацию f € НП и f = (3,..., 3) можно представить следующим образом:

f (xi, ...,Жп) = П dj(xi, ...,Жп), j

где dj € { d¿n, |a € {1, 2}}, причем для каждой f множество компонент разложения {dj} единственно.

Назовем такое каноническое представление совершенной стандартной формой.

Очевидным образом совершенную стандартную форму можно обобщить.

Пусть f € Щ. Тогда следующее представление назовем стандартной формой мультиоперации [3]

f (xi,...,xn) = п dj (xii ,...,x¿m), с1.1)

j

где dj € {djm | 0 < m < n, a € {0,..., 3}}.

Пример 1. Представим мультиоперацию f € НП заданной векторно f (xi, Х2, X3) = (32323030) стандартной формой.

f (Х1,Х2,Хз) = d222 (Х1,Хз) П d420 (Х1,Хз).

МИНИМИЗАЦИЯ МУЛЬТИОПЕРАЦИЙ В КЛАССЕ СТАНДАРТНЫХ ФОРМ 119 В то же время

/(Ж1,Ж2,Жз) = ¿2^2 (хз) П ¿42! (Ж1, Ж3)

Как видим, представление мультиопераций стандартной формой не единственно.

2. Алгоритм минимизации мультиопераций в классе стандартных форм

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

Пусть дана п - местная мультиоперация / € НЩ, заданная векторной формой / = (а1,...,а2п), где /(а1,...,ага) = аг, (а1,...,ага) является 1-м набором при натуральном упорядочивании наборов, (1 < г < 2Щ).

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

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

На вход алгоритма подается вектор а, представляющий мультиоперацию /.

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

Перейдем к описанию алгоритма.

Ш!аг 1. Получим все возможные представления мультиоперации / в следующем виде:

/ = Л,0 П ^1 П Л,2, (2.1)

где Л-0 = (в1, •••, в2п ), Л-1 = (71,---,72п ), ^2 = (^1,...,^2" ), вг € {0, 3}, 7г € {1, 3}, 5г € {2, 3}.

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

Рассмотрим различные варианты значений к:

- к = 0.

В этом случае мультиоперация имеет единственное представление

/(а) = ^1 ( а) П Л,2( а)

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

Пусть / = (31123321), тогда Лі = (31133331), Л-2 = (33323323).

- к = 1.

Одна компонента од векторного представления мультиоперации / равна нулю. В таблице (1) приведены возможные 5 вариантов значений соответствующих ¿-компонент мультиопераций Ло, Лі,Л2, также представленых в векторном виде.

Таблица 1.

номер варианта і - компонента

Ло Лі Л-2

1 3 1 2

2 0 1 3

3 0 1 2

4 0 3 2

5 0 3 3

- к > 1.

Очевидно, что для к наборов на которых а = 0 необходимо рассмотреть 5к возможных перестановок соответствующих значений ¿-компонент мультиопераций Ло,Л,1,Л,2.

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

Ш!аг 2. Заменим все мультиоперации в каждом из 5к представлений, полученных на первом шаге алгоритма булевыми функциями. Обозначим через

вг — ¿ - компоненты векторного представления булевых функций /о /ъ

аг — соответствующие им компоненты векторного представления мультиопераций Ло, Л-1, Л-2.

Тогда

в = / 1, если аг = 3;

\ 0, если аг = 3.

Итак, на втором шаге алгоритма мы получим 3 ■ 5к булевых функций. Отметим, что каждое представление мультиоперации описывается тремя булевыми функциями /о, /1, /2.

Ш!аг 3. Для каждой, полученной на втором шаге алгоритма булевой функции, найдем кратчайшую ДНФ.

Ш!аг 4. Вычислим сложность каждого представления мультиоперации как сумму элементарных конъюнкций, входящих в кратчайшие ДНФ булевых функций /о, /1, /2, описывающих данное представление. Определим номер первого представления мультиоперации с наименьшей сложностью — представление под данным номером, записанное в стандартной форме и будет выходными данными алгоритма.

Для того, чтобы перейти от булевых функций к записи представления мультиоперации в стандартной форме необходимо каждой элементарной конъюнкции, входящей в кратчайшие ДНФ булевых функций /а, где а € {0,..., 2} поставить в соответствие функцию 63(ж^, ...,Жгт), такую что 63 € {б^ | 0 < т < п}.

Тогда представление вида

/ (Ж1,...,Жга) = р| (Жгх ,...,Жгт ),

3

является стандартной формой мультиоперации /.

На этом описание алгоритма окончено.

Продемонстрируем работу алгоритма на следующем примере.

Пример 2. На вход алгоритма подана мультиоперация / (Ж1 ,Ж2,Жз) = (33201210).

Шаг 1. Найдем все представления данной мультиоперации в виде

/ = Л0 П Л1 П Л2.

Количество нулей в векторном представлении мультиоперации равно двум, поэтому возможно 25 различных вариантов ее представления. Все варианты представлены в таблице 2. Значения компонент мультиопераций Ло ,^1,^2, соответствующих нулевым компонентам мультиоперации / выделены шрифтом.

Шаг 2. Заменим мультиоперации Ло,Л,1,Л,2 булевыми функциями. Результат замены представим в таблице 3.

Шаг 3. Для каждой булевой функции, полученной на втором шаге алгоритма найдем кратчайшую. Результаты представлены в таблице 4.

Шаг 4. Из таблицы 4 видно, что минимальную сложность имеют пять представлений мультиоперации, соответствующие разложениям под номерами 1, 19, 20, 24, 25. Они имеют сложность четыре. В качестве результата работы алгоритма берется первое представление с наименьшей сложностью — это представление, соответствующее разложению под номером 1.

Запишем его в стандартной форме

/(Ж1,Ж2,Жз) = б4д(Ж2,Жз) П б3д(Ж1, Жз) П б222(Ж1 ,Ж2) П б422(Ж1,Жз).

Таблица 2.

Варианты представления мультиоперации

номер варианта Ло Л-1 Л-2

1 (33333333) (33311311) (33223232)

2 (33333330) (33311311) (33223233)

3 (33333330) (33311311) (33223232)

4 (33333330) (33311313) (33223232)

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

5 (33333330) (33311313) (33223233)

6 (33303333) (33311311) (33233232)

7 (33303330) (33311311) (33233233)

8 (33303330) (33311311) (33233232)

9 (33303330) (33311313) (33233232)

10 (33303330) (33311313) (33233233)

11 (33303333) (33311311) (33223232)

12 (33303330) (33311311) (33223233)

13 (33303330) (33311311) (33223232)

14 (33303330) (33311313) (33223232)

15 (33303330) (33311313) (33223233)

16 (33303333) (33331311) (33223232)

17 (33303330) (33331311) (33223233)

18 (33303330) (33331311) (33223232)

19 (33303330) (33331313) (33223232)

20 (33303330) (33331313) (33223233)

21 (33303333) (33331311) (33233232)

22 (33303330) (33331311) (33233233)

23 (33303330) (33331311) (33233232)

24 (33303330) (33331313) (33233232)

25 (33303330) (33331313) (33233233)

Таблица 3.

Результат замены булевыми функциями

номер варианта /о /і /2

1 (00000000) (00011011) (00110101)

2 (00000001) (00011011) (00110100)

3 (00000001) (00011011) (00110101)

4 (00000001) (00011010) (00110101)

5 (00000001) (00011010) (00110100)

6 (00010000) (00011011) (00101001)

7 (00010001) (00011011) (00100100)

8 (00010001) (00011011) (00100101)

9 (00010001) (00011010) (00100101)

10 (00010001) (00011010) (00100100)

11 (00010000) (00011011) (00110101)

12 (00010001) (00011011) (00110100)

13 (00010001) (00011011) (00110101)

14 (00010001) (00011010) (00110101)

15 (00010001) (00011010) (00110100)

16 (00010000) (00001011) (00110101)

17 (00010001) (00001011) (00110100)

18 (00010001) (00001011) (00110101)

19 (00010001) (00001010) (00110101)

20 (00010001) (00001010) (00110100)

21 (00010000) (00001011) (00100101)

22 (00010001) (00001011) (00100100)

23 (00010001) (00001011) (00100101)

24 (00010001) (00001010) (00100101)

25 (00010001) (00001010) (00100100)

Таблица 4.

Минимальные ДНФ

номер варианта /о /1 /2 сложность

1 - ж2ж3 V х1Х3 Х1х2 V ж1ж3 4

2 Ж1Ж2Ж3 ж2ж3 V х1Х3 Х1х2 V ж1ж2ж3 5

3 Ж1Ж2Ж3 ж2ж3 V х1Х3 Х1х2 V ж1ж3 5

4 Ж1Ж2Ж3 х1 Х3 V ж1ж2ж3 Х1х2 V ж1ж3 5

5 Ж1Ж2Ж3 х1 Х3 V ж1ж2ж3 Х1х2 V ж1ж2ж3 5

6 Ж1Ж2Ж3 ж2ж3 V х1Х3 ж2ж3 V х1Х3 5

7 Ж2Ж3 ж2ж3 V х1Х3 Х1х2Х3 V ж1ж2ж3 5

8 Ж2Ж3 ж2ж3 V х1Х3 ж1ж3 V Х1х2Х3 5

9 Ж2Ж3 х1 Х3 V ж1ж2ж3 ж1ж3 V Х1х2Х3 5

10 Ж2Ж3 х1 Х3 V ж1ж2ж3 Х1х2Х3 V ж1ж2ж3 5

11 Ж1Ж2Ж3 ж2ж3 V х1Х3 Х1х2 V ж1ж3 5

12 Ж2Ж3 ж2ж3 V х1Х3 Х1х2 V ж1ж2ж3 5

13 Ж2Ж3 ж2ж3 V х1Х3 Х1х2 V ж1ж3 5

14 Ж2Ж3 х1 Х3 V ж1ж2ж3 Х1х2 V ж1ж3 5

15 Ж2Ж3 х1 Х3 V ж1ж2ж3 Х1х2 V ж1ж2ж3 5

16 Ж1Ж2Ж3 х1Х3 V ж1ж2 Х1х2 V ж1ж3 5

17 Ж2Ж3 х1Х3 V ж1ж2 Х1х2 V ж1ж2ж3 5

18 Ж2Ж3 х1Х3 V ж1ж2 Х1х2 V ж1ж3 5

19 Ж2Ж3 х1Х3 Х1х2 V ж1ж3 4

20 Ж2Ж3 х1Х3 Х1х2 V ж1ж2ж3 4

21 Ж1Ж2Ж3 х1Х3 V ж1ж2 ж1ж3 V Х1х2Х3 5

22 Ж2Ж3 х1Х3 V ж1ж2 Х1х2Х3 V ж1ж2ж3 5

23 Ж2Ж3 х1Х3 V ж1ж2 ж1ж3 V Х1х2Х3 5

24 Ж2Ж3 х1Х3 ж1ж3 V Х1х2Х3 4

25 Ж2Ж3 х1Х3 Х1х2Х3 V ж1ж2ж3 4

3. Тестирование алгоритма

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

Проведена минимизация всех мультиопераций в классе стандартных форм для п = 2 и п = 3.

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

Ьаъег (2) = 2.38, Ьаъег (3) = 4.14, где Ьаъег — средняя СЛОЖНОСТЬ минимального представления мультиопераций в классе стандартных форм.

Распределение полученных минимальных представлений при п = 2 отражено в таблице 5 и при п = 3 в таблице 6. Используем следующие обозначения: Ь — сложность мультиопераций; к — количество мультиопераций, имеющих соответствующую сложность, Р — процент от числа всех мультиопераций.

Таблица 5.

L 1 2 3 4

k 24 124 92 14

P 9.45% 48.82% 36.22% 5.51%

Таблица 6.

L 1 2 3 4 5 6 7 8

k 78 1765 13319 28966 17144 3724 512 26

P 0.12% 2.69% 20.32% 44.2% 26.16% 5.69% 0.78% 0.04%

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

Список литературы

1. Romov B.A. The completeness problem in partial hyperclones / B. A. Romov // Discrete Mathematics, 2006. — 306. — P. 1405—1414.

2. Перязев Н.А. Клоны, ко-клоны, гиперклоны и суперклоны / Н. А. Перязев // Ученые записки Казанского государственного университета. Серия: Физикоматематические науки; Казань, 2009. — Т. 151. Книга 2. — С. 120-125.

3. Перязев Н.А. Супеклоны мультиопераций /Н. А. Перязев // Труды VIII Международной конференции "Дискретные системы в теории управляющих систем". — М.: МАИС Пресс, 2009. — С.233-238.

4. Дискретная математика и математические вопросы кибернетики / Под ред. С.В.Яблонского и О.Б.Лупанова / — М.: Наука, 1974. —Т.1.— 312 с.

5. Избранные вопросы теории булевых функций. / Под ред. С.Ф. Винокурова и Н.А. Перязева / — М.: Физматлит, 2001. — 192 с.

N. A. Peryazev, I. A. Yakovjuk

Minimisation of multioperations in a class Standard forms

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

Abstract. In article the algorithm of minimisation of multioperations in a class of standard forms is presented.

Keywords: multioperation, the standard form, algorithm, minimisation, crossing.

Перязев Николай Алексеевич, доктор физико-математических наук, профессор, кафедра математической информатики,

Восточно-Сибирская государственная академия образования,

664011, Иркутск, Нижняя набережная, 6; тел.: (3952)240477

(nikolai.baikal@gmail.com)

Яковчук Инна Александровна, аспирант, кафедра математической информатики, Восточно-Сибирская государственная академия образования, 664011, Иркутск, Нижняя набережная, 6; тел.: (3952)240477 (inna-andrey@list.ru)

Peryazev Nikolay, East Siberian Academy of Education, 6, Nig-naya Naberegnaya, Irkutsk, 664011 professor, Phone: (3952)240477

(nikolai.baikal@gmath.com)

Yakovjuk Inna, East Siberian Academy of Education, 6, Nig-

naya Naberegnaya, Irkutsk, 664011 aspirant, Phone: (3952)240477

(inna-andrey@list.ru)

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