Перейти к основному содержанию

Варианты зачисления на курс

Изображение курса" Математическая логика
Изображение курса
Текст краткого изложения курса:
Эдсгеру Дейкстре приписывают высказывание: «наука о вычислимости изучает компьютеры не в большей мере, чем астрономия изучает телескопы». Смысл этой фразы в том, что конкретный компьютер или конкретный язык программирования – только инструмент познания общих закономерностей, справедливых для всех вычислений. Основы этой науки заложены Тьюрингом, Гёделем, Чёрчем, Клини, Постом и другими математиками в 1930-х годах, когда вычислительных машин в современном понимании ещё не было. При этом базовые предположения в полной мере выполняются для современных компьютеров и, наверняка, будут верны для всех будущих, в том числе квантовых.

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

Теория вычислимости тесно переплетается и с математической логикой, особенно с логикой доказательств. Ещё Лейбниц предполагал, что любое рассуждение можно в конечном счёте заменить вычислением. Знаменитая теорема Гёделя о неполноте арифметики в некотором смысле делает невозможным реализацию идеи Лейбница. Теория вычислимости высвечивает глубинные причины этого явления.

В курс также включены два раздела, более близкие к практике. Первый – это лямбда-исчисление, альтернативный способ формализации, что такое программа. Эта наука закладывает основы функционального программирования. Второй – это теория сложности вычислений. На практике неважно, даст ли программа ответ в принципе. Важно, даст ли она его за приемлемое время. В этой теории возникает одна из ключевых открытых проблем современности: равны ли классы P и NP.


Каждую неделю вас ждут видеолекции и проверочные задания, которые нужно выполнять в срок.

В конце – итоговая проверочная работа. Студенты, которые набрали достаточное количество баллов, смогут получить сертификат.

Н.К. Верещагин, А. Шень, Лекции по математической логике и теории алгоритмов, часть 1, Начала теории множеств. – М.: МЦНМО, 2012.
Н.К. Верещагин, А. Шень, Лекции по математической логике и теории алгоритмов, часть 2, Языки и исчисления. – М.: МЦНМО, 2012.
Н.К. Верещагин, А. Шень, Лекции по математической логике и теории алгоритмов, часть 3, Вычислимые функции. – М.: МЦНМО, 2012.
Х.Барендрегт, Ламбда-исчисление, его синтаксис и семантика. – М.: Мир, 1985
С.А. Абрамов, Лекции по сложности алгоритмов. – М.: МЦНМО, 2009

Множества и их мощности. Счётные и несчётные множества. Диагональный метод Кантора.
Абстрактное понятие алгоритма. Машины Тьюринга. Счётность множества всех алгоритмов.
Вычислимые функции. Разрешимые и перечислимые множества. Существование невычислимых функций и неразрешимых множеств из соображений мощности.
Неразрешимость проблем самоприменимости и остановки. Теорема Успенского-Райса.
Понятие m-сводимости. Построение неперечислимого множества, дополнение к которому также неперечислимо.
Алгоритмически неразрешимые задачи в комбинаторике и алгебре.
Теорема Клини о неподвижной точке. Существование в любом языке программирования программы, печатающей собственный текст.
Понятие формальной системы доказательств. Аксиомы формальной арифметики.
Теорема Гёделя о неполноте. Существование принципиально непознаваемой программы.
Лямбда-исчисление: синтаксис, приведение к нормальной форме, нумералы Чёрча, реализация простейших функций.
Лямбда-исчисление: комбинатор неподвижной точки и рекурсивное программирование.
Основы теории сложности вычислений: измерение времени работы программы. Классы P и NP. Проблема перебора (равны ли классы P и NP). NP-полные задачи.

Все необходимые понятия будут определяться по ходу курса, однако от слушателей предполагается достаточно свободное владение аппаратом дискретной математики и булевой логики. Желателен хотя бы небольшой опыт написания программ.

От слушателей предполагается достаточно свободное владение аппаратом дискретной математики и булевой логики.
Желателен хотя бы небольшой опыт написания программ.

Результаты:
знать фундаментальные результаты теории вычислимых функций: существование функций, невычислимых на компьютере, примеры алгоритмически неразрешимых задач, существование программы, печатающей свой текст, существование истинных, но недоказуемых утверждений, существование программы, про которую ничего нельзя доказать;
уметь аргументировать неразрешимость алгоритмической проблемы, строить комбинаторы, реализующие различные функции в лямбда-исчислении;
владеть основными приёмами доказательства неразрешимости математических проблем.
Открытое образование
Гости не имеют доступа к этому курсу. Войдите в систему.
Accessibility

Background Colour

Font Face

Font Size

1

Text Colour