- •Зачем обучать математике (мнение в. Успенского). Демократичность математики.
- •Что такое логика. Примеры ошибок в логических рассуждениях. Формальная логика Аристотеля. Переход от формальной логики к математической. Что такое математическая логика?
- •Существует ли математический мир независимо от нас или создается нами? – два мнения. Математики открывают или изобретают? Сущность математики (точка зрения н. Н. Непейводы).
- •Зачем Вам изучать формальный язык? Значение математической логики для программирования.
- •Парадоксы. Что является источником парадоксов в математике. Парадокс лжеца. Парадокс Сократа и Платона. Парадокс Альберта Саксонского. Значение парадоксов для математики.
- •Парадоксы. Что является источником парадоксов в математике. Парадокс Берри. Парадокс брадобрея. Значение парадоксов для математики.
- •Парадоксы. Что является источником парадоксов в математике. Парадокс о прямом и противоположном утверждение. Парадокс о прямоугольнике с числами. Значение парадоксов для математики.
- •Задача о двух шкатулках. Логика и реальный мир.
- •Что такое высказывание? Атомарные и сложные высказывания. Соглашение об истинностных значениях высказываний. Соглашение об истинностном значении сложного высказывания.
- •Формальный язык. Предметы и универсум. Константы и переменные. Функции. Термы. Отношения и предикаты. Элементарные формулы. Сложные формулы. Интерпретация формул.
- •Примеры нестандартной оценки истинности автореферентных (самоссылочных высказываний). Пример Клини для конъюнкции. Примеры для отрицания.
- •Логические связки: эквиваленция, импликация (обоснование таблицы истинности для импликации). Какие утверждения при переводе на формальный язык используют импликацию и эквиваленцию.
- •Логические связки: квантор общности и квантор существования. Язык первого порядка.
- •Как переводить высказывания на формальный язык.
- •Равенство. Основной закон равенства. Как представить единственность и не единственность на формальном языке.
- •Пропозициональные формулы. Таблицы истинности.
- •Тавтологии, противоречия и выполнимые формулы. Примеры тавтологий.
- •Как доказывать, что данная формула является тавтологией. Два способа.
- •Равносильные формулы. Примеры равносильностей. Способы доказательств равносильностей.
- •Теорема о равносильных преобразованиях (с доказательством).
- •Интуитивная теория множеств. Принцип абстракции и принцип объемности. Как доказывать равенство множеств?
- •Отношение включения. Пустое множество. Множество–степень. Парадокс Бертрана Рассела и его значение.
- •Операции над множествами: объединение, пересечение, относительное дополнение, симметрическая разность, абсолютное дополнение. Значение диаграмм Эйлера.
- •Основные булевы тождества для операций над множествами. Как их доказывать.
- •Упорядоченные пары и n-ки. Прямое произведение множеств. Отношения. Область определения и область значений отношения. Обратное отношение.
- •Композиция отношений. Определения рефлексивности, симметричности, транзитивности и антисимметричности. Примеры отношений.
- •Отношение эквивалентности. Примеры. Классы эквивалентности. Свойства классов эквивалентностей.
- •Разбиения множеств. Связь разбиения множества и отношения эквивалентности. Фактор–множество.
- •Частичный порядок. Линейный порядок. Примеры.
- •Определение функции. N-местные функции. Инъективность, сюръективностьь и биективность. Примеры.
- •Обратное отображение. Теорема о существовании обратного отображения (доказательство). Примеры.
- •Определение формальной теории. Выводимость. Доказуемые формулы.
- •Примеры формальных теорий. Теоремы и метатеоремы.
- •Математическая индукция. Индуктивные определения. Принцип индукции по построению объекта. Пример доказательства с математической индукцией.
- •Неформальное определение доказательства. Использование доказательства в математике. Виды доказательств.
- •Доказательство контрпримером. Доказательство от противного. Пример доказательства.
- •Понятие алгоритма и неформальная вычислимость.
- •Определение частично–рекурсивных функций. Базисные функции.
- •Операции суперпозиции, примитивной рекурсии и минимизации.
- •Примитивно–рекурсивные и частично–рекурсивные функции. Функция Аккермана.
- •Машины Тьюринга.
- •Альтернативные способы формализации понятия алгоритма и вычислимых функций. Основной результат. Тезис Чёрча.
- •Некоторые алгоритмически неразрешимые проблемы.
- •Сравнение скорости роста функций (o – большое). Сводка результатов о сравнении функций.
- •Асимптотическая временная сложность алгоритмов.
- •Что больше влияет на максимальный размер задачи, которую мы можем решить: скорость вычисления или сложность алгоритма?
- •Сложность задач.
- •Классификация задач по их сложности. Задачи полиномиальной сложности и задачи экспоненциальной сложности.
- •Задачи, не попадающие ни в класс e, ни в класс p.
-
Понятие алгоритма и неформальная вычислимость.
Алгоритм и его свойства
• Под алгоритмом понимается способ преобразования представления информации. Слово algorithm – произошло от имени аль-Хорезми – автора известного арабского учебника по математике (от его имени произошли также слова «алгебра» и «логарифм»).
• Интуитивно говоря, алгоритм – некоторое формальное предписание, действуя согласно которому можно получить решение задачи.
• Алгоритмы типичным образом решают не только частные задачи, но и классы задач. Подлежащие решению частные задачи, выделяемые по мере надобности из рассматриваемого класса, определяются с помощью параметров. Параметры играют роль исходных данных для алгоритма.
Основные особенности алгоритма
• Определенность. Алгоритм разбивается на отдельные шаги (этапы), каждый из которых должен быть простым и локальным.
• Ввод. Алгоритм имеет некоторое (быть может, равное нулю) число входных данных, т.е. величин, заданных ему до начала работы.
• Вывод. Алгоритм имеет одну или несколько выходных величин, т. е. величин, имеющих вполне определенное отношение к входным
данным.
• Детерминированность. После выполнение очередного шага алгоритма, однозначно определено, что делать на следующем шаге.
Мы не требуем, чтобы алгоритм заканчивал свою работу для любых входных данных.
Неформальное определение вычислимой функции
Пусть N обозначает множество натуральных чисел {0, 1, 2, ...}. Объекты, которые мы будем рассматривать, будут функциями с областью определения Df ⊆ N k (k – целое положительное число) и с областью значений Rf ⊆ N. Такие функции будем называть k-местными частичными. Слово «частичная» должно напомнить о том, что функция определена на подмножестве Nk (конечно, в частном случае может быть Df = Nk, тогда функция называется всюду определенной).
Назовем k-местную функцию f: Nk → N эффективно вычислимой (или просто вычислимой), если существует алгоритм A, её вычисляющий, то есть такой алгоритм A, что:
• Если на вход алгоритма A поступил вектор x = <x1, x2, ..., xk> из Df, то вычисление должно закончиться после конечного числа шагов и выдать f(x).
• Если на вход алгоритма A поступил вектор x, не принадлежащий области определения Df, то алгоритм A никогда не заканчивается.
Комментарии к неформальному определению вычислимости
• Мы будем рассматривать алгоритмы, имеющие дело только с натуральными числами. Это не является потерей общности, так как объекты другой природы можно закодировать натуральными числами.
• Понятие вычислимости определяется здесь для частичных функций. Например, нигде не определенная функция
вычислима, в качестве A надо взять программу, которая всегда зацикливается.
• Входами и выходами алгоритмов могут быть не только натуральные числа, но и двоичные строки (слова в алфавите
{0, 1}), конечные последовательности слов и вообще любые, как говорят, «конструктивные объекты».
• Множество эффективно вычисляемых функций мы не отождествляем с множеством «практически вычисляемых»
функций, так как не накладываем на первое множество никаких ограничений. Хотя каждое входное натуральное
число должно быть конечным, тем не менее не предполагается верхняя граница размера этого числа. Точно так же нет никакой верхней границы на число шагов, которые может сделать алгоритм для конкретных x из области определения.