Всё про Алгоритмы и Структуры данных
7.76K subscribers
345 photos
38 videos
5 files
3.18K links
Мы не претендуем на оригинальность контента, мы лишь собираем материал из открытых источников.

Ссылка: @Portal_v_IT

Сотрудничество, авторские права: @oleginc, @tatiana_inc

Канал на бирже: https://telega.in/c/structuredata
Download Telegram
Мой универсальный код

Зачем
на число 1 я в типах u8u16u32 и так далее переплачиваю 7, 15 и 31 бит? Это же бред.
Однозначность декодирования? Быстрая адресация? Сейчас распишу до чего я допёр.
Проблема
Если биты лежат в потоке, то не совсем понятно что они значат без предварительной договорённости. Например:

https://habr.com/ru/articles/1036946/

Алгоритмы и Структуры данных
Мой bloom фильтр побил оригинальный в 200 раз

Не люблю я хэш-таблицы. Какой бы областью я не занимался — они везде просто “достаточно хорошее” решение. Где нужны объёмы — масштабируется линейно. Где нужна точность — даёт вероятность (высокую, но вероятность всё-таки).
Задача
Есть класс задач, где удобно заранее узнать включение паттерна в потоке. Например, AB есть в DDDABEEE. И узнавать надо часто. Наивный подход — линейный скан на каждый запрос. Медленно.

https://habr.com/ru/articles/1037072/

Алгоритмы и Структуры данных
1
Миллиард оценок за 45 секунд: GPU-подход к Max-SAT там, где CPU-решатели не тянут

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

https://habr.com/ru/articles/1045440/

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

Компания «Яндекс» обновила в Яндекс Музыке главное преимущество сервиса — рекомендательный алгоритм «Моя волна» (Vibe для пользователей англоязычного интерфейса) на основе нового поколения ИИ-рекомендаций — генеративной модели ARGUS (Yandex presents a method for training large transformer recommenders with up to 1B parameters). И в 2026 году переработала дизайн интерфейса приложения с фокусом на ставший ещё мощнее рекомендательный потенциал. Генеративная модель ARGUS анализирует более длинную историю действий пользователя, находит неочевидные связи между действиями и учитывает внешние факторы, создавая то, что в «Яндексе» назвали «гиперконтекст». Теперь Моя волна рекомендуют не только треки, но и музыкальные сессии под момент. Вместо прежних настроек «Моей волны» — карусель цветных «волн» (предполагаемых алгоритмами подходящих пользователю контекстов), а также кнопка их перезагрузки. Ручные настройки «Моей волны» переехали в эту же карусель.

https://habr.com/ru/articles/1036220/

Алгоритмы и Структуры данных
Фолдинг белка на ноутбуке. De novo дизайн KRAS G12D (Switch II) ингибитора. Докинг, валидация в AlfaFold Server и PyMOL

Здравствуй, Хабр! Разработка ингибиторов мутантного онкобелка KRAS ( особенно формы G12D)- одна из главных задач современной онкофармакологии. Используя наш проприетарный матаппарат мы рассчитали несколько секвенсов под целевой карман мишени. Мы оперировали секвенсами от 7 до 21 остатка на мишенях длиной от 102 до 188 остатков, полученные при докинге результаты ipTM в AlfaFold Server варьировались от 0.58 до 0.92.

https://habr.com/ru/articles/1037570/

Алгоритмы и Структуры данных
Шахматные программы IV. Термины и методы

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

https://habr.com/ru/articles/1037564/

Алгоритмы и Структуры данных
От фич и каскадов к генеративной модели: как мы переосмыслили рекомендации с помощью ARGUS

Классические рекомендательные системы в крупных компаниях — это десятки микросервисов, каскадная фильтрация и тысячи ручных признаков. Такой стек может надёжно работать годами, но неизбежно упирается в фундаментальную проблему: он перестаёт масштабироваться. Качество выходит на плато — всё меньше отдачи от новых фич, усложнения моделей и наращивания данных.
Генеративная постановка, когда модель восстанавливает целые последовательности пользовательских действий, обещает принести в рекомендации законы масштабирования, снизить операционную сложность и открыть путь к единой кросс‑сервисной модели. Но между обещанием и продакшеном — огромная дистанция. Нужно понять, какая токенизация работает, как устроить претрейн, что делать с контекстом, негативами и задержками в реальных распределённых системах.
Последний год мы адаптировали нашу генеративную модель персонализации ARGUS под разные домены внутри Яндекса, меняли архитектуру, пересобирали обучение и пробовали новые способы интеграции в продакшене. В этой статье я расскажу, какие решения сработали, какие — нет и что нам дала генеративная постановка в реальных рекомендательных системах.

https://habr.com/ru/companies/yandex/articles/1037766/

Алгоритмы и Структуры данных
«Продай мне этот космолёт» или история любви к симуляторам. От космосима X-Tension до ActorModel/DoD/ECS архитектуры. Ч3

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

https://habr.com/ru/articles/1037524/

Алгоритмы и Структуры данных
Как LLM научила рекомендательную модель видеть больше, чем историю взаимодействий

