Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ТИПОВОЙ РАСЧЕТ Ватолкин_full

.pdf
Скачиваний:
18
Добавлен:
23.12.2019
Размер:
720.25 Кб
Скачать

Получаем: f=(-100)↓(00--).

Окончательно получаем минимальную форму данной функции:

f(x1,x2,x3, x4)МНФ =( ↓ ) ↓ ( ↓ ↓ ).

5.Метод карт Карно.

f(x1,x2,x3, x4)СНФ = ( 1 2 3 4) ↓ ( 1 2 3 4) ↓ ( 1 2 3 4)↓ ( 1 2 3 4) ↓ ( 1 2 3 4) ↓ ( 1 2 3 4).

Построим карту Карно:

 

x4

x3

 

 

 

0

0

0

0

0

x2

0

x1

Получаем окончательный ответ:

f(x1,x2,x3, x4)МНФ =( ↓ ) ↓ ( ↓ ↓ ).

Сравнив, все результаты, полученные разными методами, убедившись, что они все одинаковы, запишем ответ задачи.

Ответ: f(x1,x2,x3, x4)МНФ =( ↓ ) ↓ ( ↓ ↓ ).

3. Функция пяти переменных.

f(x1,x2,x3,x4,x5)СНФ = ( 1 2 3 4 5) ↓ ( 1 2 3 4 5) ↓

( 1 2 3 4 5) ↓ ( 1 2 3 4 5) ↓ ( 1 2 3 4 5) ↓

( 1 2 3 4 5) ↓ ( 1 2 3 4 5) ↓ ( 1 2 3 4 5)

( 1 2 3 4 5) ↓ ( 1 2 3 4 5) ↓ ( 1 2 3 4 5) ↓

( 1 2 3 4 5) ↓ ( 1 2 3 4 5) ↓ ( 1 2 3 4 5).

31

1.Метод неопределённых коэффициентов.

Опираясь на вышеизложенные алгоритмы, составим систему уравнений с неопределёнными коэффициентами для данной функции (см. Приложение №2, стр. 42).

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

0 = 001

0001

0010

00010;

 

 

234

1234

 

2345

 

12345

00011

 

0

= 001

0001

0011

0011

;

 

234

1234

 

1345

 

2345

12345

 

0

= 0100

00100

;

 

 

 

 

 

1345

12345

 

 

 

 

 

0

= 0011

01011

;

 

 

 

 

 

1345

12345

 

 

 

 

 

0

= 0110

0100

 

01100

;

 

 

 

1234

1345

 

12345

 

 

 

0

= 0110

01101

;

 

 

 

 

 

1234

12345

 

 

 

 

 

0

= 1001

10001

;

 

 

 

 

 

1345

12345

 

10010

 

 

0

= 001

1001

0010

;

 

 

234

1234

 

2345

 

12345

 

 

0

= 001

1001

0011

10011

;

 

 

234

1234

 

2345

 

12345

 

 

0

= 1111

10111

;

 

 

 

 

 

1345

12345

 

 

 

 

 

0

= 1100

11000

;

 

 

 

 

 

1234

12345

 

 

 

 

 

0

= 1100

1001

11001

;

 

 

 

1234

1345

 

12345

 

 

 

0

= 1111

11110

;

 

 

 

 

 

1234

12345

 

 

 

 

 

0

= 1111

1111

11111 .

 

 

 

1234

1345

 

12345

 

 

 

Из полученной системы следует, что 234001 = 13450100 = 13450011 = 13451001 =

= 13451111 = 12340110 = 12341100 = 12341111 = 1, значит, все остальные элементы бу-

дут равны нулю.

В результате этих преобразований получаем:

f(x1,x2,x3, x4,x5)МНФ=( ↓ ↓ ) ↓ ( ↓ ↓ ↓ ) ↓ ( ↓ ↓ ↓ ) ↓

( ↓ ↓ ↓ ) ↓ ( ↓ ↓ ↓ ) ↓ ( ↓ ↓ ↓ )

( ↓ ↓ ↓ ) ↓ ( ↓ ↓ ↓ ).

2.Метод минимизирующих карт.

f(x1,x2,x3,x4,x5)СНФ = ( 1 2 3 4 5) ↓ ( 1 2 3 4 5) ↓

( 1 2 3 4 5) ↓ ( 1 2 3 4 5) ↓ ( 1 2 3 4 5) ↓

( 1 2 3 4 5) ↓ ( 1 2 3 4 5) ↓ ( 1 2 3 4 5)

