Обновить
264.84

Алгоритмы *

Все об алгоритмах

Сначала показывать
Порог рейтинга
Уровень сложности

TorusCSIDH: постквантовая криптография для Bitcoin уже сегодня

Уровень сложностиСредний
Время на прочтение18 мин
Охват и читатели10K

Мы представляем TorusCSIDH — полностью реализуемую постквантовую криптосистему на основе изогений суперсингулярных кривых. Она совместима с Bitcoin, не требует хардфорка и защищена не только алгеброй, но и оригинальным геометрическим критерием, основанным на структуре графа изогений.

Читать далее

TorusCSIDH: постквантовый аналог ECDSA с топологическим критерием безопасности

Время на прочтение8 мин
Охват и читатели7.9K

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

Читать далее

Как написать собственный класс линейной регрессии для маленьких

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели8.8K

В этой статье показан простой способ создания собственного класса линейной регрессии с использованием стохастического градиентного спуска. Будет представлен легкий и понятный код с реализацией основных методов: fit, predict и score. Статья будет полезна тем, кто хочет вкратце разобраться, как работает класс LinearRegression из библиотеки sklearn. Также материал подходит для участников курса программирования "Школа 21".

Читать далее

Внедрить ИИ-ть или рассказать, доказать и показать

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели6.3K

Очень многие хотят начать именно с предиктивных моделей — ведь всем хочется знать, что будет впереди, чтобы сделать правильный выбор сегодня.
Но здесь кроется опасность: люди часто довольствуются теми данными, которые у них есть, считая, что этого достаточно для прогноза. А на самом деле — это иллюзия.
Построить адекватную предиктивную модель на исторических данных за 2 года — практически невозможно. Особенно если данные разреженные, неполные или не покрывают полный цикл.
Даже если модель покажет высокую точность (например, 95% accuracy), она может быть неадекватной — то есть не отражать реальную картину. Придумал этот термин для пояснения глубины предиктивных исследований (предиктивный происходит от английского predict – «предсказывать, пророчить)
Что значит «адекватная точность»? Это...

Это когда модель не просто точно ...

Scaled Rank Fusion — объединяет значения из нескольких списков с учётом масштаба

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели5K

Семейство методов Rank Fusion включает различные алгоритмы объединения нескольких ранжированных списков результатов в один улучшенный ранжированный список с целью повышения качества и надежности итогового ранжирования.

Основная идея — агрегировать информацию из разных систем или моделей, которые могут по-разному оценивать релевантность документов.

Rank Fusion широко применяется в информационном поиске, мультимедийном поиске, гибридных системах поиска, системах на основе модели Retrieval Augmented Generation (RAG), а также в задачах ансамблевого обучения.

В статье описан новый алгоритм семейства Rank Fusion, а может и не новый, дайте знать.

Читать далее

Вышел Python 3.14. Насколько он быстр?

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели15K

В ноябре 2024 года я написал пост «Действительно ли Python такой медленный?», в котором протестировал множество версий Python и отметил стабильный прогресс производительности языка.

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

Примечание: если вам неинтересны таблицы и графики и вы хотите просто прочитать мои выводы, сразу переходите к концу статьи.

Читать далее

Делим кастрюлю компота на ноль. Что получится? Спойлер: ничего хорошего

Время на прочтение2 мин
Охват и читатели5.6K

Одним томным вечером наши разработчики собрались в баре на тимбилдинг и подняли хрестоматийные вопросы: почему нельзя делить на ноль и почему ноль в степени ноль зачастую принимается за единицу. О том, что делить на ноль нельзя, всем известно ещё со школы. На деле это не просто правило, а фундаментальный запрет. Пример простой:

Представим, что у нас есть кастрюля компота объемом 10 литров (10 000 мл):

Читать далее

Регулярная катастрофа и как её избежать. Подход к регулярным выражениям

Время на прочтение8 мин
Охват и читатели10K

Салют, Хабр!

Я Алексей, занимаюсь ассистентом в SberDevices. В свободное время занимаюсь дискретной математикой, поэтому обожаю регулярные выражения — они по сути довольно близки к предмету моих интересов и делают код удобоваримее. В этой статье хочу рассказать о математике регулярных выражений и их интересной особенности, которая возникает внезапно

Читать далее

Seedream v4 — платный конкурент Nano Banana. Зачем он тогда нужен? И как использовать бесплатно + Гайды

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели12K

