Main menu

Минимизация логических функций: Метод Куайна-Маккласки

Когда процессорный инженер проектирует цифровой сумматор или мультиплексор, он начинает с составления таблицы истинности. Эту таблицу легко перевести в Совершенную Дизъюнктивную Нормальную Форму (СДНФ) — длинное логическое выражение, состоящее из суммы произведений. Однако напрямую переносить СДНФ в кремний — значит тратить тысячи лишних транзисторов и сильно замедлять работу чипа. Для математически точной минимизации булевых функций используется алгоритмический метод Куайна-Маккласки.

Подробнее

Схема разделения секрета Шамира: Математика доверия и полиномы

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

Подробнее

Метод ветвей и границ: Интеллектуальный перебор в задачах оптимизации

При решении NP-трудных комбинаторных задач, таких как задача коммивояжера или целочисленное линейное программирование, полный перебор всех вариантов (Brute Force) занимает экспоненциальное время. Для 20 городов количество маршрутов превышает квинтиллион. Чтобы находить абсолютно точные оптимальные решения для задач такого масштаба без использования слепых эвристик, дискретная математика применяет метод ветвей и границ (Branch and Bound), который элегантно отсекает бесполезные ветви дерева решений.

Подробнее

Деревья Меркла: Криптографический фундамент блокчейна и Git

Как убедиться, что файл размером в несколько терабайт, скачанный вами через торренты у сотен незнакомых людей, не содержит вирусов и не поврежден? Проверять весь файл целиком долго и ресурсозатратно. Если поврежден один байт, придется скачивать весь терабайт заново. В 1979 году Ральф Меркл запатентовал структуру данных на стыке графов и криптографии, которая позволила элегантно решить эту проблему — Хеш-дерево (Merkle Tree).

Подробнее

Алгоритм Каргера: Сила рандомизации в теории графов

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

Подробнее

Марковские процессы принятия решений (MDP): Фундамент обучения с подкреплением

Обычные Цепи Маркова описывают системы, которые изменяются сами по себе, случайным образом, словно погода. Но как математически описать робота, который перемещается по лабиринту? Робот сам влияет на свое будущее: он принимает решения, тратит энергию и получает вознаграждение за правильные шаги. В дискретной математике и теории оптимального управления эта задача формализуется через Марковские процессы принятия решений (Markov Decision Processes, MDP).

Подробнее

Консистентное хеширование: Математика распределенных баз данных

Когда веб-сервис вырастает до миллионов пользователей, одна база данных или один кэш-сервер (например, Memcached) перестает справляться с нагрузкой. Данные нужно шардировать — распределить по десяткам серверов. Как алгоритмически определить, на какой именно сервер положить фотографию пользователя? Стандартный подход с остатком от деления ломается при изменении архитектуры. Эту проблему в 1997 году решило консистентное хеширование (Consistent Hashing).

Подробнее

Теория сложности общения: Как алгоритмы экономят сетевой трафик

При проектировании распределенных систем часто возникает ситуация, когда данные физически разделены между двумя компьютерами, и им необходимо совместно вычислить какую-то функцию. Пересылка всех данных целиком по сети слишком дорога или невозможна из-за узкого канала. В 1979 году Эндрю Яо создал новый раздел дискретной математики — коммуникационную сложность (Communication Complexity), который изучает, какое минимальное количество битов необходимо передать для решения задачи.

Подробнее

Дискретное преобразование Фурье (FFT): Математика медиа и связи

Когда вы разговариваете по сотовому телефону, слушаете MP3 музыку или отправляете JPEG фотографию, ваши устройства непрерывно выполняют одну из важнейших математических операций в истории человечества — Дискретное преобразование Фурье (DFT). Изначально Фурье-анализ применялся к непрерывным физическим волнам, но дискретная математика адаптировала его для работы с цифровыми массивами чисел, породив цифровую обработку сигналов (DSP).

Подробнее

Квантовые вычисления и алгоритм Шора: Конец классической криптографии

Современная цифровая экономика держится на одном математическом допущении: классические компьютеры не могут быстро раскладывать гигантские числа на простые множители (факторизация) и не могут вычислять дискретные логарифмы. На этом базируются RSA, ECC и Диффи-Хеллман. Но в 1994 году американский математик Питер Шор создал алгоритм, который потряс основы мировой безопасности. Этот алгоритм предназначен для компьютеров совершенно новой архитектуры — квантовых.

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

Соц. сети