Как стать автором
Поиск
Написать публикацию
Обновить
253.78

Алгоритмы *

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

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

Защита от невидимого шума: как ломать и чинить мультимодальные модели

Уровень сложностиСложный
Время на прочтение14 мин
Количество просмотров1.4K

Всем привет! Меня зовут Евгений Пищик, и сегодня я хочу поделиться с вами опытом разработки метода переноса нейросетевых атак, над которым я работал в рамках мастерской по сервисам и платформам ИИ в Инженерно‑математической школе НИУ ВШЭ и VK.

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

Параллельно эволюционируют мультимодальные модели, которые используют сразу несколько моделей‑компонент для разных модальностей, тем самым открывая больше возможностей для атак. Логичный след — атаки, мигрировавшие из классического одномодального мира, которые используют особенности мультимодальной структуры моделей. Сегодня в статье разберём, как перенести атаку с визуального энкодера на целую мультимодальную систему.

Читать далее

Роботы не покупают эклеры

Время на прочтение12 мин
Количество просмотров2.3K

Вам знакомо такое выражение: 1 доллар — тому кто придумал, 2 — тому кто сделал и 10 — тому кто продал? Думаю, каждый прочувствовал на себе все «прелести» капитализма и у каждого есть мнение на этот счет. Реалистичный, взрослый взгляд на все это состоит в понимании простой истины: мир — это рынок, а идеи и их реализация — все это убытки до тех пор пока нет продаж. Но на самом деле продажи — это просто наука и как любая наука она обладает внутренними, очень глубокими проблемами и очень сильными противоречиями. Обо всем этом и пойдет речь в данной статье.

Купить эклер

Алгоритм проталкивания предпотока: как найти максимальный поток в сети (для начинающих)

Время на прочтение8 мин
Количество просмотров2.2K

Привет, будущие инженеры и программисты! Сегодня мы разберём ещё один крутой алгоритм для поиска максимального потока — алгоритм проталкивания предпотока (Push‑Relabel). Если алгоритм Форда‑Фалкерсона — это как если бы вы искали дорогу в городе с фонариком, а алгоритм Диница — как если бы вы строили уровни и шли по ним этажами, то проталкивание предпотока — это как если бы вы взяли гидравлический домкрат и начали «выдавливать» воду из источника!

Представьте, что у вас есть система водопроводных труб, и вы хотите прокачать максимальное количество воды из водонапорной башни в городской район. Но вместо того чтобы искать пути и аккуратно направлять воду, вы решили действовать по‑другому: накачать воду под давлением в башню и позволить ей «выдавливаться» через трубы, постепенно находя оптимальные пути. Это и есть идея алгоритма проталкивания предпотока!

Читать далее

Массивы в Pine Script: что это такое, как создавать, использовать и исправлять ошибки

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров1.1K

Подробно знакомимся с массивами в Pine Script: что это такое, как создавать массивы с фиксированным или динамическим размером, как с ними работать, менять содержимое, выполнять арифметические операции и визуализировать результаты на графике. Также разбираем типичные ошибки, которые возникают при работе.

Всё это пригодится при создании пользовательских индикаторов и стратегий в TradingView.

Читать далее

Немного про SPARQL, или как мы заняли призовое место на Text-To-SPARQL Challenge на ESWC 2025

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров819

Привет, Хабр! Мы — Даниил Березин и Роман Авдеев, магистранты кафедры банковских информационных технологий в МФТИ (СберТех).

В рамках дипломной работы под руководством кандидата технических наук, научного сотрудника группы «Прикладное NLP» AIRI Олега Сомова мы участвовали в соревновании Text‑To‑SPARQL Challenge на конференции ESWC 2025 (Порторож, Словения).

Среди 9 команд из ведущих европейских исследовательских центров мы заняли:

🥉 3-е место в треке DBPedia

🏅 5-е место в треке с корпоративным графом знаний

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

Читать далее

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

Время на прочтение20 мин
Количество просмотров4.2K

Практически каждый ML‑разработчик сталкивался с прогнозированием временных рядов, ведь окружающие нас сущности и метрики зачастую зависят от времени.

