Конспект занятия "Минимизация булевых функций в классе дизъюнктивных нормальных форм" 10 класс

Тема: Минимизация булевых функций в классе дизъюнктивных нормальных форм.
Цели:
Дидактические:
продолжить знакомство с алгеброй логики, логикой высказываний;
познакомить учащихся с алгоритмом минимизации булевых функций.
Развивающие:
повысить логико-технологический уровень мышления;
развивать мыслительные операции, в частности анализ, сравнение и обобщение;
развивать социальные коммуникации.
Воспитательные:
воспитывать самостоятельность, уверенность в своих силах;
формировать эстетическое наслаждение от решения задачи, хорошо выполненной
работы;
Ход занятия.
1. Организационный момент
2. Актуализация
Тема сегодняшнего занятия очень актуальна, и вы сейчас поймете почему.
В середине 19 века английский ученый Дж. Буль (1815 - 1864) заложил основы
математической логики, которую еще называют булевой алгеброй. Булева алгебра долго
существовала как абстрактная, хотя и очень красивая наука, а в середине 20 в. оказалось,
что она имеет конкретное и очень важное применение в современной жизни. В
настоящее время булева алгебра служит основой для описания логики работы
аппаратных и программных средств ЭВМ. Кроме того, она используется при
проектировании микросхем, которые в большом количестве присутствуют в
электробытовых приборах, устройствах военной и космической техники. Как известно,
информация в компьютере хранится и обрабатывается в двоичном виде, т.е. в виде
последовательности нулей и единиц. Для любой операции исходными данными и
результатами являются последовательности нулей и единиц. Таким образом, фактически
происходит вычисление значений булевых функций. Конечно, желательно все булевы
функции реализовать так при помощи логических элементов. Но в настоящий момент
реализованы не все булевы функции. Поэтому разумно уметь находить наиболее
короткие формы записи функций в некотором едином классе формул. Большое значение
в этом смысле имеют минимальные ДНФ.
Дизъюнктивна нормальная форма называется минимальной, если она содержит
наименьшее общее число вхождений переменных по сравнению со всеми
равносильными ей ДНФ.
Процесс нахождения минимальной ДНФ называется минимизацией в классе ДНФ.
Объявление целей урока .
С чем мы познакомились на прошлом уроке?
Сегодня на уроке мы продолжим строить СДНФ, а также будем заниматься их
миннимизаций.
Входной контроль знаний (опрос)
- Вспомним ряд вопросов, которые пригодятся при выполнении поставленной задачи.
Что такое булева функция? Область определения и множество значений булевой
функции? Как их еще называют? (Логической (булевой) функцией называют
функцию f(x1,x2), аргументы которой независимые переменные и сама функция
принимает значение 0 или 1.)
Способы задания логических функций? (таблицей или формулой)
Какие булевы функции вы знаете? ( ложь, истина, конъюнкция, …)
С помощью каких операций можно выразить любую логическую функцию и зачем
это нужно? (конъюнкция, дизъюнкция, инверсия)
Назовите алгоритм построения СДНФ по таблице истинности.
Задание: по заданной таблице истинности построить СДНФ.
А)
x
y
F
0
0
1
0
1
1
1
0
0
1
1
0
Ответ: не X
B)
x
y
f
0
0
1
0
1
1
1
0
0
1
1
1
Ответ не Х + Y
C)
x
y
z
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
Ответ: xyz+ не xне y; х не z+ не yz
3. Лекция по теме Минимизация булевых функций в классе дизъюнктивных
нормальных форм.
Мы убедились, что, к сожалению для нахождения минимальной ДНФ необходимо
перебрать все возможные способы применения основных законов алгебры логики к
исходной формуле. Для функции от большого числа переменных этот процесс
оказывается слишком трудоёмким.
Более эффективным способом нахождения минимальных ДНФ является метод
минимизирующих карт.
X1
X2
….
X1 X2
X1 X3
….
X1 X2…Xn-1Xn
X1
X2
….
X1 X2
X1 X3
….
X1 X2…Xn-1 Не Xn
X1
X2
….
X1 X2
X1 X3
….
X1 X2 Не Xn-1 Xn
….
….
….
….
….
….
….
Не X1
Не X2
….
Не X1 Не X2
Не X1 Не X3
….
Не X1 Не X2… Не Xn-1 Не Xn
В последнем столбце карты перечислены все элементарные конъюнкции, которые
могут входить в СДНФ функции. В остальных столбцах каждой строки перечислены
все возможные конъюнкции меньшего размера, полученные из элементарной
конъюнкции последнего столбца путём удаления от одной до n переменных.
Если в СДНФ данной функции не входит какая-либо из конъюнкций последнего
столбца, то в минимальную форму этой функции не может входить ни одна из
конъюнкций соответствующей строки таблицы.
Способ минимизации ДНФ методом минимизирующих карт (гарвардский метод):
Строим минимизирующую карту.
Вычеркнем из таблицы (минимизируюшей карты) все строки, в которых
конъюнкция последнего столбца не входит в СДНФ функции.
Конъюнкции «вычеркнутых строк» вычеркнем во всех остальных строках
таблицы.
Если в строке остались конъюнкции с различным числом сомножителей, то
конъюнкции с не минимальным числом сомножителей оставляем только тогда,
когда они встречаются в других строках.
Отметим конъюнкции, оставшиеся единственными на строке. Вычеркнем
строки, в которых присутствуют такие же конъюнкции.
Взяв по одной конъюнкции для всех не зачёркнутых строк и записав их
дизъюнкцию, получают минимальную форму.
Заметим, что нахождение МДНФ неоднозначно, ибо произволен выбор минимальных
конъюнкций в строках. Однако все полученные по этому методу МДНФ будут
«одинаково минимальны».
Рассмотрим пример:
x
y
z
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0
1
0
1
1
1
0
1
1
1
x
y
z
xy
xz
yz
xyz
x
y
не z
xy
x не z
y не z
xy не z
x
не y
z
x не y
xz
не yz
x не yz
x
не y
не z
x не y
x не z
не y не z
x не y не z
не x
y
z
не xy
не xz
yz
не xy z
не x
y
не z
не xy
не x не z
y не z
не xy не z
не x
не y
z
не x не y
не xz
не yz
не x не yz
не x
не y
не z
не x не y
не x не z
не y не z
не x не y не z
xyz+ не xне y
4. Закрепление у доски:
F(x,y,z)=xyнеz+xнеyz+xнеyнеz+неxнеyz
x
y
z
xy
xz
yz
xyz
x
y
не z
xy
x не z
y не z
xy не z
x
не y
z
x не y
xz
не yz
x не yz
x
не y
не z
x не y
x не z
не y не z
x не y не z
не x
y
z
не xy
не xz
yz
не xy z
не x
y
не z
не xy
не x не z
y не z
не xy не z
не x
не y
z
не x не y
не xz
не yz
не x не yz
не x
не y
не z
не x не y
не x не z
не y не z
не x не y не z
x
y
z
xy
xz
yz
xyz
x
y
не z
xy
x не z
y не z
xy не z
x
не y
z
x не y
xz
не yz
x не yz
x
не y
не z
x не y
x не z
не y не z
x не y не z
не x
y
z
не xy
не xz
yz
не xy z
не x
y
не z
не xy
не x не z
y не z
не xy не z
не x
не y
z
не x не y
не xz
не yz
не x не yz
не x
не y
не z
не x не y
не x не z
не y не z
не x не y не z
x не z+ не yz
5. Самостоятельно:
F(x,y,z)=неxнеyнеz+неxyнеz+неxyz+xyнеz+xyz
6. Подведение итогов:
Домашнее задание: учить основные понятия лекции, минимизировать логические
функцию (F(x,y,z)= xyнеz+xнеyz+xнеyнеz+неxyнеz+неxнеyz+неxyz), выполнить
заготовки для практической работы.
Литература:
Е. В. Андреева, Л. Л. Босова, И. Н. Фалина Математические основы информатики
Учебное пособие М.: БИНОМ. Лаборатория знаний, 2012