Скачиваний:
9
Добавлен:
01.05.2014
Размер:
600.06 Кб
Скачать

1. Основные понятия

Элементом n-мерного гиперкубабудем называть множество из 2mвершин (m= 0, 1, ... – размерность элемента гиперкуба), обладающих (n-m) равными координатами.

m= 0 – элемент – вершина;

m= 1 – элемент – ребро;

m= 2 – элемент – грань;

m3 – элемент – подкуб размерностиm.

На каждой вершине висит элементов гиперкуба размерностиm. Все семейство элементов гиперкуба – это покрытие множества его вершин.

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

Основной элемент функции– элемент функции, который не является подмножеством никакого другого элемента функции. Каждому основному элементу функции соответствует простая импликанта этой функции.

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

2. Процедура минимизации на гиперкубах

По условию задания, на 5-мерном гиперкубе задана функция алгебры логики в виде множества истинности Tf– вершин, на которых она принимает единичное значение. Необходимо из всего множества вершин выделить опорные вершины с висящими на них элементами функции всех размерностей. Опорные вершины выбираются следующим образом: берется первая по списку вершина. Для нее находятся элементы функции всех размерностей (принадлежащие нашей функции). Из вершин, которые не покрыты элементами функции первой выбранной вершины, берется первая вершина и для нее так же ищутся элементы функции всех размерностей. И т.д. пока не будут покрыты все вершины. Из элементов функции всех размерностей выделить те, которые являются не избыточными. Т.е., например, если у некоторого ребра покрыты вершины, на которых оно «держится», то покрытие самого ребра будет избыточным. Используя неизбыточные элементы, строится минимальная форма функции.

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

Ближайший сосед выбранной вершины J* поj-ой координате:

Jj =J* + (-1)Xj2j-1

Поиск вершин для элементов гиперкуба большей размерности:

Jt1t2t3…tn =Jt1+Jt2 +Jt3 +…+Jtn - (n-1)J*

где t1, ...,tn– номера координат, по которым идет объединение.

3. Минимизация фал

Представление с помощью гиперкуба:

3.1. Построение таблицы элементов функции

Опорная вершина – 1.

J* = 1 ~ 00001

Ближайшие соседи:

J1 =J* + (-1)120= 1 – 1 = 0

J2 =J* + (-1)021= 1 + 2 = 3

J3 =J* + (-1)022= 1 + 4 = 5

J4 =J* + (-1)023= 1 + 8 = 9

J5 =J* + (-1)024= 1 + 16 = 17

Пересечение с множеством Tf: {3, 5, 9, 17}

Элементы функции размерности 1: J2,J3,J4,J5

Необходимым условием для проверки наличия элементов функции размерности 2 является наличие более одного элемента размерности 1.

J23=J2+J3–J* = 3 + 5 – 1 = 7

J24=J2+J4–J* = 3 + 9 – 1 = 11

J25=J2+J5–J* = 3 + 17 – 1 = 19

J34=J3+J4–J* = 5 + 9 – 1 = 13

J35=J3+J5–J* = 5 + 17 – 1 = 21

J45=J4+J5–J* = 9 + 17 – 1 = 25

Пересечение с множеством Tf: {7, 11, 19, 13, 21, 25}

Элементы функции размерности 2: J23,J24,J25,J34,J35,J45

Необходимым условием для проверки наличия элементов функции размерности 3 является наличие не менее трех попарно смежных элемента размерности 2.

(J23,J24,J34) :J234=J2+J3+J4– 2J* = 3 + 5 + 9 – 2 = 15

(J23,J25,J35) :J235=J2+J3+J5– 2J* = 3 + 5 + 17 – 2 = 23

(J24,J25,J45) :J245=J2+J4+J5– 2J* = 3 + 9 + 17 – 2 = 27

(J34,J35,J45) :J345=J3+J4+J5– 2J* = 5 + 9 + 17 – 2 = 29

Пересечение с множеством Tf: {15, 23}

Элементы функции размерности 3: J234,J235

Необходимым условием для проверки наличия элементов размерности 4 является наличие не менее четырех попарно смежных элемента размерности 3.

Элементов размерности 4 нет.

Опорная вершина – 2.

J* = 1 ~ 00010

Ближайшие соседи:

