Дискретная математика (1-й поток)

Материал из Кафедра математической кибернетики
Перейти к: навигация, поиск

Дополнительная страница по курсу Дискретная математика (1й курс).

Основной курс для студентов 1-го курса, читается во 2-м семестре. Лекции - 3 ч в неделю, семинары - 2 ч в неделю, отчетность - экзамен.

Лектор - Селезнева Светлана Николаевна


Объявления

Вопросы по содержанию курса (и другие вопросы, относящиеся к курсу) можно задавать лектору Селезневой Светлане Николаевне по эл. почте selezn@cs.msu.ru

Программа курса

1. Алгебра логики. Функции алгебры логики, их представление таблицами истинности и формулами. Тождества. Существенность переменных. Дизъюнктивные и конъюнктивные нормальные формы (ДНФ и КНФ). Полиномы Жегалкина. Полнота в алгебре логики. Замкнутые классы. Предполные классы.

2. Графы. Графы, их простейшие свойства. Связность. Деревья, остовные деревья. Планарность графов. Раскраски графов.

3. Коды. Кодирование. Алфавитные коды, их свойства. Однозначность (разделимость) алфавитных кодов. Оптимальность алфавитных кодов. Коды, обнаруживающие и исправляющие ошибки. Коды Хэмминга. Линейные коды.

4. Конечные автоматы. Конечные автоматы-преобразователи и конечно-автоматные функции. Представления конечных автоматов и конечно-автоматных функций. Упрощение конечных автоматов.

5. Сложность. Схемы из функциональных элементов (СФЭ), представление функций алгебры логики ими. Сумматор, оценка его сложности в СФЭ. Вычитатель, оценка его сложности в СФЭ. Умножитель, оценка его сложности в СФЭ.

6. Многозначные логики. Функции многозначной логики, их представление нормальными формами и полиномами.

Литература

  1. Конспекты лекций.
  2. Алексеев В.Б. Лекции по дискретной математике. М.: Инфра-М, 2012.
  3. Алексеев В.Б. Лекции по дискретной математике. ВМК, 2004. Электронный ресурс.
  4. Яблонский С.В. Введение в дискретную математику. М.: Наука, 1986.
  5. Гаврилов Г.П., Сапоженко А.А. Задачи и упражнения по дискретной математике. М.: Физматлит, 2004.
  6. Емеличев В.А., Мельников О.И., Сарванов В.И., Тышкевич Р.И. Лекции по теории графов. М.: Либроком, 2006.

Лекции

Алгебра логики

Лекция 1. Функции алгебры логики. Таблицы истинности. Существенные и несущественные переменные. Формулы. Тождества.

Лекция 2. Разложение функций по переменным. Дизъюнктивные и конъюнктивные нормальные формы (ДНФ и КНФ). Совершенная ДНФ и совершенная КНФ.

Лекция 3. Сокращенная ДНФ. Построение сокращенной ДНФ по КНФ.

Лекция 4. Полиномы Жегалкина. Теорема Жегалкина. Построение полиномов Жегалкина.

Лекция 5. Полные системы. Замыкание множества. Замкнутые классы. Замкнутость классов T_0, T_1, L, S, M. Леммы о несамодвойственной, немонотонной и нелинейной функциях.

Лекция 6. Полнота. Теорема Поста о полноте. Базис в P_2. Теореме о числе функций в базисе P_2. Предполные классы. Теорема о предполных классах в P_2.

Графы

Лекция 7. Графы. Простейшие свойства графов. Пути и цепи. Циклы и связность. Леммы об удалении и добавлении ребер в связных графах. Теорема о числе вершин, числе ребер и числе компонент связности в графе. Орграфы.

Лекция 8. Деревья. Теорема о равносильных определениях дерева. Корневые деревья. Упорядоченные корневые деревья. Оценка числа деревьев с q ребрами.

Лекция 9. Остовные деревья. Кратчайшие остовные деревья. Алгоритм построения кратчайшего остовного дерева.

Лекция 10. Геометрическое представление графов. Планарные графы. Формула Эйлера для планарных графов. Критерий планарности Понтрягина-Куратовского.

Лекция 11. Раскраски графов. Раскраски графов в два цвета. Раскраски планарных графов.

Коды

Лекция 12. Кодирование. Алфавитные коды. Теорема об однозначности равномерного кода. Теорема об однозначности префиксного кода. Алгоритм распознавания однозначности алфавитного кода. Теорема Маркова.

Лекция 13. Алфавитные коды. Неравенство Макмиллана. Теорема о существовании префиксного кода с заданными длинами кодовых слов. Дерево префиксного кода.