Меня зовут Александр Елизаров, я работаю в группе аналитики ключевых показателей в бизнес‑группе Поиска и рекламных технологий. В течение нескольких лет нам приходилось прогнозировать большое количество временных рядов разных доменных областей: от поисковой доли Яндекса до DAU определённых сервисов. Чтобы успешно справляться с этой задачей, мы вместе с коллегами разработали собственный прогнозный фреймворк. В этой статье я расскажу, как создать универсальный и гибкий пайплайн для прогнозирования. Под катом рассмотрим:

— правильно выстроенную иерархию данных;

— методы консистентного предсказания абсолютных и относительных метрик;

— частые проблемы моделей и то, как мы их фиксили;

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

Читать далее

Биомимикрия: как природные структуры вдохновляют инженеров на создание новых технологий. Часть 2

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров1.8K

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

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

Часть 1.

Читать далее

Как выбрать оффер? Задача о разборчивой невесте и правило 37%

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров14K

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


Это версия классической задачи о разборчивой невесте. У неё есть красивая оптимальная стратегия — правило 37\%. Возможно, вы о нём слышали. Но знаете ли вы, почему оно работает? И как вообще до него додуматься?


Часто алгоритмы — это эвристики, без гарантии оптимальности. Но в этой задаче всё иначе. Мы шаг за шагом переоткроем правило  37 \% и докажем, что он действительно лучший

Недавно я узнал о Теореме о Шансах — более общем подходе, который, неожиданно, работает гораздо проще, чем классическое доказательство. По-русски о ней еще никто не писал

В статье мы разберём эту теорему, выведем правило 37\% и увидим, как в задаче естественно появляется число e — и какой у него смысл на самом деле

Эта задача стоит того, чтобы пройти её до конца. Будет понятно, красиво и интересно

К правилу 37%

Как обойти ограничения TradingView и забирать данные с графика без использования платных функций (через Pine Script)

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

Приветствую! Я Никита, разработчик торговых стратегий и инструментов в международном криптовалютном фонде Wild Boar. Здесь пишу об алгоритмической торговле, делюсь опытом и помогаю внимательным читателям владеть не только ситуацией на рынке, но и всем (почему – см. внутри). 

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

Читать далее

Алгоритм Форда–Фалкерсона: как найти максимальный поток в сети (для начинающих)

Время на прочтение7 мин
Количество просмотров1.8K

Привет, будущие инженеры и программисты! Сегодня мы разберём классический алгоритм Форда–Фалкерсона — дедушку всех алгоритмов максимального потока. Если алгоритм Диница — это современный спорткар, то Форд–Фалкерсон — это надёжная "классика", которая учит основам и помогает понять суть задачи.

Представьте, что вы владелец сети трубопроводов, и вам нужно понять, сколько воды можно прокачать из водохранилища в город. У каждой трубы есть максимальная пропускная способность, и вода может течь только в одном направлении. Ваша задача — найти такой способ распределения воды по трубам, чтобы в город попало максимальное количество воды. Это и есть задача максимального потока!

Читать далее

Алгоритм Диница: как найти максимальный поток в сети (для начинающих)

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров3.3K

Привет, будущие инженеры и программисты! Сегодня мы погрузимся в мир алгоритмов и разберём одну очень крутую штуку — алгоритм Диница. Звучит сложно? Не переживайте, мы разберём его по полочкам, как конструктор LEGO, и вы поймёте, как он помогает решать реальные задачи.

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

Читать далее

Алгоритмы для работы с большими данными в Go: HyperLogLog и Count-Min Sketch

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

Алгоритмы для работы с большими данными

Всем привет! Для начала давайте разберем что такое вообще Алгоритмы для работы с большими данными, основная суть алгоритмов для работы с большими данными  — это эффективная обработка огромных объёмов информации при минимальных вычислительных ресурсах (памяти, CPU, диске). Их суть — жертвовать точностью ради скорости и масштабируемости.

Читать далее

Использование машинного обучения для оптимизации логистических процессов

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

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

Традиционная организация цепочек поставок часто сталкивается с проблемами. Например, прогнозирование и планирование могут быть некорректными из-за отсутствия своевременных и точных данных. Для координации участников цепочек поставок требуются значительные, но не всегда оправданные ресурсы. Непредсказуемые обстоятельства, такие как погодные условия или колебания спроса, тоже могут приводить к сбоям. Работа вручную также повышает вероятность ошибок (человеческий фактор, куда ж без него) и снижает общую эффективность.

Читать далее

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