( 1 2 3 4 5) ↓ ( 1 2 3 4 5) ↓ ( 1 2 3 4 5) ↓

( 1 2 3 4 5) ↓ ( 1 2 3 4 5) ↓ ( 1 2 3 4 5).

32

Построим для данной функции минимизирующую карту и проведём необходимые преобразования (см. Приложение №3, стр. 43).

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

Пусть ( 1 3 4 5) =

=( 1 3 4 5) =( 1 3 4 5) = ( 1 3 4 5) = =( 1 2 3 4) = ( 1 2 3 4)=( 1 2 3 4 )= ( 2 3 4) =

=1. Оставшиеся элементы будут равны нулю. Запишем окончательный результат:

f(x1,x2,x3, x4,x5)МНФ=( ↓ ↓ ) ↓ ( ↓ ↓ ↓ ) ↓ ( ↓ ↓ ↓ ) ↓ ↓ ( ↓ ↓ ↓ ) ↓ ( ↓ ↓ ↓ ) ↓ ( ↓ ↓ ↓ )

↓ ( ↓ ↓ ↓ ) ↓ ( ↓ ↓ ↓ ).

3.Метод Квайна.

С помощью таблицы получим минитермы 3-го и 2-го рангов:

 

Члены

f (x1, x2, x3, x4 )

Результаты 1-го

Результаты 2-го склеи-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

склеивания

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

вания

 

 

 

1.

1 2 3

 

 

 

 

5 *

(1,2)

 

1 2

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(1,9) 2 3

 

 

4

4

4

2.

1 2 3

 

 

 

 

 

 

 

 

*

(1,8)

 

2 3

 

 

 

 

 

 

 

 

 

 

5

(2,4) 2 3

 

 

4

5

4

4

3.

 

1 2

 

 

 

 

4 5 *

(2,4)

 

1 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

4

5

 

 

 

 

4.

1

 

 

 

 

3

 

 

 

 

 

 

 

*

(2,9)

 

2 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

4

5

4

5

 

 

 

 

5.

1

 

 

 

 

 

 

 

 

4 5 *

(3,5) 1

 

 

 

4 5

 

 

 

 

2

3

3

 

 

 

 

6.

 

 

1

 

 

 

 

 

 

 

4

 

 

 

*

(5,6) 1

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

2

3

5

2

3

 

 

 

 

7.

 

 

 

2 3 4

 

 

*

(7,8)

 

 

 

 

 

 

 

2 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

5

1

5

 

 

 

 

8.

 

 

 

 

2 3

 

 

 

 

5*

(7,12)

 

 

 

 

 

 

 

 

3

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

4

 

1

5

 

 

 

 

9.

 

 

 

 

2 3

 

 

 

 

 

 

*

(8,9)

 

 

 

 

 

 

 

2

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

4

 

5

1

4

 

 

 

 

10.

 

 

 

 

2

 

 

 

 

 

 

 

 

 

*

(9,10)

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

3

4

 

5

1

4

5

 

 

 

 

11.

 

 

 

 

 

 

3 4

 

5*

(10,14)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

2

 

1

3

4

5

 

 

 

 

12.

 

 

 

 

 

 

3 4

 

 

 

*

(11,12)

 

 

 

 

 

 

 

 

 

3 4

 

 

 

 

1

2

 

5

1

2

 

 

 

 

13.

 

 

 

 

 

 

 

 

 

 

 

 

 

5*

(13,14)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

2

3

4

 

1

2

3

4

 

 

 

 

14.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

*

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

2

3

4

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Построим таблицу меток (см. Приложение №4, стр. 46).

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

f(x1,x2,x 3, x4,x5)МНФ=( ↓ ↓ ) ↓ ( ↓ ↓ ↓ ) ↓ ( ↓ ↓ ↓ ) ↓ ↓ ( ↓ ↓ ↓ ) ↓ ( ↓ ↓ ↓ ) ↓ ( ↓ ↓ ↓ )

↓ ( ↓ ↓ ↓ ) ↓ ( ↓ ↓ ↓ ).

33

4.Метод Квайна Мак-Класки.

f(x1,x2,x3,x4,x5)СНФ = ( 1 2 3 4 5) ↓ ( 1 2 3 4 5) ↓

( 1 2 3 4 5) ↓ ( 1 2 3 4 5) ↓ ( 1 2 3 4 5) ↓

( 1 2 3 4 5) ↓ ( 1 2 3 4 5) ↓ ( 1 2 3 4 5) ↓ ( 1 2 3 4 5) ↓ ( 1 2 3 4 5) ↓ ( 1 2 3 4 5) ↓

