Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций ДМ.doc
Скачиваний:
25
Добавлен:
16.11.2019
Размер:
3.29 Mб
Скачать

5 Элементы теории чисел 80

5.1 Модулярная арифметика 80

5.1.1 Алгоритм Евклида для нахождения наибольшего общего делителя 82

5.1.2 Вычисление обратных величин 83

5.1.3 Основные способы нахождения обратных величин 85

5.1.4 Китайская теорема об остатках 88

5.2 Кодирование 89

5.2.1 Оптимальное кодирование 89

5.3 Обнаружение и исправление ошибок 94

5.3.1 Общие понятия 94

5.3.2 Линейные групповые коды 95

5.3.2 Код Хэмминга 101

5.3.3 Циклические коды 104

5.3.4 Построение и декодирование конкретных циклических кодов 109

5.4 Сжатие информации 116

5.4.1 Исключение повторения строк в последующих строках 116

5.4.2 Алгоритм LZW 118

6 Теория алгоритмов 121

6.1. Основные понятия 121

6.1.1 Основные требования к алгоритмам 121

6.1.2 Блок–схемы алгоритмов 125

6.1.3 Представление данных 126

6.1.4 Виды алгоритмов 128

6.1.5 Правильность программ 129

6.1.6 Эффективность алгоритмов 130

6.1.7 Сходимость, сложность, надежность 132

6.2 Универсальные алгоритмы 135

6.2.1 Основные понятия 135

6.2.2 Машины Тьюринга 136

6.2.3 Рекурсивные функции 139

6.2.4 ПР-операторы 140

6.2.5 Тезис Черча-Тьюринга 142

6.2.6 Проблема самоприменимости 143

6.3 Языки и грамматики 145

6.3.1 Общие понятия 145

6.3.2 Формальные грамматики 147

6.3.3 Иерархия языков 148

6.4 Параллельные вычисления 148

РЕКОМЕНДОВАННАЯ ЛИТЕРАТУРА 150

Введение

Дисциплина “Дискретная математика” является составной частью подготовки студентов в области компьютерных технологий.

Изучение дисциплины способствует овладению математическими основами профилирующих дисциплин в области синтеза устройств ЭВМ.

Данный курс лекций предназначен для более углубленного самостоятельного изучения основ дисциплины.

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

Легко определить какое-либо конкретное множество. Определить его – значит относительно любого предмета уметь ответить на вопрос, принадлежит он данному множеству или нет.

Основатель теории множеств немецкий математик Георг Кантор (Cantor) (1845-1918) дал такое определение множества:

множество - это любая совокупность определенных и различимых объектов нашей интуиции, мыслимое как единое целое.

Т.е. всякое множество однозначно и полностью определяется своими элементами.

Второй раздел посвящен математической логике. Формальная логика – логика, где объектам, над которыми производятся логические рассуждения, приписываются формальные символы.

Когда к формальной логике применили математические методы - появилась математическая логика.

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

Математическая или формальная логика делится на три подраздела: логику Буля, логику высказываний и логику предикатов.

Логика Буля основывается на отношении эквивалентности, при котором правая часть равенства всегда содержит ровно столько же «истины», сколько и левая.

Третий раздел посвящен формальным теориям, в определении которых, понятия базируются на отношении порядка, при котором правая часть выражения (заключение) содержит больше «истины», чем левая (посылки), т.е. «истинность» заключения оказывается выше «истинности» посылок, о чем можно судить, в частности, по количеству единиц в таблицах истинности.

В четвертом разделе рассматриваются основы теории графов. Граф является важнейшим математическим понятием. На основе теории графов строятся модели разнообразных задач: маршрутизации, распределения ресурсов, дискретной оптимизации и управления, минимизации автоматов и алгоритмов. Стройная система специальных терминов и обозначений теории графов позволяют просто и доступно описывать сложные процессы. Особенно важно наличие наглядной графической интерпретации. Картинки позволяют сразу “усмотреть” суть дела на интуитивном уровне, дополняя и украшая утомительные рациональные текстовые доказательства и сложные формулы.

Пятый раздел посвящен изучению основ кодирования и защиты информации. Ранее средства кодирования играли вспомогательную роль и не рассматривались как отдельный предмет математического изучения. Но с появлением компьютеров ситуация радикально изменилась. Кодирование буквально пронизывает информационные технологии и является центральным вопросом при решении самых разных задач программирования:

  • представление данных проищвольной формы в памяти компьютера;

  • обеспечение помехоустойчивости при передаче информации по каналам связи;

  • сжатие информации в базах данных;

  • защита информации от несанкционированного доступа.

В алгоритмах защиты информации широко используется модулярная арифметика. А при кодировании для обеспечения помехоустойчивости – вычисления в конечных полях. Данные вопросы рассматриваются в теории чисел.

В шестом разделе рассматриваются основные элементы теории алгоритмов. Знание основной проблематики данной теории и принципов организации формальных исчислений дает понимание того, что можно и чего нельзя сделать с помощью вычислительной машины.