Main menu

Алгоритм Рабина-Карпа: Поиск подстрок с помощью кольцевого хеширования

Задача поиска подстроки (паттерна) в большом тексте имеет множество решений. В то время как алгоритм Кнута-Морриса-Пратта (КМП) строит сложный префиксный автомат, Майкл Рабин и Ричард Карп в 1987 году подошли к проблеме с совершенно другой, алгебраической стороны. Они применили технику хеширования, создав изящный алгоритм, который до сих пор является стандартом для поиска плагиата в системах вроде Антиплагиат.

Подробнее

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

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

Подробнее

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

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

Подробнее

Соц. сети