Лекция 14. Алфавитные коды. Оптимальные коды (коды с минимальной избыточностью). Свойства оптимальных кодов. Теорема редукции. Метод Хаффмана построения оптимального кода.

Лекция 15. Коды, обнаруживающие и исправляющие ошибки, их свойства. Мощность кода, исправляющего ошибки. Линейные коды и их свойства.

Лекция 16. Коды, исправляющие одну ошибку. Коды Хэмминга и их свойства. Мощность кода, исправляющего одну ошибку.

Автоматы

Лекция 17. Конечные автоматы. Способы их представления. Схемы из функциональных элементов с задержками (СФЭЗ) и представление конечных автоматов ими.

Лекция 18. Конечные автоматы. Отличимость состояний конечного автомата. Оценка длины слова, отличающего два отличимых состояния конечного автомата. Упрощение автоматов.

Сложность

Лекция 19. Схемы из функциональных элементов (СФЭ). Схемы для сложения и вычитания, их сложность.

Лекция 20. Схема для умножения. Сложность схемы для умножения по методу Карацубы.

Многозначные логики

Лекция 21. Функции k-значной логики. Таблицы значений. Представление функций k-значной логики в 1-й и 2-й формах. Представление функций k-значной логики полиномами по модулю k.

Семинары

План семинарских занятий

Дополнительные задачи к семинарским занятиям

Экзамен, 2022 год (для студентов 1-го курса)

Экзамен устный. В билете два теоретических вопроса и задача. Первый вопрос билета - из части А, второй вопрос билета - из части Б.

Вопросы к экзамену

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

  1. Функции алгебры логики. Полиномы Жегалкина. Быстрый алгоритм построения полинома Жегалкина функции алгебры логики (с обоснованием).
  2. Функции алгебры логики. Двойственность. Самодвойственные функции. Замкнутость класса самодвойственных функций.
  3. Функции алгебры логики. Линейные функции. Лемма о нелинейной функции.
  4. Функции алгебры логики. Полнота. Теорема Поста о полноте системы функций алгебры логики.
  5. Функции алгебры логики. Предполные классы. Теорема о предполных классах.
  6. Функции k-значной логики. Теоремы о представлении функций k-значной логики во 2-й форме и полиномами по модулю k.
  7. Деревья. Теорема о равносильных определениях дерева.
  8. Остовные деревья. Алгоритм построения кратчайшего остовного дерева в связном графе (с обоснованием).
  9. Раскраски вершин графов. Теорема о раскраске вершин планарных графов в 5 цветов.
  10. Алфавитные коды. Однозначность (разделимость) алфавитного кода. Алгоритм распознавания однозначности алфавитного кода (с обоснованием).
  11. Алфавитные коды. Теорема Маркова об алфавитных кодах.
  12. Алфавитные коды. Неравенство Макмиллана.
  13. Алфавитные коды. Префиксные коды. Существование префиксного кода с заданными длинами кодовых слов.
  14. Оптимальные коды (коды с минимальной избыточностью). Теорема редукции.
  15. Коды, обнаруживающие и исправляющие ошибки. Критерии кодов, обнаруживающих и исправляющих t ошибок замещения. Функция Mt(n), ее оценки.
  16. Коды, исправляющие одну ошибку. Коды Хэмминга. Оценка функции M1(n).
  17. Схемы из функциональных элементов и элементов задержки (СФЭЗ). Автоматность осуществляемых ими отображений.
  18. Схемы из функциональных элементов и элементов задержки (СФЭЗ). Моделирование автоматной функции схемой из функциональных элементов и элементов задержки.
  19. Конечные автоматы. Отличимость состояний конечного автомата. Теорема Мура. Достижимость оценки теоремы Мура.
  20. Схемы из функциональных элементов (СФЭ). Умножитель. Метод Карацубы построения умножителя, верхняя оценка его сложности.

