ников без территориальных ограничений и затрат на очные профориентационные мероприятия.
Литература
1 Орлов С.А. Технологии разработки программного обеспечения. - СПб.: Питер, 2002.
576 с.
2 Пряжников Н.С. Методы активизации профессионального и личностного самоопределения. - М.: Модэк, 2002. 392 с.
3 Пустовая Е.Н. Профориентация: проблемы, опыт, перспективы // Информационно-методический и дидактический журнал «Имидж». 2002. № 2. С. 21-23.
4 Трофимов С.А. CASE-технологии. Практическая работа в Rational Rose. - СПб.: Бином-Пресс, 2002. 288 с.
Development of browser game for student's vocational guidance
Elena Mihailovna Tovbis, ph.d., docent, Federal state budget-funded educational institution of higher education «Siberian state technological university»
Elena Valerievna Lis, ph.d., docent, Federal state budget-funded educational institution of higher education «Siberian state technological university»
The article discusses developing new methods of student's vocational guidance. It is proposed to focus on electronic methods of vocational guidance, in particular in the form of a computer game.
Keywords: vocational guidance, computer game, strategy, model, web application.
УДК 519.1(075.8)+510.6(075.8)
ПРАКТИЧЕСКАЯ ДИСКРЕТНАЯ МАТЕМАТИКА И МАТЕМАТИЧЕСКАЯ ЛОГИКА (практические занятия 7-11)
Сергей Феофентович Тюрин, проф., проф. кафедры автоматики
и телемеханики, e-mail: tyurinsergfeo@yandex. ru, Пермский национальный исследовательский политехнический университет,
http://pstu.ru,
Юрий Александрович Аляев, доц., доц. кафедры программного обеспечения вычислительной техники и автоматизированных систем, e-mail: [email protected], Пермский военный институт внутренних войск МВД России,
http://pvivv.ru
Предлагается методика решения задач на практических занятиях по дисциплине «Дискретная математика и математическая логика», разработанная и применяющаяся на практике в вузах Пермского края.
Тюрин
Ключевые слова: дискретная математика, математическая логика, переключательные функции, минимизация.
Б01: 10.21777/2312-5500-2016-3-29-46
Введение
Издавая в 2006 г. учебник «Дискретная математика и математическая логика» [1], авторы планировали вслед за ним издать и задачник. Переосмыслив имеющийся материал в последующие годы, они пришли к выводу о необходимости подготовки не совсем учебника, но советчика и подсказчика. Кроме того, был накоплен новый, интересный материал. Акцент сделан на практику, поскольку известно, что именно умение решать задачи является мерилом математического знания.
В предлагаемой серии статей нашел отражение опыт многолетнего преподавания авторами дисциплин «Дискретная математика» и «Математическая логика и теория алгоритмов» в вузах Пермского края.
Информационные технологии ушли далеко вперед, но задача распознавания компьютером правильного ответа решается до сих пор тривиально - определением выбора одного заданного номера из п ответов. Причем (п - 1) - неправильных ответов. На самом деле в дискретной математике, в логике, часто правильными могут быть разные ответы, например разные дизъюнктивные нормальные формы с одинаковым количеством букв - при минимизации переключательных функций.
Кроме того, приведение неправильных ответов, по мнению авторов, приводит к «рекламному» эффекту, - запоминаются именно они, причем самые несуразные.
Поэтому принято решение не разрабатывать так называемые тесты, а большую часть сил бросить на разъяснение методики решения типовых задач, выносимых на практические занятия по указанной тематике.
В статье рассматриваются методики решения задач на практических занятиях 711 по дискретной математике:
7) решение задач на применение законов алгебры переключательных функций и формул равносильных преобразований;
8) преобразование форм представления переключательных функций;
9) минимизация переключательных функций методом Квайна-Мак-Класки;
10) минимизация переключательных функций по картам Карно;
11) минимизация переключательных функций методом Л. Ф. Викентьева.
Методики решения задач на практических занятиях 1 -6 по дискретной математике были рассмотрены в [2, 3]).
При изложении материала в серии статей принята сквозная нумерация рисунков и таблиц.
ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 7
Решение задач на применение законов алгебры переключательных функций и формул равносильных преобразований
Цель занятия: научиться решать задачи на применение законов алгебры переключательных функций и формул равносильных преобразований.
Методика решения задач
З а д а ч а 1. Упростить формулу ПФ:
1л Ол 1,
ДаЬсё)=ас V с(аЬё V Ь V Ь<;)(ё V Сс V <;)=
0.
= ас V с(а Ьё V Ь V Ь)(ё V 0 V 1)=а<; V с=с.
1
1
З а д а ч а 2. Упростить формулу ПФ:
0,
1а 1,
ДаЬсС)=а(Ьс V а сё V Ьс) V d(aC V ЬсС V а V с)(сС V аЬсс)=
I--I-- т
^ Ч Ч 0
= а(Ьс V Ьс-) V С(ас V Ьс; V а V с)с=аЬ V ёс.
З а д а ч а 3. Упростить формулу ПФ:
и 0А
Г=Ъс(асЬ V Ьёе V аЬ(а<; V С V ё(с
1 0- Ч 0|
; V а)) V Ь ё(ас V О ))=
=Ьс(аЬ V аЬ(ё V ё))=Ьс(аЬ V аЬ)=Ьса=аЬс.
1-1-'
1
З а д а ч а 4. Упростить формулу ПФ:
Г=аЪ V (а V Ь)(с V аМ(а V е ))=
Обозначим аЬ как х, тогда: =х V Х(с V Хй(а V е))=х V с=аЬ V с.
З а д а ч а 5. Упростить формулу ПФ:
14
Г= Х V у) V ( Х у) (;г V Ь V (х
^ у)=х V у V ; V Ь.
1
1
0
ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 8 Преобразование форм представления переключательных функций
Цель занятия: научиться преобразовывать переключательные функции из одной формы представления в другую, выполнять разложение Шеннона.
Методика решения задач
З а д а ч а 1. Получить ДНФ из произвольной (скобочной) формы ПФ.
Г(х1х2хэ) = х1 V Х2Х3 V Х1Х3 = х1(х2хз) V Х1Х3 = Х1(Х2 V Х3) V Х1Х3
Х1Х2 V Х1Х3 V Х1Х3 = Х1Х2 V Х1Х3.
З а д а ч а 2. Получить СДНФ из ДНФ ^(х1х2х3) = Х1Х2 V Х1Х3.
Представим функцию А(Х1Х2Х3) = Х1Х2 V Х1Х3 в виде: 00^0-1. Тогда, подставляя вместо «-» всевозможные комбинации 0, 1, получим
00- -> 0-1 ->
0 0 (0 0 0
0 (0(1 0 (l 1
Таким образом, получили номера 000, 001, 011, которые соответствуют членам СДНФ.
f(x1x2x3) = Х1Х2Х3 vХ1Х2Х3 vxix2x3. З а д а ч а 3. Получить КНФ из произвольной (скобочной) формы ПФ.
f(x1x2x3) = x1 v x2 Х3 v xix3;
f(x1x2x3) = x1 v Х2Х3 v Х1Х3
(х1 v х2х3)х1х3 = (х1 v х2 х3 )(x1 v х3) = х1 v х2х3;
Г(ххх2хз ) = х1 V х2 Хз = Х1 (х2 V х3). З а д а ч а 4. Получить КНФ из ДНФ. А(х1х2х3) = х1 х2 Vх1хз = х1 (х2 Vх3).
З а д а ч а 5. Получить СКНФ из КНФ.
^х1 х2 х3) = х1 (х 2 V хз ) =
= (х-1 v х2 х2 v х3х3 )(х 2 V х 3 V х1 х 1) =
= (х1 V х2 х2 V х3 )(х1 V х2 х2 V х3 )(х2 V х3 V х1 )(х2 V х3 V х1 ) =
= (хх1 V х2 V х3 )(х1 V х2 V х3 )(х1 V х2 V х3 )(х1 V х2 V х3 )(х1 V х2 V х3 )(х1—V^-х2""^х3') Соответствующие запрещенные наборы: 100, 110, 101, 111, 010 (база х1 х2 х3). З а д а ч а 6. Выполнить дизъюнктивное разложение Шеннона формулы по переменной Ь:
^аЬсф=аЬ V (а V Ь)с[аЬ V ^а V Ь)]=
=Ь{а-0 V (а V 1)с[а-0 V ё(а V 1)]} V Ь{а1 V (а V 0)с[а-1 V ё(а V 0)]}=
1а 0А 1,
= Ь{0 V 1 с[0 V d•1]} V Ь{а V ас[а V da]}=Ьcd V Ь(а V cd).
З а д а ч а 7. Выполнить конъюнктивное разложение Шеннона той же формулы (задача 6) по переменной а: , ,
f(aЬcd)={a V 0-Ь V (1 V Ь)с[0^Ь V d(1 V Ь)]}{а V 1-Ь V (0 V Ь)с[ЬЬ V d(0 V Ь)]}=
1а 0А 1,
={а V cd}{a V Ь V Ьс[Ь V dЬ]}=(a V cd)(a V Ь V cd).
З а д а ч а 8. Выполнить дизъюнктивное разложение ПФ, заданной десятичным номером № 174ю по переменной а, по переменным а, Ь. Таблица истинности ПФ № 17410 показана в табл. 24.
Таблица 24
Таблица истинности
Переменные ВС f(abc)
а b с
0 0 0 0 0
0
2
0 0 1 1 1
0 1 0 2 1
0 1 1 3 1
1 0 0 4 0
1 0 1 5 1
1 1 0 6 0
1 1 1 7 1
21
Выполним дизъюнктивное разложение ПФ, заданной десятичным номером № 174ю по переменной а. Для этого разделим таблицу истинности (табл. 24) пополам по значению а. В первой половине а = 0; во второй а = 1. Получим табл. 25 и табл. 26 соответственно.
Таблица 25 Таблица истинности (a = 0)
Таблица 26 Таблица истинности (a = 1)
Переменные ВС f(abc)
а b с
0 0 0 0 0
0 0 1 1 1
0 1 0 2 1
0 1 1 3 1
Переменные ВС f(abc)
а b с
1 0 0 4 0
1 0 1 5 1
1 1 0 6 0
1 1 1 7 1
Видим, что в табл. 25 при а = 0 получена функция двух переменных - дизъюнкция Ь, с. В табл. 26 при а = 1 получена функция одной переменной - повторение с. Таким
образом, Г(аЬс) = а(Ь V с) V ас.
Выполним дизъюнктивное разложение ПФ, заданной десятичным номером № 174ю по переменным а, Ь.
Анализируем табл. 24. Делим ее на четыре части, получаем табл. 27-30.
Таблица 27
Таблица истинности
Переменные ВС f(abc)
а b с
0 0 0 0 0
0 0 1 1 1
Таблица 29
Таблица истинности
Переменные ВС f(abc)
а b с
1 0 0 4 0
1 0 1 5 1
Таблица 28 Таблица истинности
Переменные ВС f(abc)
а b с
0 1 0 2 1
0 1 1 3 1
Таблица 30 Таблица истинности
Переменные ВС f(abc)
а b с
1 1 0 6 0
1 1 1 7 1
Видим, что для значений а = b = 0 функция равна 1 при с = 1, то есть - abc.
2
2
3
2
4
2
5
2
6
2
7
2
Видим, что для значений а = 0, b = 1 функция равна 1 независимо от с = 1, то есть - ab .
Видим, что для значений а = 1, b = 0 функция равна 1 при с = 1, то есть - abc . Видим, что для значений а = b = 1 функция равна 1 при с = 1, то есть - abc . Таким образом, получаем
f(abc) = abc v ab v abc v abc .
З а д а ч а 9. Получить полином Жегалкина дизъюнкции двух переменных.
xvy= x ■ y =(х01 )(y01)01=xy0x0y0101=xy0x0y.
(101=0).
З а д а ч а 10. Получить полином Жегалкина ПФ по таблице истинности. Например, получим полином Жегалкина для функции f, таблица истинности которой имеет вид табл. 31.
Таблица 31
Таблица истинности
x y z f
0 0 0 0
0 0 1 1
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 1
Тогда получим
f = (x01)(y01)z0(x01)y(z01)0x(y01)(z01)0xyz = = (xy0x0y01)z0(xz0x0z01)y0x(yz0y0z01)0xyz =
=xyz0xz0yz0z0xyz0xy0yz0y0xyz0xy0xz0x0xyz=
= x0y0z.
ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 9 Минимизация переключательных функций методом Квайна-Мак-Класки Цель занятия: научиться минимизировать переключательные функции методом Квайна-Мак-Класки.
Методика решения задач
З а д а ч а 1. Минимизировать ПФ методом Квайна-Мак-Класки. f(x1x2x3) = Х1Х2Х3 v Х1Х2Х3 v Х1Х2Х3 v Х1Х2Х3 v Х1Х2Х3 ^ ^111v101v001v000v110.
Группируем эти конституенты единицы по числу единиц:
I 000...................................... 00-
II 001 .............-01 Обобщенные коды
III 101^^^ импликант в базе 110^^^;::>1-1 X Х2 Х3
IV 111 11-
Дальнейшие склеивания невозможны. Нахождение минимальных ДНФ далее производится по импликантной таблице (табл. 32):
Таблица 32
Импликантная таблица Квайна-Мак-Класки
А В С D
Простые импликанты Конституенты единиц
Х1 Х2 Хз 111 101 001 000 110
0 0 - + +
- 0 1 + +
1 - 1 + +
1 1 - + +
K = (C v р)(Б v C)(/v B)AD = (B v C)AD = BAD v CAD. Это означает, что тупиковые ДНФ содержат по три простые импликанты и имеют вид f = xxx3 v Х1Х2 v xxx2 (две инверсии);
f2 = xix3 v xix2 v x1x2 (три инверсии).
Можно выбрать любую из полученных ТДНФ, а с учетом меньшего числа инверсий - первую.
З а д а ч а 2. Минимизировать ПФ методом Квайна-Мак-Класки. f(a, b, c, d) = 3, 4, 5, 7, 9, 11, 12, 13 [0, 1, 2, 6, 8, 10, 14, 15]. Получим двоичное представление рабочих наборов ПФ: f(a, b, c, d) = 0011, 0100, 0101, 0111, 1001, 1011, 1100, 1101.
Группируем рабочие наборы по возрастанию числа единиц, пронумеруем наборы:
I 1) 0 1 0 0
II 2) 0 0 1 1
3) 0 1 0 1
4) 1 0 0 1
5) 1 1 0 0
III 6) 0 1 1 1
7) 1 0 1 1
8) 1 1 0 1
Начинаем склеивания соседних конституент из соседних групп I—II:
I 1) 0 1 0 0 Результат склеивания 1-3: 0 1 0 -
II 3) 0 1 0 1
I 1) 0 1 0 0 Результат склеивания 1-5: - 1 0 0
II 5) 1 1 0 0
Больше склеивать в этих двух группах нечего. Склеиваем соседние конституенты из соседних групп II-III:
II 2) 0 0 1 1 Результат склеивания 2 6: 0 - 1 1
III 6) 0 1 1 1
II 2) 0 0 1 1 Результат склеивания 2-7: - 0 1 1
III 7) 1 0 1 1
II 3) 0 1 0 1 Результат склеивания 3-6: 0 1 - 1
III 6) 0 1 1 1
II 3) 0 1 0 1 Результат склеивания 3 8: - 1 0 1
III 8) 1 1 0 1
II 4) 1 0 0 1 Результат склеивания 4 7: 1 0 - 1
III 7) 1 0 1 1
II 4) 1 0 0 1 Результат склеивания 4-8: 1 - 0 1
III 8) 1 1 0 1
Больше ничего не склеивается. Видно, что каждая конституента участвовала хотя бы в одном склеивании. Значит, они не простые импликанты.
Теперь группируем полученные импликанты с учетом положения тире (-).
I 2.1) 0 1 0 -
2.2) 1 1 0 -
II 2.3) - 1 0 0
2.4) - 0 1 1
2.5) - 1 0 1
III 2.6) 0 - 1 1
2.7) 1 - 0 1
IV 2.8) 0 1 - 1
2.9) 1 0 - 1
Теперь склеивания возможны только внутри групп.
I 2.1) 0 1 0 - Результат склеивания 2.1-2.2: - 1 0 -
2.2) 1 1 0 -
II 2.3) - 1 0 0 Результат склеивания - 1 0 -
2.5) - 1 0 1 2.3-2.5:
По закону повторения оставляем одну импликанту (-вается. Получаем 6 простых импликант:
0-). Все остальное не склеи-
3.1) - 1 0 -
3.2) - 0 1 1
3.3) 0 - 1 1
3.4) 1 - 0 1
3.5) 0 1 - 1
3.6) 1 0 - 1
Таким образом, получили сокращенную ДНФ (СкДНФ):
f(abcd) = Ьс V ЬЫ V acd V асё V abd V abd.
Для получения ДНФ строим таблицу покрытий (табл. 33).
Таблица 33
_Таблица покрытий_
Простая импликанта Конституенты
0011 0100 0101 0111 1001 1011 1100 1101
Х1 -10- + + + +
Х2 -011 + +
Х3 0-11 + +
Х4 1-01 + +
Х5 01-1 + +
Х6 10-1 + +
КП Х 2 V Х3 Х1 х1 V х5 х3 V х5 Х4 V Х6 Х2 V Х6 Х1 х1 V х4
Получим конъюнктивное покрытие (КП, см. табл. 33), присвоив строкам обозначения Х{!
КП : (Х2 V Х3 )Х! (Х! V Х5 )(х3 V Х5)(Х4 V Х6)(Х2 V Х6 )Х! (Х4 V
Применив закон поглощения, получим
КП : (Х2 V Хз )х1 (Хз V Х5 )(Х4 V Х6 )(Х2 V Х6) .
Применив распределительный закон, получим
КП : (Х2Х5 V Х3)Х1(Х4Х2 V Х6).
Раскрыв скобки, наконец, получим
КП : (х2х5х1 V х3х1)(х4х2 V Х6) = х1х2х4х5 V х1х2х3х4 V х1х2х5х6 V х1х3х6 .
Выбираем самую короткую конъюнкцию: х1х3х6 .
Получаем ТДНФ: ДаЬсф = Ьс V acd V abd. Это и есть ответ.
ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 10 Минимизация переключательных функций по картам Карно
Цель занятия: научиться минимизировать переключательные функции методом карт Карно.
Методика решения задач
З а д а ч а 1. Минимизировать по карте Карно ПФ А(Х3 Х2 Х1) = 0, 1, 5, 6, 7 [2, 3, 4].
Для функции трех переменных карта Карно содержит 8 клеток (рис. 15):
н х-.
нХ,
Х3Х2
Х,
0 1 3> 3 0 2 0
4 0
Х3Х2
Х3Х1
Рис. 15. Пример минимизации по карте Карно ПФ 1"(х3 х2 х1) = 0, 1, 5, 6, 7 [2, 3, 4]
Здесь (см. рис. 15) получилось три двухклеточных контура: (0,1), (3,7), (6,7). Первый контур (0,1) линии переменных х3х2 полностью не покрывают (т. е. равны
0 в этом контуре - в номерах клеток контура), поэтому получаем импликанту Х3Х2 .
Контур (5,7) линии переменных х3х1 полностью покрывают (т. е. равны 1 в этом
контуре - в номерах клеток контура), поэтому получаем импликанту Х3Х1.
Контур (6,7) линии переменных х3х2 полностью покрывают (т. е. равны 1 в этом
контуре - в номерах клеток контура), поэтому получаем импликанту Х3Х2 .
Берем дизъюнкцию импликант ^ = Х3Х2 V Х3Х1 V Х3Х2 . Если взять вместо контура (5,7) контур (1,5), то получим ^ = Х3Х2 V Х2Х1 V Х3Х2.
Этот результат аналогичен по количеству букв, но содержит больше инверсий. З а д а ч а 2. Минимизировать по карте Карно ПФ А(аЬсё) = 3, 4, 5, 7, 9, 11, 12, 13 [0, 1, 2, 6, 8, 10, 14, 15]. Карта Карно для четырех переменных содержит 16 клеток (рис. 16).
н с
асс1
Рис. 16. Пример минимизации по карте Карно ПФ ^аЬсф = 3, 4, 5, 7, 9, 11, 12, 13 [0, 1, 2, 6, 8, 10, 14, 15]
Здесь (см. рис. 16) имеется четырехклеточный контур - квадрат (4, 5, 12, 13), ему
соответствует импликанта из двух переменных Ьс.
Двухклеточному контуру (3, 7) соответствует импликанта из трех переменных
асё.
Двухклеточному контуру (9, 11) соответствует импликанта из трех переменных
аЬё.
В итоге получим Г(аЬсё) = Ьс V асё V аМ. Это и есть ответ. Заметим, что в рассмотренных примерах ПФ - полностью определенные. З а д а ч а 3. Минимизировать не полностью определенную ПФ по карте Карно: ЦаЬсё) = 0, 8, 9, 10, 12, 13 [1, 2, 4, 7, 11, 15] {3, 5, 6, 14}.
В фигурных скобках представлены условные наборы, отмеченные на рис. 17 знаком «тильда». Условные наборы могут включаться в рабочие наборы, то есть доопределяться до единицы.
Анализируя карту Карно (рис. 17), получаем ответ: Г(аЬсё) = ас V аё V Ьсё . З а д а ч а 4. Минимизировать по карте Карно не полностью определенную ПФ Г(аЬсё) = 0, 2, 8, 11, 13 [1, 4, 7, 9, 14].
Здесь указаны только рабочие и запрещенные наборы, всего их десять, следовательно остальные шесть - условные наборы.
Имеем (рис. 18) два квадрата: (0, 2, 8, 10) и (3, 2, 11, 10) и один двухклеточный контур (5, 13). Вместо (5, 13) возможны контуры (12, 13), (13, 15).
н й
Ьсй
Рис. 17. Пример минимизации по карте Карно ПФ Г(аЬеа) = 0, 8, 9, 10, 12, 13 [1, 2, 4, 7, 11, 15] {3, 5, 6, 14}
й
Ьсй
12
113
15
14
10
Ьс
Рис. 18. Пример минимизации по карте Карно ПФ ^аЬеф = 0, 2, 8, 11, 13 [1, 4, 7, 9, 14]
Анализируя карту Карно (рис. 18), получаем ответ: f(abcd) = bd V Ьс V bcd З а д а ч а 5. Минимизировать по карте Карно ПФ = 2, 3, 4, 5, 6, 7, 12, 14, 15 [0, 1, 8, 9, 13].
Н с
аЬ
Рис. 19. Пример минимизации по карте Карно ПФ ^аЬеф = 2, 3, 4, 5, 6, 7, 12, 14, 15 [0, 1, 8, 9, 13]
В этой задаче (рис. 19) получается восьмиклеточный контур - куб (3, 2, 7, 6, 15, 14, 11, 10) и два квадрата (4, 5, 7, 6), (4, 12, 6, 14).
Анализируя карту Карно (рис. 19), получаем ответ: f(abcd) = с V bd V ab . Решим эту задачу в классе КНФ. Объединим в контуры нули ПФ (рис. 20).
5
6
4
7
0
0
0
9
0
с
Ь V с
Рис. 20. Пример минимизации по карте Карно ПФ ДаЬсф = 2, 3, 4, 5, 6, 7, 12, 14, 15 [0, 1, 8, 9, 13] в классе КНФ
Получили квадрат и двухклеточный контур. Квадрату нулей (0, 1, 8, 9) соответствует дизъюнкция - имплицента Ь V с.
Переменная входит в имплиценту без инверсии, если она полностью не покрывает контур нулей, то есть равна 0 в клетках контура. Переменная входит в имплиценту с инверсией, если она полностью покрывает контур нулей, то есть равна 1 в клетках контура. Так, для контура нулей (13, 9) получим имплиценту а V с V ё.
В итоге получим КНФ Г(аЬсё) = (Ь V с)(а V с V ё).
Напомним, что ПФ р(х) является имплицентой переключательной функции Дх), если множество запрещенных (нулевых) наборов функции р(х) совпадает или является подмножеством множества запрещенных (нулевых) наборов функции Дх), т. е. М<>[р(Х)]с М<№)].
З а д а ч а 6. Минимизировать по карте Карно ПФ
ЦаЬсё) = 4, 5, 9, 12, 13, 14, 15 [0, 1, 2, 3, 6, 7, 8].
Ьс
Н с
ас
аС
Рис. 21. Пример минимизации по карте Карно ПФ ^аЬсф = 4, 5, 9, 12, 13, 14, 15 [0, 1, 2, 3, 6, 7, 8]
Здесь (рис. 21) имеем три квадрата: Г(аЬсё) = Ьс V аё V ас. З а д а ч а 7. Минимизировать по карте Карно ПФ А(аЬсё) = 4, 5, 6, 10, 12 [0, 1, 7, 8, 9, 14].
С
н С
Ьс
асс1
Рис. 22. Пример минимизации по карте Карно ПФ ^аЬсф = 4, 5, 6, 10, 12 [0, 1, 7, 8, 9, 14]
Получаем Г(аЪсё) = Ьс V Ъё V асё. Решим эту задачу в классе КНФ (рис. 23).
с V С а V Ь V с
Ь V с
Рис. 23. Пример минимизации по карте Карно ПФ ДаЬсф = 4, 5, 6, 10, 12 [0, 1, 7, 8, 9, 14] в классе КНФ
Получаем Г(аЪсё) = (Ъ V с)(а V Ъ V с)(с V ё).
ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 11 Минимизация переключательных функций методом Л. Ф. Викентьева
Цель занятия: научиться минимизировать переключательные функции методом Л. Ф. Викентьева.
Методика решения задач
З а д а ч а 1. Задана функция шести переменных в восьмеричной системе счисления: Г8(х6 х5 х4 х3 х2 Х1) = 3, 41 [0, 36]. Минимизировать ПФ методом Л. Ф. Викентьева.
Неминимизированная ПФ имеет две конституенты - 3 и 41, каждая из которых содержит шесть переменных, т. е. исходная сложность представления ПФ: 6 + 6 = 12.
Приступим к минимизации. Для начала проведем нормализацию наборов - все наборы должны иметь одинаковое число разрядов. Добавим левые нули:
Гв(хб хз х4 хз х2 х1) = 03, 41 [00, 36].
Берем первый рабочий набор 03 и выполним его минимизацию со старшего раз-
п-з 0. ряда: 03 3.
с
Очевидно, что для старшего разряда нет запрещенных цифр, так как ни одно запрещенное число не оканчивается на 3. Поэтому 3 можно включить в полный куб:
3 3
03 ^(0 V1V 2 V 3 V 4 V 5 V 6 V 7)- = (0...7)-.
Теперь минимизируем младший разряд. Так как старший разряд может быть любым, то младший не должен быть 0 или 6, чтобы не получить 00 и 36:
3
03 = (0...7)—.
0,6
Минимизируем младший разряд: рабочий набор 3, запрещенные - 0 и 6. На кубе соседних чисел (рис. 37) треугольниками обозначены запрещенные вершины, кружком - минимизируемая вершина. Таким образом, 3 необходимо включить в квадрат (1, 3, 7, 5).
Рис. 37. Минимизация ПФ трех переменных 3 [0, 6]
Квадрату (1, 3, 7, 5) соответствует (рис. 38) импликанта в виде обобщенного кода (- - 1).
Рис. 38. Покрытие квадрата (1, 3, 7, 5)
Таким образом, получаем
3
03 = (0...7)-= (0...7)(1 V 3 V 5 V 7) = (---)(— 1).
0,6
Здесь (---) - покрытие полного куба.
Проверим, покрыто ли число 41? Да, покрыто. В первой скобке покрытия (0...7X1v3v5v7) есть цифра 4, а во второй - цифра 1. Поэтому ответ такой:
Г8(х6 х5 х4 х3 х2 х1) = х1. Переменная х1 - младшая переменная, соответствует 1 в покрытии (- - -)(- - 1).
Получили сложность - 1 (одна переменная).
З а д а ч а 2. Задана функция шести переменных в восьмеричной системе счисления:
Гв(х6 х5 х4 х3 х2 хО = 21, 25, 33, 37, 54, 56 [20, 22, 24, 26, 30, 32, 34, 36].
Минимизировать ПФ методом Л. Ф. Викентьева.
Возьмем набор 21 и начнем минимизацию со старшего разряда:
21 = -1 = (0...7) 1
0,2,4,6
Минимизируем ПФ трех переменных 1[0,2,4,6] по кубу соседних чисел (рис. 39):
Рис. 39. Минимизация ПФ трех переменных 1 [0, 2, 4, 6]
Из рис. 39 видно, что 1 нужно включить в квадрат (1, 3, 7, 5). 2 1
Получим 21 = -1 = (0...7)_ = (0...7)(1 V 3 V 5 V 7) = (---)(--1) = хх.
0,2,4,6
Исключаем покрытые числа: 21, 25, 33, 37. Остаются 54, 56.
5 ,
Продолжим минимизацию: 54 = 4.
Минимизируем ПФ трех переменных 5 [2, 3] по кубу соседних чисел (рис. 40):
<Шооо
Рис. 40. Минимизация ПФ трех переменных 5 [2, 3]
Таким образом:
5 4
54 = — 4 = (4 V 5 V 6 V 7)— = (4 V 5 V 6 V 7)(0...7).
Для младшего разряда нет запрещенных цифр, так как ни одно запрещенное число не начинается на 4, 5, 6, 7. Проверяем покрытие чисел: 54 покрыто, 56 покрыто, остальные числа не покрыты.
Получим импликанту (рис. 41) для квадрата (4, 5, 7, 6): (4v5v6v7)(0...7)=(1 - -)(---) = Х6.
ния:
(0000
Рис. 41. Покрытие квадрата (4, 5, 6, 7)
Таким образом: f8(x6 x5 x4 x3 x2 x1) = x6vx1.
З а д а ч а 3. Задана функция девяти переменных в восьмеричной системе счисле-
fg(x9 Х8 Х7 Х6 Х5 Х4 хз х2 xi) = 701, 001, 700 [000, 770, 077, 777].
Минимизировать ПФ методом Л. Ф. Викентьева.
Начнем минимизацию со старшего разряда числа 701 (рис. 42):
7 0 1
701 = - 01 = (0...7)—1 = (0...7)(0...7) — = (0...7)(0...7)(1 v 5) =
= (---Х—Х-01) = x2x1.
100
Рис. 42. Минимизация ПФ трех переменных 1 [0, 7]
Проверяем покрытие: 701 и 001 покрыто, 700 не покрыто. Приступаем к миними-7
зации 700: 700 = - 00.
0
На рис. 43 выбираем квадрат (1, 3, 7, 5).
7 0
Получаем: 700 = -00 = (1 v 3 v 5 v 7)-0.
Рис. 43. Минимизация ПФ трех переменных 7 [0]
Минимизируем ПФ 0 [7]. Выбираем (рис. 44) нижнюю грань куба - квадрат (0, 1, 5, 4).
Рис. 44. Минимизация ПФ трех переменных 0 [7]
Получим
7 0
700 = -00 = (1V 3 V 5 V 7)(0 V1V 5 V 4)— = (1V 3 V 5 V 7)(0 V1V 4 V 5)(0...7).
Проверяем покрытие: 700 покрыто, 701 покрыто, 001 не покрыто, т. е. первое покрытие необходимо.
Получаем импликанту (1V 3 V 5 V 7)(0 V1V 4 V 5)(0...7) = (—1)(-0-)(---) = х7 х5.
Минимизированная ПФ выглядит следующим образом: ^(х9х8х7х6х5х4х3х2хх) = Х2ХХ V Х7Х5.
Заметим, что функция теперь зависит только от трех переменных, а не от девяти. Решим эту же задачу методом поразрядного сравнения рабочих и запрещенных двоичных наборов. Построим таблицу (табл. 34) двоичных наборов.
Таблица 34
Таблица двоичных наборов
Х9 Х8 Х7 х6 Х5 Х4 Х3 Х2 Х1 Набор
Рабочие наборы
1 1 1 0 0 0 0 0 1 701
0 0 0 0 0 0 0 0 1 001
1 1 1 0 0 0 0 0 0 700
Запрещенные наборы
0 0 0 0 0 0 0 0 0 000
1 1 1 1 1 1 0 0 0 770
0 0 0 1 1 1 1 1 1 077
1 1 1 1 1 1 1 1 1 777
Видим (табл. 34), что для покрытия первого числа 701 одной переменной не обойтись. Если выбрать из рабочего набора 701 переменную Xi, то она обеспечит отличие (ортогональность) по отношению к запрещенным наборам 000 и 770. Для обеспечения
ортогональности с запрещенными наборами 077 и 777 - добавим переменную Х2 .
Получаем импликанту Х2Х1, которая покрывает и рабочий набор 001 (в нем тоже младшие разряды - 01).
Для покрытия рабочего набора 700 можно взять переменную Хб для отличия от запрещенных наборов 770, 077 и 777, а для отличия от запрещенного набора 000 выберем, например, переменную х7.
Получим импликанту Х7 Хб .
В итоге Г(Х9Х8Х7ХбХ5Х4Х3Х2Х1) = Х2Х1 v Х7Х6, и это тоже правильный ответ.
Литература
1. Аляев Ю.А., Тюрин С.Ф. Дискретная математика и математическая логика. - М.: Финансы и статистика, 2006. 368 с.
2. Тюрин С.Ф., Аляев Ю.А. Практическая дискретная математика и математическая логика (практические занятия 1-3) // Образовательные ресурсы и технологии. 2015. № 4 (12). С. 43-52. http://www.muiv.ru/vestnik/pdf/pp/ot_2015_4_043-052.pdf.
2. Тюрин С.Ф., Аляев Ю.А. Практическая дискретная математика и математическая логика (практические занятия 4-6) // Образовательные ресурсы и технологии. 2016. № 1 (13). С. 21-33. http: //www .muiv. ru/vestnik/pdf/pp/ot_2016_1_021-033.pdf.
Practical discrete mathematics and mathematics of logic (practical occupations 7-11)
Sergey Fedofentovich Tyurin, professor, professor of the pulpit of the automation and tele mechanical engineers,
Yuri Alexandrovich Alyaev, assistant professor, assistant professor of the pulpit of software of the computing machinery and automated systems, Perm military institute of internal troops of the MIA of Russia
The technique of solving problems on a practical training on discipline «Discrete mathematics and mathematical logic» developed and applied in practice in the universities of the Perm region.
Keywords: the discrete mathematics, mathematics of logic, the switching function, minimization.