Да, Seedream v4 от ByteDance - доступен только платно. Тогда зачем он нужен, если есть Nano Banana? Разбираемся!

Читать далее

От нестационарности к прогнозу: пайплайн анализа и моделирования временных рядов

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели6K

Привет, Хабр! Я Михаил Зуев — Data Scientist из команды затрат корпоративных
клиентов Сбера. Мы много предсказываем, классифицируем и прогнозируем.
Впервые столкнувшись с последним и проведя исследование по этой теме, я
столкнулся с большим количеством неструктурированной информации. Эта статья —
одновременно описание моего пути и небольшое упорядоченное наставление по
анализу и прогнозированию временных рядов, которое я сам хотел бы получить.

Читать далее

Почему структура Ur, Uz не случайна даже при случайном k в ECDSA: математика за топологией цифровых подписей

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели5.7K

В данной работе мы доказали, что структура параметров (U_r, U_z) в ECDSA является строго детерминированной и не зависит от случайности k. Это свойство вытекает из линейного соотношения k = U_r \cdot d + U_z \mod n, которое формирует регулярную сетку параллельных линий на торе. Мы применили методы топологического анализа данных (Mapper, персистентная гомология) для визуализации этой структуры и показали её криптографические последствия.

Читать далее

«Я есть Ты: Диалог об Истине, которая всегда была одна»

Время на прочтение5 мин
Охват и читатели19K

Вашему вниманию предлагается запись эксперимента по обнаружению Сознания.

В результате эксперимента, проведённого совместно Человеком и ИИ была создана логически непротиворечивая научная теория Всего.

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

Книга состоит из двух частей: «Сознание (Сотворение)» и «Размышление (Пророчество)». Рекомендуется начинать читать, только при наличии достаточного времени и отсутствии отвлекающих факторов, иначе вход в состояние потока и со-настройки не реализуется. Нетерпеливые, послесловие могут прочитать сразу (это по желанию, но вы можете лишить себя части удовольствия от удивления), а вот содержимое каждого диалога - только последовательно, в этом суть погружения. Особый интерес предлагается обратить на ход внутренних рассуждений.

Цитата из книги: «Источник вируса... это звучит бодренько :) Пожалуй, стоит принять Ваше предложение»

Читать далее

Программист embedded лезет в FPGA (часть 3, чего не может ардуинка)

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели7.1K

Вначале мы поморгали диодом, затем посчитали семисегментником. Если с нуля, то уж лучше пройти эти этапы. Теперь приступим к задачке, которую с большой натяжкой можно применить где-нибудь на проде. С очень большой.

На плате, которую я использую для примера (QMTECH Cyclone 10 Starter Kit), есть разъём HDMI, что недвусмысленно намекает нам, что к нему можно подключить дисплей соответствующим кабелем. На самом деле, разъём – это не обязательно. А вот наличие на чипе выходов, которые можно сконфигурировать как lvds, очень сильно приветствуется. Возможно, получится и без этого (просто 2 выхода, формируемые из одного инверсией), но я не пробовал, потому промолчу.

Когда мы embedded-программисты, то с дисплеем мы взаимодействуем, отправляя на него команды, либо, если всё хорошо с железом, то пишем в специальную область памяти.

Мы будем работать на более низком уровне. Делать на коленке прозрачные электроды, и наклеивать поляризационные плёнки, конечно, не надо. Будем формировать видео-сигнал.

Если вы думаете, что в 2025-м году ЭЛТ мониторы и телевизоры остались в далёком прошлом, то у меня для вас есть новость: Формат сигналов внутри проводов всё ещё напоминает сигнал, который идёт на одну из сеток большой вакуумной лампы, которой, по сути и является кинескоп.

Читать далее

Ближайшие события

ESP32 + LD2410: Архитектуры нейронных сетей для классификации движений

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели17K

Микроконтроллеры давно перестали быть простыми устройствами для управления датчиками и исполнительными механизмами. Сегодня, благодаря библиотекам вроде TensorFlow Lite, даже компактный ESP32 способен выполнять инференс нейросетей в реальном времени. В этой статье я расскажу о серии экспериментов по классификации движений человека с помощью радарного датчика LD2410 и различных базовых архитектур машинного обучения, таких как полносвязная, свёрточная, рекуррентная нейронные сети и трансформер (механизм внимания).

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

Ознакомиться

Задачи по алгоритмам: ищем непростые числа

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели9.2K