( 1 2 3 4 5) ↓ ( 1 2 3 4 5) ↓ ( 1 2 3 4 5).

Заменим исходные импликанты их кодами в двоичных переменных:

00010, 00011, 00100, 01011, 01100, 01101, 10001, 10010, 10011, 10111, 11000, 1101, 11110, 11111.

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

Все преобразования сделаем сразу в таблице:

Данная функция

 

Результаты 1-го

 

 

 

 

Результаты 2-го

 

 

 

склеивания

 

 

 

 

 

склеивания

Коды

группы

 

Коды

 

группы

 

 

 

 

Коды

группы

 

0-я

 

0001-

 

1-я

-0010

 

 

 

 

 

00010

--

 

 

-0011

 

 

-001-

 

 

00011

 

 

-0010

 

 

 

 

 

 

-001-

 

 

00100

 

 

0-100

 

 

 

 

 

 

 

 

 

01011

1-я

00010

0-011

 

 

 

0-100

 

 

 

 

 

01100

 

00100

-0011

 

2-я

 

0-011

 

 

 

 

 

01101

 

 

0110-

 

 

 

1-001

 

 

 

 

 

10001

 

 

100-1

 

 

 

1-111

 

 

 

 

 

10010

 

 

1-001

 

 

 

 

 

 

 

 

 

10011

 

 

1001-

 

 

 

 

 

 

 

 

 

10111

 

00011

1100-

 

3-я

 

10-11

 

 

 

 

 

11000

2-я

01100

10-11

 

 

 

 

 

 

 

 

 

11001

 

10001

1-111

 

 

 

 

 

 

 

 

 

11110

 

10010

1111-

 

 

 

 

 

 

 

 

 

11111

 

11000

 

 

 

 

 

 

 

 

 

 

 

3-я

01011

 

 

 

 

 

 

 

 

 

 

 

 

01101

 

 

4-я

 

100-1

 

 

 

 

 

 

 

10011

 

 

 

 

 

 

 

 

 

 

 

11001

 

 

 

 

 

 

 

 

 

 

 

4-я

10111

 

 

5-я

0001-

 

 

 

 

 

 

 

11110

 

 

 

 

0110-

 

 

 

 

 

 

 

 

 

 

 

 

1001-

 

 

 

 

 

 

 

 

 

 

 

 

1100-

 

 

 

 

 

 

 

 

 

 

 

 

1111-

 

 

 

 

 

 

5-я

11111

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Далее построим таблицу меток, в нее впишем исходные и первичные импликанты в виде двоичных кодов (см. Приложение №5, стр. 46).

34

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

f(x1,x2,x3, x4,x5)МНФ=( ↓ ↓ ) ↓ ( ↓ ↓ ↓ ) ↓ ( ↓ ↓ ↓ ) ↓

( ↓ ↓ ↓ ) ↓ ( ↓ ↓ ↓ ) ↓ ( ↓ ↓ ↓ )

( ↓ ↓ ↓ ) ↓ ( ↓ ↓ ↓ ).

5.Метод карт Карно.

f(x1,x2,x3,x4,x5)СНФ = ( 1 2 3 4 5) ↓ ( 1 2 3 4 5) ↓

( 1 2 3 4 5) ↓ ( 1 2 3 4 5) ↓ ( 1 2 3 4 5) ↓

( 1 2 3 4 5) ↓ ( 1 2 3 4 5) ↓ ( 1 2 3 4 5) ↓ ( 1 2 3 4 5) ↓ ( 1 2 3 4 5) ↓ ( 1 2 3 4 5) ↓

( 1 2 3 4 5) ↓ ( 1 2 3 4 5) ↓ ( 1 2 3 4 5).

Составим карту Карно:

x4

x5

x3

 

 

0

0

 

 

 

 

 

0

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

0

 

 

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x2

 

 

 

0

 

 

 

 

 

 

 

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

0

 

 

 

 

 

0

 

 

 

 

 

x1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Минимизируя функцию, получаем:

 

 

 

 

 

 

 

 

f(x1,x2,x3, x4,x5)МНФ=(

↓ ↓

 

) ↓ ( ↓

 

↓ ↓ ) ↓ ( ↓ ↓

 

 

) ↓

 

 

 

 

( ↓ ↓ ↓ ) ↓ ( ↓ ↓ ↓ ) ↓ ( ↓ ↓ ↓ )

( ↓ ↓ ↓ ) ↓ ( ↓ ↓ ↓ ).