Привет, Хабр! Меня зовут Алексей Васильев, я тимлид команды «Рекомендательные системы и персонализация» Sber AI Lab — Центра практического искусственного интеллекта Сбера. В нашей команде мы занимаемся исследованиями в области рекомендаций на последовательностях (sequential recommendations). Например, прослушивания музыки или просмотры карточек товаров можно представить как последовательность взаимодействий пользователя. А для моделирования последовательностей, как мы знаем, отлично подходят трансформеры: популярные варианты в рекомендациях — SASRec и BERT4Rec. Эти модели прекрасно справляются с задачей рекомендаций на основе взаимодействий, но они ничего не знают о самих товарах.

https://habr.com/ru/companies/sberbank/articles/1038108/

Алгоритмы и Структуры данных
1
Практический ИИ-агент Python: LangGraph + Qdrant

При разработке ИИ-агента для базы знаний, мне казалось, что задача почти типовая: складываем информацию в Qdrant, находим информацию через векторный поиск и поиск в интернете и формируем красивый ответ через LLM. На деле ИИ-агент начал уверенно галлюцинировать, приносить не только нерелевантные ответы, но и тупить с короткими пользовательскими запросами. И самое неприятное, при всем при этом метрика «похожести» similarity выглядела достаточно высокой, что сильно вводило в заблуждение.

После серии экспериментов и улучшений пришло понимание, что промышленный ИИ-агент — это не столько про LLM, сколько про качество извлечения информации и гибкую оркестрацию компонентов ИИ-агента. Что в итоге полностью поменяло архитектуру моей системы.

В статье расскажу, как я пришла от «просто добавь LLM» к промышленному графовому ИИ-агенту на LangGraph + Qdrant.

https://habr.com/ru/articles/1038190/

Алгоритмы и Структуры данных
Шахматные программы V. Оценочная функция

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

https://habr.com/ru/articles/1038608/

Алгоритмы и Структуры данных
1
Jira — тьюринг-полная

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

https://habr.com/ru/articles/1039102/

Алгоритмы и Структуры данных
Почему простые числа собираются в спирали?

Меня часто спрашивают, почему для математиков так важны простые числа. Роль, которую они играют в математике, сравнима с ролью атомов в химии. Это фундаментальные строительные блоки целых чисел, по крайней мере, когда дело касается умножения, и довольно часто решение какой-то задачи можно редуцировать до решения её сначала для простых. Но если честно, во многом математики интересуются простыми числами из-за того, что их сложно понять. В математике куча нерешённых задач о простых числах, поэтому для тех, кого привлекают сложные головоломки, простые числа обладают определённой привлекательностью, которая почти не зависит от их практической важности в математике и связанных с ней областях наподобие криптографии.
Во многом красота математики заключается в том, что благодаря произвольному выбору можно связать две кажущиеся далёкими концепции. Впервые я увидел этот паттерн в вопросе на Math Stack Exchange. Его задал пользователь dwymark, а ответил на него Грег Мартин; вопрос связан с распределением простых чисел, а также с рациональными аппроксимациями .
Этот пользователь баловался с созданием графиков данных в полярных координатах, то есть нанесением точек в 2D-пространстве, но не по обычным координатам XY, а по расстоянию от точки начала координат, обычно называемому  (радиус), и по углу прямой относительно горизонтали, обычно называемому «тета», .

https://habr.com/ru/companies/ruvds/articles/1038216/

Алгоритмы и Структуры данных
📣 Подушка ортопедическая для сидения на стул с эффектом памяти

Цена: ~1000 руб. (без скидки 4900 руб.)
Доставка: бесплатная

🖱 Заказать

Ортопедическая подушка La fete является отличным средством улучшения качества жизни. Она изготовлена из плотного материала пенополиуретан с эффектом памяти.

Подушка поддерживает правильную позицию тела и уменьшает нагрузку на суставы.

#подушка #кресло

Больше полезных товаров в Находки Программиста
Please open Telegram to view this post
VIEW IN TELEGRAM
Архитектура крипто-сканера для биржи: Open Interest, Funding Rate, EMA и MACD в реальном времени

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

В этой статье разберём архитектуру полноценного фьючерсного сканера для биржи BingX, построенного на Python. Система анализирует десятки и сотни торговых инструментов в реальном времени, фильтрует активы по Open Interest и Funding Rate, рассчитывает технические индикаторы EMA и MACD, а затем формирует торговые сигналы на основе синхронизации нескольких независимых факторов.

Речь пойдёт не о полноценной архитектуре рыночного анализатора, пригодного для дальнейшего масштабирования: подключения Telegram-уведомлений, машинного обучения, кластерного анализа, order flow и полностью автоматической торговли через API.

https://habr.com/ru/articles/1039310/

Алгоритмы и Структуры данных
За пределами LLM, часть 2: якорная таблица Кэли, которая не является ни полем, ни моноидом