J1 =J* + (-1)020= 2 + 1 = 3

J2 =J* + (-1)121= 2 – 2 = 0

J3 =J* + (-1)022= 2 + 4 = 6

J4 =J* + (-1)023= 2 + 8 = 10

J5 =J* + (-1)024= 2 + 16 = 18

Пересечение с множеством Tf: {3, 6, 10, 18}

Элементы функции размерности 1: J1,J3,J4,J5

Необходимым условием для проверки наличия элементов функции размерности 2 является наличие более одного элемента размерности 1.

J13=J1+J3–J* = 3 + 6 – 2 = 7

J14=J1+J4–J* = 3 + 10 – 2 = 11

J15=J1+J5–J* = 3 + 18 – 2 = 19

J34=J3+J4–J* = 6 + 10 – 2 = 14

J35=J3+J5–J* = 6 + 18 – 2 = 22

J45=J4+J5–J* = 10 + 18 – 2 = 26

Пересечение с множеством Tf: {7, 11, 19, 14, 22, 26}

Элементы функции размерности 2: J13,J14,J15,J34,J35,J45

Необходимым условием для проверки наличия элементов функции размерности 3 является наличие не менее трех попарно смежных элемента размерности 2.

(J13,J14,J34) :J134=J1+J3+J4– 2J* = 3 + 6 + 10 – 4 = 15

(J13,J15,J35) :J135=J1+J3+J5– 2J* = 3 + 6 + 18 – 4 = 23

(J14,J15,J45) :J145=J1+J4+J5– 2J* = 3 + 10 + 18 – 4 = 27

(J34,J35,J45) :J345=J3+J4+J5– 2J* = 6 + 10 + 18 – 4 = 30

Пересечение с множеством Tf: {15, 23}

Элементы функции размерности 3: J134,J135

Необходимым условием для проверки наличия элементов размерности 4 является наличие не менее четырех попарно смежных элемента размерности 3.

Элементов размерности 4 нет.

Опорная вершина – 8.

J* = 1 ~ 01000

Ближайшие соседи:

J1 =J* + (-1)020= 8 + 1 = 9

J2 =J* + (-1)021= 8 + 2 = 10

J3 =J* + (-1)022= 8 + 4 = 12

J4 =J* + (-1)123= 8 – 8 = 0

J5 =J* + (-1)024= 8 + 16 = 24

Пересечение с множеством Tf: {9, 10}

Элементы функции размерности 1: J1,J2

Необходимым условием для проверки наличия элементов функции размерности 2 является наличие более одного элемента размерности 1.

J12=J1+J2–J* = 9 + 10 – 8 = 11

Пересечение с множеством Tf: {11}

Элементы функции размерности 2: J12

Необходимым условием для проверки наличия элементов функции размерности 3 является наличие не менее трех попарно смежных элемента размерности 2.

Элементов размерности 3 нет.

Опорная вершина – 20.

J* = 1 ~ 10100

Ближайшие соседи:

J1 =J* + (-1)020= 20 + 1 = 21

J2 =J* + (-1)021= 20 + 2 = 22

J3 =J* + (-1)122= 20 – 4 = 16

J4 =J* + (-1)023= 20 + 8 = 28

J5 =J* + (-1)124= 20 – 16 = 4

Пересечение с множеством Tf: {21, 22}

Элементы функции размерности 1: J1,J2

Необходимым условием для проверки наличия элементов функции размерности 2 является наличие более одного элемента размерности 1.

J12=J1+J2–J* = 21 + 22 – 20 = 23

Пересечение с множеством Tf: {23}

Элементы функции размерности 2: J12

Необходимым условием для проверки наличия элементов функции размерности 3 является наличие не менее трех попарно смежных элемента размерности 2.

Элементов размерности 3 нет.

Таблица элементов функции

х5

х4

х3

х2

х1

1

2

8

20

0

0

0

0

1

1

-----

-

-

-

0

0

0

1

0

2

-

-----

-

-

0

0

0

1

1

3

J2

J1

-

-

0

0

1

0

1

5

J3

-

-

-

0

0

1

1

0

6

-

J3

-

-

0

0

1

1

1

7

J23

J13

-

-

0

1

0

0

0

8

-

-

-----

-

0

1

0

0

1

9

J4

-

J1

