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

Дискретная математика (105)

Комбинаторные блок-дизайны и системы Штейнера: Искусство планирования

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

Подробнее

Теорема Клини и Регулярные выражения: Математика поиска текста

Каждый программист хотя бы раз в жизни использовал регулярные выражения (RegEx) для валидации email-адреса, проверки формата номера телефона или массовой замены строк в редакторе кода. Однако мало кто задумывается, что за этими загадочными строками из скобок и звездочек скрывается глубокая алгебраическая теория формальных языков и конечных автоматов, разработанная американским математиком Стивеном Клини.

Подробнее

Поиск кратчайших путей на графах: Алгоритмы Дейкстры и Беллмана-Форда

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

Подробнее

Классы P и NP: Самая главная нерешенная проблема информатики

В 2000 году Математический институт Клэя опубликовал список из семи "Задач тысячелетия", предложив за решение каждой из них награду в один миллион долларов. Одной из них является вопрос, который не дает покоя программистам, криптографам и математикам по всему миру: равны ли классы P и NP (P = NP)? Ответ на этот вопрос в дискретной математике может либо навсегда изменить наш мир, либо подтвердить, что наши текущие ограничения непреодолимы.

Подробнее

Машина Тьюринга: Универсальная модель вычислений и проблема остановки

Задолго до создания первых электронных компьютеров, в 1936 году, 24-летний британский математик Алан Тьюринг придумал абстрактную вычислительную машину. Эта мысленная конструкция стала абсолютным математическим мерилом того, что в принципе можно вычислить алгоритмическим путем, а что — нельзя. Машина Тьюринга является краеугольным камнем теоретической информатики и дискретной математики.

Подробнее

Двудольные графы и теорема Холла: Математика идеальных совпадений

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

Подробнее

Алгоритм Форда-Фалкерсона: Поиск максимального потока в сети

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

Подробнее

Автоматы Мили и Мура: Математические модели цифровых схем

В теории автоматов базовый конечный автомат (FSM) лишь распознает языки: он читает строку и в конце выдает вердикт "Допущено" или "Отвергнуто". Но для проектирования реальных микропроцессоров, контроллеров памяти и сетевых протоколов требуются автоматы-преобразователи, которые не просто меняют внутренние состояния, но и генерируют полезные выходные сигналы в процессе работы. Двумя фундаментальными математическими моделями таких устройств являются автоматы Мили и автоматы Мура.

Подробнее

Иерархия Хомского: Формальные грамматики и языки программирования

Как научить компьютер "понимать" текст? Будь то исходный код на языке C++, поисковый запрос или фраза на русском языке — для алгоритмической обработки текста требуется математическая модель, описывающая правила его построения. В 1956 году выдающийся лингвист и математик Ноам Хомский создал классификацию формальных грамматик, которая стала фундаментом для теории компиляторов и компьютерной лингвистики (NLP).

Подробнее

Нечеткая логика: Как научить компьютер мыслить полутонами

Классическая булева алгебра, лежащая в основе работы процессоров, оперирует только двумя абсолютными значениями: "истина" (1) и "ложь" (0). Однако в реальном мире человеческое мышление редко бывает столь категоричным. Мы оперируем понятиями "тепло", "немного", "почти". Чтобы перенести этот естественный способ рассуждений в алгоритмы, в 1965 году профессор Лотфи Заде разработал революционный математический аппарат — нечеткую логику (Fuzzy Logic).

Подробнее
Subscribe to this RSS feed

Соц. сети