Сравнив, все результаты, полученные разными методами, убедившись, что они все одинаковы, запишем ответ задачи.

Ответ: f(x1,x2,x3, x4,x5)МНФ=( ↓ ↓ ) ↓ ( ↓ ↓ ↓ ) ↓ ( ↓ ↓ ↓ ) ↓ ↓ ( ↓ ↓ ↓ ) ↓ ( ↓ ↓ ↓ ) ↓ ( ↓ ↓ ↓ ) ↓

↓ ( ↓ ↓ ↓ ) ↓ ( ↓ ↓ ↓ ).

35

2.6Выводы

Входе выполнения расчётно-графической работы по теме «Минимизация ФАЛ» познакомились с функциями алгебры логики (ФАЛ) или, как их ещё называют, булевыми функциями и с формами их записи (СДНФ, МДНФ

идр.). Изучили некоторые законы алгебры логики (например, законы склеивания и поглощения).

Научились минимизировать функцию шестью разными методами: геометрическим методом, методом неопределённых коэффициентов, методом минимизирующих карт, методом Квайна, методом Квайна – Мак-Класки, методом карт Карно.

На наш взгляд, самым наглядным, понятным, наиболее экономным и менее трудоёмким является метод карт Карно; данный метод быстрее всего приводит к ответу.

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

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

Итак, изучив тему «Минимизация ФАЛ», освоили наиболее рациональные и экономные методы для решения конкретных задач по минимизации булевых функций.

36

Пояснения и приложения

37

Пояснения к построению и обработке карт Карно

Правила нумерации строк и столбцов карты Карно

1.Строки и столбцы можно нумеровать переменными или их отрицаниями (например, x1x2x3) или их двоичными кодами (например, 100).

2.Порядок нумерации допускает склейку импликант. Например, нумерация строк x1x2 , x1x2 , x1x2 , x1x2 допускает две склейки соседних

строк ( x1x2 x1x2 = x1 ,

x1x2 x1x2

= x1 ), а нумерация x1x2 , x1x2 ,

x1x2 , x1x2

— четыре ( x1x2 x1x2 = x1 ,

x1x2 x1x2 = x2 ,

x1x2 x1x2 = x1 ,

x1x2 x1x2 x2 ).

 

 

 

 

3. В качестве

рекомендации можно

предложить

схемы

(строки | столбцы), соответствующие рефлексивному двоичному коду Грея:

1)функция трёх переменных — (0 1 | 00 01 11 10), карта 2 4,

2)функция четырёх переменных — (00 01 11 10 | 00 01 11 10), карта 4 4,

3)функция пяти переменных — (00 01 11 10 | 000 001 011 010 110 111 101 100), карта 4 8.

Замечание. Помеченные таким образом клетки карты Карно удовлетворяют следующему свойству: геометрически соседние клетки (по горизонтали и по вертикали) совпадают с логическими соседями в смысле фон Неймана — расстояние Хемминга между кодами Грея соседних клеток равно 1.

38

Правила склейки для функции n переменных

1.Для получения ДНФ склейку клеток карты Карно осуществляют по единицам.

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

2k , где k — целое положительное число, 1 k n, при этом рекомендуется брать максимальное из возможных значений k . В некоторых ситуациях в раскладке образуется единица, которую невозможно склеить с какой-либо областью. В этом случае единица склеивается «сама с собой».

3.Область, которая подвергается склейке, должна содержать только единицы.

4.Крайние клетки каждой горизонтали и каждой вертикали также граничат между собой и могут объединяться в прямоугольники.

5.Все единицы должны попасть в какую-либо область.

6.Каждое склеивание возможно только по одной переменной.

7.С точки зрения минимальности ДНФ число областей должно быть как можно меньше (каждая область представляет собой импликант), а число клеток в области должно быть как можно больше (чем больше клеток в области, тем меньше переменных содержит импликант; импликант размером

2k ячеек содержит n k переменных).

8.Одна ячейка карты Карно может входить сразу в несколько областей.

9.В отличие от СДНФ, ДНФ не единственны. Возможно несколько эквивалентных друг другу ДНФ, которые соответствуют разным способам покрытия карты Карно прямоугольными областями.

39

Минимизация функции

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

2.В каждой области определяют, какие переменные или их отрицания не меняются в пределах этой области, и записывают конъюнкцию этих переменных.

3.Конъюнкции областей объединяют дизъюнкцией.

Карты Карно были предложены Э.В. Вейчем (1952 г.) и усовершенствованы М. Карно (1953 г.).

40