Часть Б. Ответ почти без подготовки и без возможности пользоваться источниками.

  1. Функции алгебры логики. Существенность переменных. Равенство функций. Формулы. Тождества.
  2. Функции алгебры логики. Теорема о разложении функции алгебры логики по переменным. Теорема о совершенной дизъюнктивной нормальной форме (ДНФ). Теорема о совершенной конъюнктивной нормальной форме (КНФ).
  3. Функции алгебры логики. Полные системы. Примеры полных систем (с доказательством полноты).
  4. Функции алгебры логики. Теорема Жегалкина о представимости функции алгебры логики полиномом.
  5. Функции алгебры логики. Замыкание, замкнутый класс. Функции, сохраняющие константу, и линейные функции. Замкнутость классов функций, сохраняющих константу, и линейных функций.
  6. Функции алгебры логики. Монотонные функции. Замкнутость класса монотонных функций.
  7. Функции алгебры логики. Самодвойственные функции. Лемма о несамодвойственной функции.
  8. Функции алгебры логики. Монотонные функции. Лемма о немонотонной функции.
  9. Функции алгебры логики. Базис. Теорема о числе функций в базисе в алгебре логики.
  10. Функции k-значной логики. Теорема о представлении функций k-значной логики в 1-й форме.
  11. Графы. Изоморфизм графов. Связность. Простейшие свойства графов. Теорема о числе вершин, ребер и компонент связности в графе.
  12. Деревья. Корневые деревья, упорядоченные корневые деревья. Верхняя оценка числа деревьев с заданным числом ребер.
  13. Геометрическое представление графов. Теорема о геометрическом представлении графов в трехмерном пространстве.
  14. Планарные графы. Формула Эйлера для планарных графов. Теорема о наибольшем числе ребер в планарном графе.
  15. Графы K5 и K3,3. Непланарность графов K5 и K3,3. Теорема Понтрягина-Куратовского (доказательство в одну сторону).
  16. Раскраски вершин графов. Теорема о раскраске вершин графа в 2 цвета (теорема Кенига).
  17. Оптимальные коды (коды с минимальной избыточностью). Леммы о свойствах оптимальных кодов.
  18. Линейные двоичные коды. Теорема о кодовом расстоянии линейных кодов.
  19. Схемы из функциональных элементов. Сумматор, верхняя оценка его сложности. Вычитатель, верхняя оценка его сложности.
  20. Конечные автоматы. Функционирование конечного автомата. Автоматные функции. Канонические уравнения и диаграмма Мура конечного автомата. Единичная задержка, ее автоматность.

Литература

  1. Слайды к лекциям.
  2. Алексеев В.Б. Лекции по дискретной математике. М.: Инфра-М, 2012.
  3. Алексеев В.Б. Лекции по дискретной математике. ВМК, 2004. Электронный ресурс.
  4. Яблонский С.В. Введение в дискретную математику. М.: Наука, 1986.
  5. Гаврилов Г.П., Сапоженко А.А. Задачи и упражнения по дискретной математике. М.: Физматлит, 2004.
  6. Емеличев В.А., Мельников О.И., Сарванов В.И., Тышкевич Р.И. Лекции по теории графов. М.: Либроком, 2006.

Задачи к экзамену

  • Найти существенные и фиктивные переменные заданной функции алгебры логики.
  • Найти совершенную ДНФ, совершенную КНФ или полином Жегалкина заданной функции алгебры логики.
  • Подсчитать число функций алгебры логики, зависящих от n переменных, в заданном множестве.
  • Проверить полноту заданной системы функций алгебры логики (конечной или бесконечной).
  • Проверить, является ли данная система функций алгебры логики базисом, или выделить из заданной системы функций алгебры логики все базисы.
  • Записать заданную k-значную функцию в 1-й или 2-й форме.
  • Найти полином по модулю k заданной k-значной функции при заданном простом числе k или проверить, можно ли представить заданную k-значную функцию полиномом по модулю k при заданном составном числе k.
  • Найти число неизоморфных графов с заданными свойствами и изобразить эти графы.
  • Найти код упорядоченного корневого дерева или восстановить упорядоченное корневое дерево по коду.
  • Найти в заданном графе подграф, гомеоморфный графу K_5 или графу K_3,3.
  • Проверить, является ли заданный граф планарным.
  • Проверить, найдется ли планарный граф с заданными свойствами.
  • Найти хроматическое число или хроматический индекс заданного графа.
  • Проверить разделимость заданного алфавитного кода (по алгоритму).
  • Проверить разделимость заданного алфавитного кода по неравенству Макмиллана или построить префиксный код с заданными длинами кодовых слов.
  • Найти оптимальный алфавитный двоичный код по заданному набору частот.
  • Определить, сколько ошибок замещения обнаруживает или исправляет заданный равномерный код.
  • Закодировать или исправить ошибку и декодировать сообщение в коде Хэмминга.
  • Найти кодовое расстояние заданного линейного кода.
  • Найти диаграмму Мура автоматной функции, заданной описанием.
  • Найти диаграмму Мура, каноническую таблицу, канонические уравнения или СФЭ с задержками автоматной функции, заданной одним из перечисленных способов.
  • Построить диаграмму Мура, не содержащую недостижимых и неотличимых состояний, для заданной автоматной функции.