-
Формальная постановка задачи.
По условию курсовой работы, нам на единичном гиперкубе задана функция алгебры логики в виде множества вершин, на которых она принимает единичное значение. Необходимо из всего множества вершин выделить основные вершины с висящими на них элементами функции всех размерностей. Основные вершины выбираются следующим образом: берется первая по списку вершина. Для нее находятся элементы функции всех размерностей (принадлежащие нашей функции). Из вершин, которые не покрыты элементами функции первой выбранной вершины, берется первая вершина и для нее так же ищутся элементы функции всех размерностей. И т.д. пока не будут покрыты все вершины. Из элементов функции всех размерностей выделить те, которые являются не избыточными. Т.е., например, если у некоторого ребра покрыты вершины, на которых оно «держится», то покрытие самого ребра будет избыточным. Используя не избыточные элементы, строится не избыточная оболочка функции.
-
Пункты решения задачи.
-
Построение таблицы элементов заданной функции алгебры логики.
-
1
2
8
30
1
X0X1X2X3X4
■
-
-
-
2
X0X1X2X3X4
-
■
-
-
3
X0X1X2X3X4
j1
j0
-
-
5
X0X1X2X3X4
j2
-
-
-
6
X0X1X2X3X4
-
j2
-
-
7
X0X1X2X3X4
j12
j02
■
-
8
X0X1X2X3X4
-
-
-
-
9
X0X1X2X3X4
j3
-
j0
-
10
X0X1X2X3X4
-
j3
j1
-
11
X0X1X2X3X4
j13
j03
j01
-
12
X0X1X2X3X4
-
-
j2
-
13
X0X1X2X3X4
j23
-
j02
-
17
X0X1X2X3X4
j4
-
-
-
18
X0X1X2X3X4
-
j4
-
-
19
X0X1X2X3X4
j14
j04
-
-
21
X0X1X2X3X4
j24
-
-
-
22
X0X1X2X3X4
-
j24
-
j3
23
X0X1X2X3X4
j124
j024
-
j03
24
X0X1X2X3X4
-
-
j4
-
25
X0X1X2X3X4
j34
-
j04
-
27
X0X1X2X3X4
j134
-
-
-
28
X0X1X2X3X4
-
-
j24
j1
29
X0X1X2X3X4
j234
-
j024
j01
30
X0X1X2X3X4
-
-
-
■
31
X0X1X2X3X4
-
-
-
j0
Рассмотрим первую по списку вершину. Это вершина 1.
Для выбранной вершины 0 определим ближайших соседей по всем координатным осям.
Jj = J* + (-1)Xj 2j, где Jj - ближайший сосед по j-ой координате; J* - выбранная нами вершина. Так как у нас задан пятимерный гиперкуб, то определять ближайших соседей будем по пяти осям:
J* = 0 ~ 1 0 0 0 0
X0 X1 X2 X3 X4
J0
= J*
+ (-1)1
20=1-1=0
не принадлежит T;
J1 = J* + (-1)0 21=1+2=3;
J2 = J* + (-1)0 22=1+4=5;
J3 = J* + (-1)0 23=1+8=9;
J4 = J* + (-1)0 24=1+16=17.
J∑ = {Ji: i=1,2,3,4}={J1, J2, J3, J4}={3,5,9,17}.
J∑ ∩ T ={3,5,9,17}.
Получили множество вершин, на которых исходная функция принимает единичное значение.
j1 = {1,3};
j2 = {1,5};
j3 = {1,9};
j4 = {1,17}.
Таким образом, мы получили элементы функции размерности 1.
Найдем элементы функции размерности 2:
(j1, j2) => J12 = J1 + J2 - J*=3+5-1=7;
(j1, j3) => J13 = J1 + J3 - J*=3+9-1=11;
(j1, j4) => J14 = J1 + J4 - J*=3+17-1=19;
(j2, j3) => J23 = J2 + J3 - J*=5+9-1=13;
(j2, j4) => J24 = J2 + J4 - J*=5+17-1=21;
(j3, j4) => J34 = J3 + J4 - J*=9+17-1=25.
J∑1 = {J12, J13, J14, J23, J24, J34}={7,11,19,13,21,25}.
Множество диагональных элементов.
J∑1 ∩ T ={7,11,19,13,21,25}.
Элементы размерности 2:
j12 = {1,3,5,7};
j13 = {1,3,9,11};
j14 = {1,3,17,19};
j23 = {1,5,9,13};
j24 = {1,5,17,21};
j34 = {1,9,17,25}.
Найдем элементы функции размерности 3:
(j12,
j13,
j23)
=> J123
= J1
+ J2
+ J3
- 2J*=3+5+9-2=15
не принадлежит T;
(j12, j14, j24) => J124 = J1 + J2 + J4 - 2J*=3+5+17-2=23;
(j13, j14, j34) => J134 = J1 + J3 + J4 - 2J*=3+9+17-2=27;
(j23, j24, j34) => J234 = J2 + J3 + J4 - 2J*=5+9+17-2=29.
J∑2 ={J124,J134,J234}={23,27,29}.
J∑2 ∩ T ={23,27,29}.
Элементы функции размерности 3:
j124 = {1,3,5,17,7,19,21,23};
j134 = {1,3,9,17,11,19,25,27};
j234 = {1,5,9,17,13,21,25,29}.
Элементов функции размерности 4 и 5 у данной функции для опорной вершины 1 нет.
Так как для элемента размерности 4, необходимо наличие двух 3-х мерных кубов смежных по одной координате.
Рассмотрим следующую непокрытую вершину. Это вершина 2.
J* = 2 ~ 0 1 0 0 0
X0 X1 X2 X3 X4
J0 = J* + (-1)0 20=2+1=3;
J1
= J*
+
(-1)1
21=2-2=0
не принадлежит T;
J2 = J* + (-1)0 22=2+4=6;
J3 = J* + (-1)0 23=2+8=10;
J4 = J* + (-1)0 24=2+16=18 .
J∑ = { Ji : i=0,2,3,4}={J0,J2,J3,J4}={3,6,10,18}.
J∑ ∩ T ={3,6,10,18}.
j0 = {2,3};
j2 = {2,6};
j3 = {2,10};
j4 = {2,18}.
Таким образом, мы получили элементы функции размерности 1.
Найдем элементы функции размерности 2:
(j0, j2) => J02 = J0 + J2 - J*=3+6-2=7;
(j0, j3) => J03 = J0 + J3 - J*=3+10-2=11;
(j0, j4) => J04 = J0 + J4 - J*=3+18-2=19;
(j2,
j3)
=> J23
= J2
+ J3
- J*=6+10-2=14
не принадлежит T;
(j2, j4) => J24 = J2 + J4 - J*=6+18-2=22;
(j3,
j4)
=> J34
= J3
+ J4
- J*=10+18-2=26
не принадлежит T.
J∑1={ J02,J03,J04,J24}={7,11,19,22}.
Множество диагональных элементов.
J∑1 ∩ T ={7,11,19,22}.
Элементы размерности 2:
j02 = {2,3,6,7};
j03 = {2,3,10,11};
j04 = {2,3,18,19};
j24 = {2,6,18,22}.
Найдем элементы функции размерности 3:
(j02, j04, j24) => J024 = J0 + J2 + J4 - 2J*=3+6+18-4=23.
J∑2={J024}={23}.
J∑2 ∩ T ={23}.
Элементы размерности 3:
j024 ={2,3,6,18,7,19,22,23}.
Элементов функции размерности 4 и 5 у данной функции для опорной вершины 2 нет.
Так как для элемента размерности 4, необходимо наличие двух 3-х мерных кубов смежных по одной координате.
Рассмотрим следующую непокрытую вершину. Это вершина 8.
J* = 8 ~ 0 0 0 1 0
X0 X1 X2 X3 X4
J0 = J* + (-1)0 20=8+1=9;
J1 = J* + (-1)0 21=8+2=10;
J2 = J* + (-1)0 22=8+4=12;
J3
= J*
+
(-1)1
23=8-8=0
не принадлежит T;
J4 = J* + (-1)0 24=8+16=24 .
J∑ = {Ji: i=0,1,2,4}={J0,J1,J2,J4}={9,10,12,24}.
J∑ ∩ T ={9,10,12,24}.
j0 = {8,9};
j1 = {8,10};
j2 = {8,12};
j4 = {8,24}.
Таким образом мы получили элементы функции размерности 1.
Найдем элементы функции размерности 2:
(j0, j1) => J01 = J0 + J1 - J*=9+10-8=11;
(j0, j2) => J02 = J0 + J2 - J*=9+12-8=13;
(j0, j4) => J04 = J0 + J4 - J*=9+24-8=25;
(j1,
j2)
=> J12
= J1
+ J2
- J*=10+12-8=14
не принадлежит T;
(j1,
j4)
=> J14
= J1
+ J4
- J*=10+24-8=26
не принадлежит T;
(j2, j4) => J24 = J2 + J4 - J*=12+24-8=28.
J∑1 ={J01,J02,J04,J24}={11,13,25,28}.
Множество диагональных элементов.
J∑1 ∩ T ={11,13,25,28}.
Элементы размерности 2:
j01 = {8,9,10,11};
j02 = {8,9,12,13};
j04 = {8,9,24,25};
j24 = {8,12,24,28}.
Найдем элементы функции размерности 3:
(j02, j04, j24) => J024 = J0 + J2 + J4 - 2J*=9+12+24-16=29.
J∑2={J024}={29}.
J∑2 ∩ T ={29}.
Элементы размерности 3:
j024 ={8,9,12,24,11,13,28,29}.
Элементов функции размерности 4 и 5 у данной функции для опорной вершины 8 нет.
Так как для элемента размерности 4, необходимо наличие двух 3-х мерных кубов смежных по одной координате.
Рассмотрим следующую непокрытую вершину. Это вершина 30.
J* = 30 ~ 0 1 1 1 1
X0 X1 X2 X3 X4
J0 = J* + (-1)0 20=30+1=31;
J1 = J* + (-1)0 21=30-2=28;
J2
= J*
+
(-1)0
22=30-4=26
не принадлежит T;
J3 = J* + (-1)1 23=30-8=22;
J4
= J*
+
(-1)0
24=30-16=14
не принадлежит T.
J∑ = {Ji: i=0,1,4}={J0,J1,J4}={31,28,22}.
J∑ ∩ T ={31,28,22}.
j0 = {30,31};
j1 = {30,28};
j4 = {30,22}.
Таким образом мы получили элементы функции размерности 1.
Найдем элементы функции размерности 2:
(j0, j1) => J01 = J0 + J1 - J*=31+28-30=29;
(j0, j3) => J03 = J0 + J3 - J*=31+22-30=23;
(j1,
j3)
=> J13
= J1
+ J3
- J*=28+22-30=14
не принадлежит T.
J∑1 ={J01,J03}={29,23}.
Множество диагональных элементов.
J∑1 ∩ T ={29,23}.
Элементы размерности 2:
j01 = {30,31,28,29};
j03 = {30,31,22,23}.
Элементов функции размерности 3, 4 и 5 у данной функции для опорной вершины 30 нет.
Для существования элемента размерности 3, необходимо на наличие трех смежных граней. Так как для элемента размерности 4, необходимо наличие двух 3-х мерных кубов смежных по одной координате.
-
Формирование списков основных вершин с указанием висящих на них элементов функции (всех размерностей).
Основная вершина |
Список висящих на них элементов функций всех размерностей |
1 |
j1(1,3), j2(1,5), j12(1,3,5,7), j3(1,9), j13(1,3,9,11), j23(1,5,9,13), j4(1,17), j14(1,3,17,19), j24(1,5,1,21), j124(1,3,5,17,21,7,19,23), j34(1,9,17,25), j134(1,3,9,11,17,25,19,27), j234(1,5,9,13,17,25,21,29) |
2 |
j0(2,3), j2(2,6), j02(2,3,6,7), j3(2,10), j03(2,3,10,11), j4(2,18), j04(2,3,18,19), j24(2,6,18,22), j024(2,3,6,7,18,22,19,23) |
8 |
j0(8,9), j1(8,10), j01(8,9,10,11), j2(8,12), j02(8,9,12,13), j4(8,24), j04(8,9,24,25), j24(8,12,24,28), j024(8,9,12,13,24,25,28,29) |
30 |
j3(30,22), j03(30,31,22,23), j1(30,28), j01(30,31,28,29), j0(30,31) |
-
Упорядочение списков элементов функции для каждой из основных вершин по убыванию размерностей висящих на них элементов функции.
Основная вершина |
Список висящих на них элементов функций всех размерностей, упорядоченные по убыванию размерности |
1 |
j124(1,3,5,17,21,7,19,23), j134(1,3,9,11,17,25,19,27), j234(1,5,9,13,17,25,21,29), j12(1,3,5,7), j13(1,3,9,11), j23(1,5,9,13), j14(1,3,17,19), j24(1,5,1,21), j34(1,9,17,25), j1(1,3), j2(1,5), j3(1,9), j4(1,17) |
2 |
j024(2,3,6,7,18,22,19,23), j02(2,3,6,7), j03(2,3,10,11), j04(2,3,18,19), j24(2,6,18,22), j0(2,3), j2(2,6), j3(2,10), j4(2,18) |
8 |
j024(8,9,12,13,24,25,28,29), j01(8,9,10,11), j02(8,9,12,13), j04(8,9,24,25), j24(8,12,24,28), j0(8,9), j1(8,10), j2(8,12), j4(8,24) |
30 |
j03(30,31,22,23), j01(30,31,28,29), j3(30,22), j1(30,28), j0(30,31) |
-
Анализ списков с целью выделения основных элементов функции.
-
Основная вершина
Элемент функции
Вершины
1
j124
1,3,5,17,21,7,19,23
j134
1,3,9,11,17,25,19,27
j234
1,5,9,13,17,25,21,29
j12
1,3,5,7j13
1,3,9,11j23
1,5,9,13j14
1,3,17,19j24
1,5,1,21j34
1,9,17,25j1
1,3j2
1,5j3
1,9j4
1,172
j024
2,3,6,7,18,22,19,23
j02
2,3,6,7j03
2,3,10,11
j04
2,3,18,19j24
2,6,18,22j0
2,3j2
2,6j3
2,10j4
2,188
j024
8,9,12,13,24,25,28,29
j01
8,9,10,11
j02
8,9,12,13j04
8,9,24,25j24
8,12,24,28j0
8,9j1
8,10j2
8,12j4
8,2430
j03
30,31,22,23
j01
30,31,28,29
j3
30,22j1
30,28j0
30,31
-
Выделение избыточных элементов функции.
|
|
1 |
2 |
3 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
17 |
18 |
19 |
21 |
22 |
23 |
24 |
25 |
27 |
28 |
29 |
30 |
31 |
1 |
x0x3 |
+ |
|
+ |
+ |
|
+ |
|
|
|
|
|
|
+ |
|
+ |
+ |
|
+ |
|
|
|
|
|
|
|
x0x2 |
+ |
|
+ |
|
|
|
|
+ |
|
+ |
|
|
+ |
|
+ |
|
|
|
|
+ |
+ |
|
|
|
|
|
x0x1 |
+ |
|
|
+ |
|
|
|
+ |
|
|
|
+ |
+ |
|
|
+ |
|
|
|
+ |
|
|
+ |
|
|
|
2 |
x1x3 |
|
+ |
+ |
|
+ |
+ |
|
|
|
|
|
|
|
+ |
+ |
|
+ |
+ |
|
|
|
|
|
|
|
8 |
x1x3 |
|
|
|
|
|
|
+ |
+ |
|
|
+ |
+ |
|
|
|
|
|
|
+ |
+ |
|
+ |
+ |
|
|
2 |
x1x2x4 |
|
+ |
+ |
|
|
|
|
|
+ |
+ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
x2x3x4 |
|
|
|
|
|
|
+ |
+ |
+ |
+ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
x1x2x4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+ |
+ |
|
|
|
|
|
+ |
+ |
x2x3x4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+ |
+ |
+ |
+ |
-
Построение не избыточной оболочки функции.
f(x)5=x0x2 \/ x0x1\/ x1x3 \/ x1x3 \/ x1x2x4 \/ x1x2x4