- •Индивидуальное задание
- •1. Формальная постановка задачи минимизации булевской функции
- •2. Минимизация функции с помощью процедуры Квайна - Мак-Клаcски
- •Набор не покрывающих друг друга импликант
- •3. Минимизация функции с численной процедуры минимизации на гиперкубах
- •Построение таблицы элементов функции.
- •Формирование списков элементов функции висящих на опорных вершинах
- •Упорядочивание списков элементов функции по убыванию размерности (для каждой опорной вершины)
- •Формирование списков основных элементов функции для каждой опорной вершины
- •Определение избыточных основных элементов функции
- •Получение неизбыточной оболочки заданной функции (получение минимальной формы)
- •Построение прямоугольной таблицы истинности для полученной формулы
3. Минимизация функции с численной процедуры минимизации на гиперкубах
Вариант № 4 (21) Т={0, 1, 2, 3, 4, 6, 8, 9, 10, 11, 12, 14, 17, 19, 21, 22, 25, 27}
-
Построение таблицы элементов функции.
Рассмотрим первую по списку вершину. Это вершина 0.
Для выбранной вершины 0 определим ближайших соседей по всем координатным осям.
Jj = J* + (-1)Xj 2j-1,
где Jj - ближайший сосед по j-ой координате;
J* - выбранная нами вершина.
Так как у нас задан пятимерный гиперкуб, то определять ближайших соседей будем по пяти осям:
J* = 0 ~ 0 0 0 0 0
J1 = J* + (-1)0 20=0+1=1;
J2 = J* + (-1)0 21=0+2=2;
J3 = J* + (-1)0 22=0+4=4;
J4 = J* + (-1)0 23=0+8=8;
J5 = J* + (-1)0 24=0+16=16.
J∑ = { Ji : i=1,5}={ J1, J2, J3, J4, J5}={1, 2, 4, 8, 16}.
J∑ ∩ T = {1, 2, 4, 8}.
Получили множество вершин, на которых (в дополнение к вершине 0) исходная функция принимает единичное значение.
j1= {0, 1};
j2= {0, 2};
j3= {0, 4};
j4= {0, 8}.
Таким образом мы получили элементы функции размерности 1.
Найдем элементы функции размерности 2:
(j1 , j2) => J12 = J1 +J2- J*=1+2-0=3;
(j1 , j3) => J13 = J1 +J3- J*=1+4-0=5;
(j1 , j4) => J14 = J1 +J4- J*=1+8-0=9;
(j2 , j3) => J23 = J2 +J3- J*=2+4-0=6;
(j2 , j4) => J24 = J2 +J4- J*=2+8-0=10;
(j3 , j4) => J34 = J3 +J4- J*=4+8-0=12;
J∑1={ J12, , J13, J14, J23, J24, J34} = {3; 5; 9; 6; 10; 12}.
Множество диагональных элементов.
J∑1 ∩ T = {3, 9, 6, 10, 12}.
Элементы размерности 2:
j12= {0, 1, 2, 3};
j14= {0, 1, 8, 9};
j23= {0, 2, 4, 6};
j24= {0, 2, 8, 10};
j34= {0, 4, 8, 12}.
Найдем элементы функции размерности 3:
J1 = J* + (-1)0 20=0+1=1;
J2 = J* + (-1)0 21=0+2=2;
J3 = J* + (-1)0 22=0+4=4;
J4 = J* + (-1)0 23=0+8=8;
J5 = J* + (-1)0 24=0+16=16.
(j12, j14, j24) => J124 = J1 + J2 + J4 - 2J*=1+2+8-0=11;
(j23, j24, j34) => J234 = J2 + J3 + J4 - 2J*=2+4+8-0=14;
J∑2 ={ J124, J234}={11, 14}.
J∑2 ∩ T={11, 14}.
Элементы функции размерности 3:
j124={0, 1, 2, 3, 8, 9, 10, 11};
j234={0, 2, 4, 6, 8, 10, 12, 14}.
Элементов функции размерности 4 и 5 у данной функции нет.
Рассмотрим следующую непокрытую вершину. Это вершина 17.
J* = 17 ~ 1 0 0 0 1
J1 = J* + (-1)1 20=17-1=16;
J2 = J* + (-1)0 21=17+2=19;
J3 = J* + (-1)0 22=17+4=21;
J4 = J* + (-1)0 23=17+8=25;
J5 = J* + (-1)1 24=17-16=1.
J∑ = { Ji : i=1,5}={ J1, J2, J3, J4, J5}={16, 19, 21, 25, 1}.
J∑ ∩ T = {19, 21, 25, 1}.
j2 = {17, 19};
j3 = {17, 21};
j4 = {17, 25};
j5 = {17, 1}.
Таким образом мы получили элементы функции размерности 1.
Найдем элементы функции размерности 2:
(j2 , j3) => J23 = J2 + J3 - J*=19+21-17=23;
(j2 , j4) => J24 = J2 + J4 - J*=19+25-17=27;
(j2 , j5) => J25 = J2 + J5 - J*=19+1-17=3;
(j3 , j4) => J34 = J3 + J4 - J*=21+25-17=29;
(j3 , j5) => J35 = J3 + J5 - J*=21+1-17=5;
(j4 , j5) => J45 = J4 + J5 - J*=25+1-17=9;
J∑1 = {J23, J24, J25, J34, J35, J45} = {23, 27, 3, 29, 5, 9}.
Множество диагональных элементов.
J∑1 ∩ T ={27, 3, 9}.
Элементы размерности 2:
j24 = {17, 19, 25, 27};
j25= {17, 19, 1, 3};
j45= {17, 25, 1, 9}.
Найдем элементы функции размерности 3:
(j24, j25, j45) => J245 = J2 + J4 + J5 - 2J* =19+25+1-34=11;
J∑2={ J245}={11}.
J∑2 ∩ T ={11}.
Элементы размерности 3:
j245 = {17, 19, 25, 27, 1, 3, 9, 11}.
Элементов функции размерности 4 и 5 для данной функции для вершины 17 нет.
Рассмотрим следующую непокрытую вершину. Это вершина 22.
J* = 22 ~ 0 1 1 0 1
J1 = J* + (-1)0 20=22+1=23;
J2 = J* + (-1)1 21=22-2=20;
J3 = J* + (-1)1 22=22-4=18;
J4 = J* + (-1)0 23=22+8=30;
J5 = J* + (-1)1 24=22-16=6.
J∑ = { Ji : i=1,5}={ J1, J2, J3, J4, J5}={23, 20, 18, 30, 6}.
J∑ ∩ T ={6}.
j5 = {22, 6};
Таким образом мы получили элементы функции размерности 1.
Элементов функции размерности 2, 3, 4 и 5 для данной функции для вершины 22 нет.
На основании полученных выше данных можем составить следующую таблицу:
Таблица элементов функции
|
|
0 |
17 |
22 |
0 |
|
- |
- |
|
1 |
j1 |
j5 |
- |
|
2 |
j2 |
- |
- |
|
3 |
j12 |
j25 |
- |
|
4 |
j3 |
- |
- |
|
6 |
j23 |
- |
j5 |
|
8 |
j4 |
- |
- |
|
9 |
j14 |
j45 |
- |
|
10 |
j24 |
- |
- |
|
11 |
j124 |
j245 |
- |
|
12 |
j34 |
- |
- |
|
14 |
j234 |
- |
- |
|
17 |
- |
|
- |
|
19 |
- |
j2 |
- |
|
21 |
- |
j3 |
- |
|
22 |
- |
- |
|
|
25 |
- |
j4 |
- |
|
27 |
- |
j24 |
- |