В первой статье я высказал простую идею: если вычисление можно свести к конечной таблице операции, его можно проверять, а не угадывать. То есть его можно свести не к "модель выдала вероятность 0,67", а просто открыть таблицу и сказать: вот ячейка, вот результат, rc=0.
Эта статья — прямое продолжение первой статьи. Сейчас у меня на руках значительно отличающаяся рабочая модель ИИ-движка. Но сразу честно: я не собираюсь раскрывать здесь внутреннюю кухню "GALO AI". Ни устройство нейрона, ни приватные маршруты мышления. Покажу только основополагающую математику: маленькую конечную структуру, которую можно взять руками, прогнать скриптом и попытаться сломать контрпримером.
Ключевая идея проста до невозможности: я взял обычное сложение по модулю и изменил в его таблице ровно одну строку.

https://habr.com/ru/articles/1039330/

Алгоритмы и Структуры данных
Трекинг посетителей на fisheye-камерах: задача “со звездочкой”

Всем привет, на связи команда NeuroCore. Сегодня расскажем про кейс разработки системы видеоаналитики для магазинов самообслуживания: почему fisheye-камеры - настоящее проклятие, почему SORT и DeepSORT не справились с задачей, как мы выстроили конвейер от детекции до бизнес-событий, и какие инженерные решения позволили добиться стабильной работы в продакшене.

Дано: магазины самообслуживания, которые работают без кассиров и продавцов. Покупатель входит по QR, выбирает товары, рассчитывается и выходит. Заказчику нужна автоматизированная система отслеживания: кто находится внутри, сколько времени, в каких зонах, а также распознает несанкционированный доступ и вход группами. В случае нарушений, система должна генерировать алерты по 7 типам событий.

Что есть: одна потолочная fisheye-камера, которая покрывает весь зал. Это идеальный выбор для ритейла: угол обзора 180 градусов, не нужно ставить десятки обычных камер, не нужно сшивать панорамы. Но за этот комфорт приходится платить.

https://habr.com/ru/articles/1039354/

Алгоритмы и Структуры данных
Только 17% всех 64-битных целых чисел можно разложить на два 32-битных

В разработке ПО произведение двух целых чисел часто вычисляется до фиксированного количества битов с переполнением. Возьмём для примера 8-битные целые. Если умножить 127 на 127, то мы получим число 1 в виде 8-битного беззнакового целого с переполнением. Реальное полное произведение равно 16129. Для представления 16129 обычно используются 16 бит точности.

Таким образом у нас появляется понятие полного произведения. Полное произведение двух 32-битных чисел обычно представляется при помощи 64 бит. У меня возник вопрос, какую долю всех 64-битных чисел можно записать как произведение двух 32-битных целых.

https://habr.com/ru/articles/1039552/

Алгоритмы и Структуры данных
Как у меня НЕ получился торговый бот на Polymarket

Привет, Хабр. Видел в интернете кейс. где сделали бота с LLM для торговли на Polymarket и он сделал $10k из $1k за месяц. Ну и чо бы не попробовать что то такое же сделать! Побочный проект, чисто по приколу. Вооружил его вирутальным стартовым капиталом — $100 нарисованных.

И вот на второй день этот несерьёзный проект показал +9% на счёте.

https://habr.com/ru/articles/1039642/

Алгоритмы и Структуры данных
Я хотел повторить Growing Neural CA за вечер. Ушёл месяц

Месяц назад я прочитал на Хабре статью про нейронные клеточные автоматы. Маленькие нейросети управляют клетками на сетке, клетки сами собираются в букву T или крест, и всё это обучается без учителя через что-то вроде эволюции. Я подумал: круто, повторю за пару вечеров, посмотрю как себя ведёт.

Эта статья — про то, что было дальше. Спойлер: пара вечеров превратилась в месяц, я провёл 22 эксперимента, упёрся в потолок IoU 0.44 на простой букве T, и главное чему научился — это вообще не про нейросети.

https://habr.com/ru/articles/1039694/

Алгоритмы и Структуры данных
Планирование движения для ровера на ходовой Ackerman'а

Несмотря на прогресс в технологиях и развитие микроэлектроники, задача поиска оптимального пути по-прежнему является весьма тяжёлой для современных вычислителей — будь то CPU или GPU. Горизонт планирования у многих локальных алгоритмов (например, DWA, TEB, MPPI на CPU) как правило не превышает нескольких метров, а иногда и дециметров. Однако планирование на большой временной интервал и дистанцию позволяет алгоритмам лучше находить пути в насыщенных препятствиями средах и является важным элементом системы уклонения от движущихся, динамических препятствий. Для решения задачи создания модуля поиска пути с дальним горизонтом планирования в этой статье будет рассмотрен пакет локального планировщика MPPI-Generic, работающий на GPU. Он может работать в связке с планировщиком State Lattice Planner из ROS NAV2, но в этой демонстрации будет использоваться отдельно от него — как «универсальный планер». Тесты работы обоих пакетов планирования будут проводиться в самодельном Qt-OpenGL симуляторе автомобиля (пикапа), выполненном на C++ для более плотной интеграции с симулятором и удобного обращения к CUDA-ядрам MPPI-Generic.

https://habr.com/ru/articles/1039784/

Алгоритмы и Структуры данных