- •Введение
- •I. Рабочая программа
- •Лекции – 70 часов
- •1 Семестр (34 часа)
- •2 Семестр (36 часов)
- •Самостоятельная работа (ср) – 48 часов
- •Семинары – 35 часов
- •1 Семестр (17 часов)
- •1. Элементы комбинаторики (2 часа).
- •2 Семестр (18 часов)
- •Вариант ср
- •Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вопросы экзамена
- •1 Семестр
- •2 Семестр
- •Литература Основная
- •Дополнительная
- •II. Фонд задач
- •III. Образцы решения задач
- •1. Специальные представления булевых функций
- •Задача 1
- •2. Замкнутые классы и полнота систем функций алгебры логики
- •Задача 2
- •3. Реализация булевых функций схемами из функциональных элементов в стандартном базисе
- •Задача 3
- •4. Классы вычислимых и рекурсивных функций. Операции суперпозиции, примитивной рекурсии и минимизации
- •Задача 4
- •5. Критерий однозначности декодирования (а.А. Марков)
- •Задача 5
- •Задача 6
- •IV. Варианты тестовых заданий Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •V. Критерий оценки знаний
- •Содержание
III. Образцы решения задач
Программа аттестации студентов по курсу «Дискретная математика» содержит задачи по следующим пяти темам:
Специальные представления булевых функций.
Замкнутые классы и полнота систем функций алгебры логики.
Реализация булевых функций схемами из функциональных элементов в стандартном базисе.
Классы вычислимых и рекурсивных функций. Операции суперпозиции, примитивной рекурсии и минимизации.
Алфавитное кодирование. Алгоритм распознавания однозначности декодирования. Самокорректирующиеся коды.
1. Специальные представления булевых функций
Специальные представления булевых функций – это разложение булевых функций по переменным, СДНФ, СКНФ и полином Жегалкина.
Задача 1
Разложить функцию f(x,y,z) = ∑0(0,1,2,4) по всем переменным, найти ее СДНФ, СКНФ и построить для нее полином Жегалкина.
Решение:
СДНФ
,
где f (σ1,
σ2,
σ3)
= 1,
т.е. СДНФ ∑0(0,1,2,4)
=
СКНФ
,
где f (σ1,
σ2,
σ3)
= 0,
т.е. СКНФ ∑0(0,1,2,4)=
Полином Жегалкина для булевой функции можно построить тремя способами: методом таблиц, методом неопределенных коэффициентов и методом суперпозиции.
Метод таблиц:
,
f (δ1, δ 2, δ 3)=1,
т.е. ∑0(0,1,2,4)
=
=
(x+1)yz+x(y+1)z+xy(z+1)+xyz
=
= xyz+yz+xyz+xz+xyz+xy+xyz
= xy+xz+yz.
Вывод:
∑0(0,1,2,4)=
=
=
= xy+xz+yz.
2. Замкнутые классы и полнота систем функций алгебры логики
Основными замкнутыми классами в Р2 являются классы T0, T1, S, M, L, где
T0 – класс функций алгебры логики (ФАЛ), сохраняющих константу 0;
T1 – класс ФАЛ, сохраняющих константу 1;
S – класс самодвойственных функций;
M – класс монотонных функций;
L – класс линейных функций.
Каждый из классов T0, T1, S, M, L является предполным.
Критерий полноты в Р2. Система ФАЛ F полна в Р2 тогда и только тогда, когда она полностью не содержится ни в одном из предполных классов T0, T1, S, M, L.
Задача 2
Исследовать полноту системы F = {f1 = xy+z, f2 = x+y+1}.
Решение: Построим критериальную таблицу для функций системы. Она имеет вид:
|
T0 |
T1 |
S |
M |
L |
f1 |
+ |
– |
– |
– |
– |
f2 |
– |
+ |
– |
– |
+ |
Знак «+» в таблице означает, что функция в данном классе содержится, знак «–» – функция в данном классе не содержится. Если в каждом столбце имеется хотя бы один минус, то это означает, что система полна. Если в таблице имеется хотя бы один столбец из одних плюсов, то это означает, что система не полна.
Вывод: В каждом столбце имеется не менее одного минуса, то по критерию полноты данная система полна.
3. Реализация булевых функций схемами из функциональных элементов в стандартном базисе
Как известно, любую
булеву функцию f(x1,
… , xn)
можно реализовать схемой из функциональных
элементов (СФЭ) в стандартном базисе
Б={&,
,
–}, при этом сложность СФЭ L(S) ≤ n.2n+1,
где n ≥ 1.
