Дискретная математика

Один из первых вопросов, который возникает у первокурсника, это что такое дискретная математика, а главное, зачем она нужна. Те студенты, которые до ВУЗА были знакомы с программированием, обычно утверждают, что в дискретной математике нет необходимости и что можно прекрасно обходиться и без нее. Но ведь в университете не дают материал просто так! Предлагаю разобраться в этом вопросе и понять, нужна ли все-таки дискретная математика или нет!

Начнем немного издалека. Что такое программирование? Это процесс, или более того, это искусство создания компьютерных программ. А что для этого нужно? Для того, чтобы быть хорошим программистом и уметь создавать правильные, корректные и красивые программы необходимы инструменты, причем не только материальные, но, что главное, логические! И именно дискретная математика предоставляет их. В основе любой программы лежит логика, а значит нужно о ней много знать и уметь ее использовать.

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

1) Теория автоматов.
Теория автоматов разрабатывает методы, с помощью которых можно на основе моделей логического типа изучать процессы, протекающие в самой машине во время ее работы. Для работы на компьютере информацию представляют в дискретной форме, позволяющей переводить ее в программы, понятные ЭВМ.

2) Теория искусственного интелекта.
Искусственный интеллект - одно из молодых и перспективных направлений информатики, появившееся во второй половине XX в. на базе вычислительной техники, математической логики, программирования, психологии, лингвистики и других отраслей знаний. Объектами его изучения являются межпредметные процедуры (метапроцедуры), используемые при решении задач, традиционно называемых интеллектуальными. Проникая в тайны творческой деятельности людей, искусственный интеллект создает программные и программно-аппаратные модели таких метапроцедур.

3) Теория графов.
Граф – множество вершин со связями. Это очень емкое определение. Под него подпадает множество вещей, например наши дороги – перекрестки – вершины, сами дороги – связи, Сеть Интернет это тоже огромный граф. Теория графов учит как работать с этими объектами, в этой теории множество алгоритмов позволяющих корректно и быстро обрабатывать эти структуры.

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

Полезные ссылки

  1. Math.NET Numerics - библиотека для научных вычислений на платформе .Net.
  2. Основы Дисретной математики - курс лекций на Intuit'e.
  3. Видеокурс по Дискретной математике - видео курс лекций на Intuit'e.