Обновить
198.63

Алгоритмы *

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

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

Практический CQRS и Event Sourcing на Go

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

Event Sourcing и CQRS — это мощные архитектурные подходы, которые заменяют традиционное CRUD-управление состоянием на журналирование событий и разделение операций записи и чтения для масштабируемости и надежности. Вместо прямого изменения данных система сохраняет каждое изменение как событие, что обеспечивает полный аудит, контроль конкурентности и гибкость в обработке данных.

Читать далее

Три слагаемых AGI

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

Как-то часто стали встречаться статьи нейро-скептиков: людей, которые всю эту движуху вокруг ИИ считают хайпом, пузырем и чем-то явно переоцененным. Скептицизм - это естественно, полезно, и эволюционно-оправдано для человека. Более того, я и сам большой скептик: на все смотрю через призму инженерного снобизма, проф-деформаций и врожденной недоверчивости. И мне, также, трудно самому себе признаться, что весь мой, более чем 20-ти летний опыт в IT - скоро можно будет выбросить на помойку. Я тоже цепляюсь за те логические соломинки, которые мне позволяют надеяться на то, что я останусь в строю.

Но мой персональный нейро-скептицизм простирается еще шире. Он, во многом, касается и возможностей природных нейросетей - наших с вами мозгов. Я очень скептичен в отношении интеллектуальной исключительности человека. Я нахожу чрезмерно самонадеянными высказывания о том, что мы обладаем какой-то уникальной способностью к творчеству и к тому, что мы, в действительности, все-вокруг контролируем. Наш интеллект, мало того, что неравномерно распределен в популяции, так еще и очень нестабилен во времени: мы очень зависимы от стресса, усталости, уровня гормонов и нейромедиаторов... Умнейшие из нас, порой, могут вести себя как полнейшие дураки. И это нормально. А средний по больнице интеллект человечества - хм, даже не знаю как сказать, чтобы не обидеть всю цивилизацию. Даже в отношении свободы воли, в научном сообществе сейчас доминирует идея о том, что ее и нет вовсе.

Читать далее

Когда одни связи объясняют другие: QAP-корреляция и QAP-регрессия

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

В рамках анализа социальных сетей может понадобиться проверить гипотезу о том, объясняются ли связи одного рода (например, деловые) - связями другого рода (например, дружескими и/или родственными). Сделать это для сетевых данных (графов) можно с помощью метода QAP-корреляции и QAP-регрессии. Ниже подробнее и на примерах о том, почему это нужно делать именно так, и как это делать, например, в программе UCINet. (Спойлер: будут ссылки на реализацию методов в R и Python).

QAP-регрессия - Читать далее

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

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

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

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

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

Читать далее

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

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

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

Купить эклер

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

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

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

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

Читать далее

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

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

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

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

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

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

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

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

Читать далее

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

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

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

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

Часть 1.

Читать далее

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

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

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


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


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

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

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

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

К правилу 37%

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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