Конечный автомат, машина Тьюринга, порождающая грамматика и компьютер: в чём разница

Уровень сложностиСложный
Время на прочтение12 мин
Количество просмотров3.1K

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

А в конце мы немного пофилософствуем на тему, что же такое программа и что такое семантика.

Читать далее

goYSDA: Как мы в ШАДе переизобрели и сделали непрерывную игру Го, выкинув из него сетку

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров2.1K

Привет, Хабр!

Все мы знаем Го — глубокую, медитативную игру на доске 19x19. Камни, пересечения, территории... А что, если выкинуть саму сетку и разрешить ставить камни куда угодно в пределах доски?

Мы в команде YSDA (Yandex School of Data Analysis или Школа Анализа Данных, ШАД) задались этим вопросом и решили проверить. Получилось азартно, хаотично и, что самое главное для нас как разработчиков, — чертовски интересно с точки зрения алгоритмов.

В этой статье я расскажу, как мы реализовали эту идею на Python и Pygame, с какими геометрическими головоломками столкнулись и как Диаграмма Вороного помогает считать очки в реальном времени, превращая статичную доску в живое поле битвы.

А в конце встретим неожиданный твист! Узнаем, что такое такое Суго.

Погрузиться в игру →

Flame-графики Doom для GPU

Время на прочтение8 мин
Количество просмотров2.3K

Код AI Flame Graphs теперь открыт, этот проект поддерживает GPU Intel Battlemage. Это значит, что AI Flame Graphs теперь способен генерировать flame-графики (Flame Graph, граф пламени, диаграмма пламени), охватывающие полный стек GPU — это даёт пользователям новые аналитические данные о производительности игр. Особенно полезным AI Flame Graphs выглядит в связке с FlameScope (это — мой опенсорсный проект, созданный несколько лет назад). Вот — пример профилирования игры GZDoom. Тут показаны результаты визуализации использования CPU и GPU, проведённые с помощью FlameScope и снабжённые комментариями.

Читать далее

Лучшие алгоритмы 20 века по версии SIAM

Уровень сложностиСредний
Время на прочтение19 мин
Количество просмотров8.2K

На рубеже веков SIAM опубликовали список из 10 алгоритмов, оказавших наибольшее влияние на науку и индустрию в 20 веке (по мнению редакции), четверть века спустя по меньшей половина из этого списка до сих пор используется повсеместно. В статье вспомним что это за алгоритмы и за что они получили такое признание. Обсудим и алгоритмы, которые в этот список не вошли, но вполне могли бы, о чем читатели хабра написали в комментариях к статье "10 лучших алгоритмов 20 века". В конце статьи опрос, пожалуйста, не проходите мимо и отметьте или напишите в комментариях, какие алгоритмы на ваш взгляд должны были оказаться в этом списке!

Читать далее

Всё, что нужно знать о своих планах, случайностях и стохастическом программировании

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров3.3K
Все мы прекрасно знаем, что очень часто наши планы идут не по плану именно из-за случайностей. В такие моменты очень трудно обойтись без жаргонизмов, нецензурной брани и отборного трехэтажного. Но все же есть способ сделать наши планы более устойчивыми и состоятельными — это стохастическое программирование (далее SP — stochastic programming).


Читать дальше →

Сравнение форматов PNG: от первой до третьей редакции

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

Недавно опубликованная третья редакция спецификации Portable Network Graphics (PNG) 2025 года, разработанная World Wide Web Consortium (W3C), привлекла внимание к эволюции этого формата (W3C PNG Specification (Third Edition, 2025)). Ранее я, как и многие, использовал PNG, не задумываясь о его развитии и различных редакциях. Углубившись в изучение спецификаций PNG (1996, 2003, 2025), я решил подготовить данную статью, чтобы обобщить ключевые изменения и их значение для веб-дизайна, разработки игр и мультимедиа. Статья не претендует на исчерпывающий охват, но стремится предоставить полезный обзор для всех заинтересованных, включая начинающих. Приветствуются любые замечания и предложения по улучшению материала в комментариях к публикации. Весь код, приведённый ниже, выложил в репозиторий. Надеюсь, чтение будет полезным и увлекательным.

Читать далее

Процедурная генерация воксельных рогаликовых уровней

Уровень сложностиСредний
Время на прочтение30 мин
Количество просмотров3.7K

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

Читать далее

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