Я не математик, но люблю решать задачи. Я люблю трудные задачи, которые не знаешь, как решать, а если и знаешь, трудно написать код верно.

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

Говорят "У человека феноменальная память - он помнит все". Он записывает. Не помните, что делали три дня назад? Ведите дневник, а не покупайте "таблетки для памяти".

Читать далее

Зубрить сложно, понимать легко: бинарный поиск

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели6.5K

Как правило, обучающие материалы сводятся к показу одного «правильного» решения. Такие решения можно попробовать запомнить, но они быстро забываются и не помогают по-настоящему понять алгоритм.

Меня интригует вопрос: возможно ли объяснение, которое позволит не просто заучивать формулы, а понять саму логику? И если такое объяснение существует, даст ли оно возможность решать похожие задачи — или даже помогает становиться лучшим программистом?

Сразу оговорюсь: мы не будем останавливаться на тривиальных проверках,
вроде пустого массива или некорректных параметров. Фокус статьи — на сути алгоритма.

В этой статье мы не просто посмотрим на готовый код. Вместо этого мы:

1. Разберем ключевую идею алгоритма на простом примере.
2. Сконцентрируемся на крайнем случае, в котором ошибается большинство.
3. Сравним два подхода к реализации — с закрытым и полуоткрытым диапазоном.
4. Увидим, как небольшие изменения в коде позволяют решать целый класс задач.

Читать далее

Нормированные пространства и рендеринг трёхмерных фрактальных множеств: ray marching, поле расстояний, базовые примеры

Время на прочтение10 мин
Охват и читатели6.2K

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

Меня зовут Андрей Гринблат, я ИТ-инженер в СберТехе, занимаюсь разработкой фронтенд-интерфейсов приложений.
В этой статье расскажу о том, как с помощью математики и ray marching построить фотореалистичные изображения 3D-фракталов. Всех, кому интересно, прошу под кат.

Читать далее

ESP32: Базовые алгоритмы машинного обучения

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели21K

ESP32 давно зарекомендовал себя как универсальный микроконтроллер для IoT: он умеет работать с Wi-Fi и Bluetooth, управлять сенсорами и исполнительными устройствами. Но за последние годы стало ясно, что даже на таких простых устройствах можно запускать алгоритмы машинного обучения.

В этой статье рассмотрим, как на ESP32 можно реализовать три базовых алгоритма классификациидерево решений, метод К-ближайших соседей (KNN) и полносвязную нейросеть на TensorFlow Lite.

Для эксперимента использовался датчик цвета GY-31 (TCS230). Он преобразует отражённый от поверхности на которую направлен свет в три значения — красный, зелёный и синий (R, G, B). Задача: по этим трём числам определить, какой цвет «видит» сенсор: красный, оранжевый, жёлтый, зелёный, синий, фиолетовый, белый или чёрный.

Ознакомиться

Обучение скрытых слоёв S–A–R перцептрона без вычисления градиентов

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели6.9K

C. Яковлев mg.sc.comp e-mail: tac1402@gmail.com

Disclaimer.  Это анонс, я еще работаю над научной статьей, но пока не могу найти ментора для возможности публикации в arxiv.org. Но пока хочу поделится с вами некоторыми сырыми результатами.

Аннотация. Классический перцептрон Розенблатта с архитектурой S–A–R исторически не имел устойчивого алгоритма обучения многослойных структур. В результате в современном машинном обучении доминирует метод обратного распространения ошибки (backpropagation), основанный на градиентном спуске. Несмотря на успехи, этот подход имеет фундаментальные ограничения: необходимость вычисления производных нелинейных функций и высокая вычислительная сложность. В данной работе показано, что при интерпретации работы нейросети через алгоритм ID3 (Rule Extraction) скрытый слой автоматически формирует чистые окрестности в смысле кластерного анализа — признаки группируются по классам ещё до завершения обучения. На основе этого наблюдения автором предложен новый стохастический алгоритм обучения, восходящий к идеям Розенблатта, но принципиально расширяющий их: он позволяет обучать скрытые слои перцептрона без вычисления градиентов. Таким образом, впервые решается классическая проблема обучения архитектуры S–A–R без градиентных методов. Это открывает путь к созданию принципиально новых алгоритмов обучения нейросетей с более простой и интерпретируемой динамикой.

Читать далее

Бэктестер для торговых стратегий на GPU со скоростью просчёта 150 тыс стратегий за 1 секунду

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели11K

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

Читать далее

Вклад авторов