Математическая логика и теория алгоритмов для программистов

Представляем вашему вниманию курс. Разработанный коллективом Томского государственного университета систем управления и радиоэлектроники. Этот курс предлагает базовые знания в области математической логики. Цели математической логики:

  • Чтобы обеспечить формальный язык для математических утверждений. Который легко переводится на естественный язык и который позволяет компактно и удобно записывать.
  • Предложить ясную и однозначную интерпретацию таких высказываний. Которая является одновременно простой и близкой к естественным математическим понятиям.

Мы постарались сделать этот курс познавательным и интересным для всех!

Чему я научусь?

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

• Естественные языки обладают рядом недостатков — неточностью. Многозначностью. Сложностью.

• Знание простых. Но мощных методов преобразования математических утверждений. Ставших возможными благодаря языку логики. Так же жизненно важно. Как и знание элементарной алгебры. Не нужно изобретать колесо.

• Изобретенная почти столетие назад для решения задач математики. Математическая логика нашла применение в теоретическом и практическом программировании.

• При решении прикладных задач исследователю приходится переключаться между описательным языком. Математическим языком. Языком численных методов и алгоритмов и конкретными языками программирования. Язык математической логики дает прекрасную возможность практиковать этот перевод между языками и используется как мощный формализованный инструмент для передачи информации между удаленными языками.

Что мне нужно знать?

Большая часть содержания курса будет понятна студентам только со средним школьным уровнем образования. Некоторые второстепенные разделы курса потребуют знания императивного программирования и элементов математического анализа.

Структура курса

Курс состоит из 7 глав:

Глава 1 — Миссия математической логики:

Цели, задачи, методы.

Связь математики и математической логики.

Примеры логических ошибок. Софизмов и парадоксов.

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

Глава 2 — Основы теории множеств:

Теория множеств является основой для развития языков.

Глава 3 — Пропозициональная логика:

Пропозициональная логика изучает самый простой и в то же время самый важный формальный язык.

Глава 4 — Языки первого порядка:

Язык пропозициональной логики имеет ограниченные инструменты. Поэтому мы говорим о более сложных языках. Основанных на предикатной логике. Язык предикатной логики предлагает инструменты для полного и точного описания любых формальных понятий и утверждений.

Глава 5 — Аксиоматический метод:

Аксиоматический метод позволяет решать многие логические задачи. Ошибки и парадоксы. Он широко используется в современной математике. И знание его жизненно важно для любого. Кто использует функциональные и логические языки программирования.

Глава 6 — Математическое доказательство:

Обсуждение типов математических доказательств и способов их использования с помощью компьютера.

Глава 7 . Теория алгоритмов:

Чтобы узнать о возможностях алгоритмического подхода и ограничениях вычислений. Необходимо знать строгое определение алгоритмов и вычислимости. Модуль предлагает эти определения и определяет алгоритмически неразрешимые задачи. Модуль вводит понятие сложности алгоритма. Которое является важным фактором при выборе алгоритмов решения задач. Модуль также сравнивает задачи по сложности — это знание позволяет использовать любой алгоритм поиска для решения задачи вместо поиска хорошего алгоритма.