ДИСКРЕТНАЯ МАТЕМАТИКА Домашняя работа. Пример. Решение предоставлено в 2009 уч. г. Eduard Shustrov (099443FAY) Alexander Sudnitson Tallinn University of Technology Задание Найти минимальные ДНФ и КНФ методом Карт Карно. Найти минимальные ДНФ и КНФ методом МакКласки. Преобразовать МКНФ и МДНФ к соответствующим формулам, в которых встречаются только операции конъюнкции и отрицания. Представить данную функцию в базисе , т.е. «штрих Шеффера». Реализовать данную функцию с использованием только 2-х входового элемента И-НЕ. 2 Исходная функция x2 x4 x1 x3 00 00 10 11 01 01 11 10 1 1 - - 1 0 0 1 - - 0 1 1 - 0 x4 0 x1 1 1 0 0 - - 1 0 0 1 - x3 0 1 1 x2 3 Отмеченная карта Карно x4 0000 1 1000 x1 - 1010 0 0010 0 0001 1 1001 - 1011 1 0011 1 x4 0101 0 1101 1 1111 - 0111 1 0100 0 0 1100 8 0 x1 1110 - 0110 - x2 x3 10 2 1 1 9 0 0 11 3 1 1 1 5 13 15 7 0 1 1 4 12 14 6 0 0 - x3 - x2 Это представление рекомендуется использовать, чтобы лучше понять связь между различными методами минимизации. 4 Метод карт Карно - МДНФ x4 x4 0 1 9 8 x1 - 10 2 1 0 0 11 3 1 1 1 5 13 15 7 0 1 1 4 12 14 6 0 0 8 0 - x2 x1 x4 x2 x3 x3 x4 x1 x3 10 2 1 1 9 1 0 0 11 3 1 1 1 1 5 13 15 7 0 1 1 1 4 12 14 6 0 0 0 x3 0 x2 Карта Карно соответствующей полностью определенной Булевой функции 5 Метод карт Карно - МКНФ x4 x4 0 8 x1 10 2 1 1 9 0 0 11 3 1 1 1 5 13 15 7 0 1 1 4 12 14 6 0 0 8 0 - x1 x3 10 2 1 1 9 1 0 0 x2 11 3 1 1 1 1 5 13 15 7 0 1 1 1 4 12 14 6 0 0 0 x3 0 x2 (x1 x2 x3 ) ( x2 x4 ) ( x3 x4 ) 6 Метод Мак-Класки – МДНФ – этап I 0 (0) (1) 1 (8) (3) 2 (6) (9) (7) (11) 3 (13) (14) 4 (15) (1) 0000 0001 1000 0011 0110 1001 0111 1011 1101 1110 1111 7 Метод Мак-Класки – МДНФ – этап I 0 (0) (1) 1 (8) (3) 2 (6) (9) (7) (11) 3 (13) (14) 4 (15) 0000 0001 1000 0011 0110 1001 0111 1011 1101 1110 1111 0 1 2 3 (0/1) (0/8) (1/3) (1/9) (8/9) (3/7) (3/11) (6/7) (6/14) (9/11) (9/13) (7/15) (11/15) (13/15) (14/15) 000− −000 00−1 −001 100− 0−11 −011 011− −110 10−1 1−01 −111 1−11 11−1 111− (0/1/8/9) 0 (0/8/1/9) (1/3/9/11) 1 (1/9/3/11) (3/7/11/15) (3/11/7/15) (6/7/14/15) 2 (6/14/7/15) (9/11/13/15) (9/13/11/15) (2) −00− −00− −0−1 −0−1 −−11 −−11 −11− −11− 1−−1 1−−1 8 Метод Мак-Класки – МДНФ – этап II Построение импликантной матрицы и решение задачи покрытия. 0000 0001 0011 0111 1011 1101 0 0 0 0 1 1 −00− (0/1/8/9) 0 1 0 1 1 0 −0−1 (1/3/9/11) 0 1 1 1 0 0 −−11 (3/7/11/15) 0 0 1 0 0 0 −11− (6/7/14/15) 1 1 0 0 0 1−−1 (9/11/13/15) 0 0011 0111 1011 1101 0 1 0 1 −0−1 (1/3/9/11) 0 1 1 1 −−11 (3/7/11/15) 0 0 1 0 −11− (6/7/14/15) 1 1 0 1−−1 (9/11/13/15) 0 0011 0111 0 1 −0−1 (1/3/9/11) 1 −−11 (3/7/11/15) 1 1 −11− (6/7/14/15) 0 Здесь имеем 2 обязательных импликанта, а третий простой импликант выбран исходя из «разумных» рассуждений. 9 Метод Мак-Класки – МДНФ Таким образом все «единичные точки» покрываются тремя максимальными интервалами: 1−−1 (9/11/13/15) −00− (0/1/8/9) −−11 (3/7/11/15). Соответствующая МДНФ будет: Следует обратить внимание на то, что данное решение совпадает с найденным методом карт Карно. 10 Метод Мак-Класки – МKНФ – этап I 1 2 3 4 (2) (4) (8) (5) (6) (9) (10) (12) (14) (15) (1) 0010 0100 1000 0101 0110 1001 1010 1100 1110 1111 11 Метод Мак-Класки – МKНФ – этап I 1 2 3 4 (2) (4) (8) (5) (6) (9) (10) (12) (14) (15) 0010 0100 1000 0101 0110 1001 1010 1100 1110 1111 (2/6) (2/10) (4/5) (4/6) 1 (4/12) (8/9) (8/10) (8/12) (6/14) 2 (10/14) (12/14) 3 (14/15) 0−10 −010 010− 01−0 −100 100− 10−0 1−00 −110 1−10 11−0 111− (2/6/10/14) (2/10/6/14) (4/6/12/14) 1 (4/12/6/14) (8/10/12/14) (8/12/10/14) (2) −−10 −−10 −1−0 −1−0 1−−0 1−−0 12 Метод Мак-Класки – МKНФ – этап II (1) 0010 0100 0101 1010 1100 −−10 (2/6/10/14) 1 0 1 1 0 010− (4/5) 0 1 1 0 0 −1−0 (4/6/12/14) 0 1 0 0 1 100− (8/9) 0 0 0 0 0 1−−0 (8/10/12/14) 0 0 0 1 1 111− (14/15) 0 0 0 0 0 0100 0101 1100 010− (4/5) 1 1 0 −1−0 (4/6/12/14) 1 0 1 1−−0 (8/10/12/14) 0 0 1 13 Метод Мак-Класки – МKНФ – этап II (2) 1100 −1−0 (4/6/12/14) 1 1−−0 (8/10/12/14) 1 1100 −1−0 (4/6/12/14) 1 1−−0 (8/10/12/14) 1 Следует обратить внимание на то, что здесь мы имем два раноценных решения. Одно из них совпадает с рещеннием найденным ранее методом карт Карно. Тем не менее мы должны убедиться, что и второе решение может быть получено методом карт Карно (см. след. слайд). 14 Получение альтернативного решения x4 x4 0 8 x1 10 2 1 1 9 0 0 11 3 1 1 1 5 13 15 7 0 1 1 4 12 14 6 x2 0 0 8 0 0 x1 x3 10 2 1 1 9 0 0 0 11 3 1 1 1 1 5 13 15 7 0 1 1 1 4 12 14 6 0 0 0 x3 0 x2 Здесь мы доопределили функцию на наборе аргументов « 1, 0, 0 » (клетка 8) до 0. 15 Преобразование к базису &, ~ Преобразование МДНФ: Преобразование МКНФ: 16 Преобразование к базису 17 Представление (реализация) схемой В интересах оптимальности за исходную лучше взять МДНФ. 18 Верификация методом истинностных таблиц 19