-

0

1

0

1

0

10

-

J4

J2

-

0

1

0

1

1

11

J24

J14

J12

-

0

1

1

0

1

13

J34

-

-

-

0

1

1

1

0

14

-

J34

-

-

0

1

1

1

1

15

J234

J134

-

-

1

0

0

0

1

17

J5

-

-

-

1

0

0

1

0

18

-

J5

-

-

1

0

0

1

1

19

J25

J15

-

-

1

0

1

0

0

20

-

-

-

-----

1

0

1

0

1

21

J35

-

-

J1

1

0

1

1

0

22

-

J35

-

J2

1

0

1

1

1

23

J235

J135

-

J12

1

1

0

0

1

25

J45

-

-

-

1

1

0

1

0

26

-

J45

-

-

3.2. Выделение основных элементов функции

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

J= 1 : (J234,J235,J23,J24,J25,J34,J35,J45,J2,J3,J4,J5)

Покрываемые вершины: { 15, 23, 7, 11, 19, 13, 21, 25, 3, 5, 9, 17}

J= 2 : (J134,J135,J13,J14,J15,J34,J35,J45,J1,J3,J4,J5)

Покрываемые вершины: { 15, 23, 7, 11,19, 14, 22, 26, 3, 6, 10, 18}

J= 8 : (J12,J1,J2)

Покрываемые вершины: {11, 9, 10}

J=20: (J12,J1,J2)

Покрываемые вершины: {23, 21, 22}

Выделим основные элементы функции и определим списки покрываемых ими вершин:

J= 1 :

J234{15, 7, 11, 13, 3, 5, 9, 1} {1, 3, 5, 7, 9, 11, 13, 15}

J235{23, 7, 19, 21, 3, 5, 17, 1} {1, 3, 5, 7, 17, 19, 21, 23}

J45 {25, 9, 17, 1} {1, 9, 17, 25}

J= 2 :

J134 {15, 7, 11, 14, 3, 6, 10, 2} {2, 3, 6, 7, 10, 11, 14, 15}

J135 {23, 7, 20, 22, 3, 6, 18, 2} {2, 3, 6, 7, 18, 19, 22, 23}

J45 {26, 10, 18, 2} {2, 10, 18, 26}

J= 8 :

J12 {11, 9, 10} {8, 9, 10, 11}

J=20:

J12 {23, 21, 22} {20, 21, 22, 23}

3.2. Построение приведенной системы основных элементов функции (простых импликант)

Неприведенная система основных элементов функции (простых импликант)

J= 1; J45

{1, 9, 17, 25}

A =

J= 2; J45

{2, 10, 18, 26}

B =

J= 8; J12

{8, 9, 10, 11}

C =

J=20; J12

{20, 21, 22, 23}

D =

J= 1; J234

{1, 3, 5, 7, 9, 11, 13, 15}

E =

J= 1; J235

{1, 3, 5, 7, 17, 19, 21, 23}

F =

J= 2; J134

{2, 3, 6, 7, 10, 11, 14, 15}

G =

J= 2; J135

{2, 3, 6, 7, 18, 19, 22, 23}

H =

Импликантная матрица

1

2

3

5

6

7

8

9

10

11

13

14

15

17

18

19

20

21

22

23

25

26

A

+

+

+

+

B

+

+

+

+

C

+

+

+

+

D

+

+

+

+

E

+

+

+

+

+

+

+

+

F

+

+

+

+

+

+

+

+

G

+

+

+

+

+

+

+

+

H

+

+

+

+

+

+

+

+

Ядровые импликанты: A,B,C,D,E,G

Сокращенная импликантная матрица(вычеркнуты строки и столбцы, соответствующие ядровым импликантам)

19

F

+

H

+

Как видно, в приведенной системе простых импликант будет присутствовать, наряду с ядровыми импликантами, или импликанта F, или импликантаH. Так как они одинаковы по количеству символов, то для получения минимальной формы можно взять любую. Возьмем импликантуF.

Полученная минимальная форма функции fвыглядит следующим образом:

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

00

01

10

11

000

0

1

0

0

001

1

1

1

1

010

1

1

1

1

011

1

1

1

0

100

0

0

1

0

101

1

1

1

0

110

1

1

1

0

111

1

1

1

0

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

21