@StepanZharychev

Как и где можно применить дискретную математику в программировании?

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

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

Убедительная просьба воздержаться от комментариев об очевидности данного вопроса, т.к. для меня он не очевиден и я бы хотел разобраться в нем.

Заранее спасибо.
  • Вопрос задан
  • 5077 просмотров
Решения вопроса 1
Vestail
@Vestail
Software Engineer
Есть такая книга Дискретная математика для программистов. Там по моему в конце каждой главы применение выбранной темы в программировании.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
@AVKor
if (c == ' ' || c == '\n' || c == '\t')
(из классики: K-R).
Ответ написан
VladimirAndreev
@VladimirAndreev
php web dev
в логистике, например..
маршрут найти, или алгоритм загрузки машины с учетом маршрута, чтоб максимально за раз перевезти.
Ответ написан
Комментировать
@vilgeforce
Раздолбай и программист
Криптография, например.
Ответ написан
@Mercury13
Программист на «си с крестами» и не только
В программу дискретной математики моего факультета входили…
• теория множеств
• теория графов
• комбинаторика
• алгебра логики, исчисление высказываний
• теория автоматов

Теория множеств — это основа ВСЕЙ университетской математики. Не зря её повторяли ещё и на муть-анализе.
К тому же в теории множеств есть два классных понятия — отношение эквивалентности и отношение порядка. Операции == и <= перегружать приходилось?
Соответствие везде определённое, функциональное, сюръективное, инъективное, биективное. Теория баз данных. Допустим у нас есть сотрудник и телефон, как они соотносятся? У всех ли сотрудников есть телефоны? Бывает ли у сотрудника два телефона? У всех ли телефонов есть сотрудники? Бывает ли у телефона два сотрудника? Ну а биективное — это соответствие «1:1».

Теория графов — понятное дело, в алгоритмах на сетях. Создание, уничтожение, обход, поиск пути…

Комбинаторика — это а) количество элементов в том или ином конечном множестве; б) способы перебрать их все. Например, мне реально приходилось перебирать комбинации из N элементов не более чем по M. Нерекурсивно.

Алгебра логики — это основа работы компьютеров. Когда булевское условие многоэтажное — как записать его в понятном виде и как его упростить?

Теория автоматов — это крайне упрощённый принцип работы процессоров. Поэтому если надо написать предельно простого вида виртуальную машину — см. конечные автоматы. А также автомат Мура — это лексический анализатор в любом языке программирования.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы