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

Ссылка: @Portal_v_IT

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

Канал на бирже: https://telega.in/c/structuredata
Download Telegram
Как дата саинтист имиджборду писал

На дворе конец 2023. Я только что уволился из Яндекса и скучаю по ячану, чуть меньше скучаю по этушке, вообще не скучаю по таскам, дедлайнам, ревью. Чтобы заполнить возникший информационный вакуум, пробую переключиться на реддит, hacker news, пикабу, вышивание крестиком, сканворды, пилатес — не то. Тогда мне в голову приходит гениальная идея: а почему бы не сделать свою имиджборду с авторизацией по корпоративной почте крупных российских компаний? Ячан для всех!

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

Алгоритмы и Структуры данных
Почему ReAct-агенты ломаются в продакшене и чем их заменить

Приветствую читателей.
Мы пытались построить LLM-чат для продакшена.
Через месяц у нас был 20k-токенный prompt, 50 тулзов и ответы по 2 минуты.
В итоге пришлось отказаться от ReAct и перейти на LLMCompiler.

А начали мы с того что компания захотела поекспериментировать с созданием чата

Для начала освежим память как вообще работает llm и react архитектура.
С точки зрения разработчика, ллм - это функция, которая принимает на вход строку и отдает другую строку, входящая строка может прораммировать то, какой ответ будет, например, вы можете попросить ллм вести себя как чат, далее хранить историю входов и выходов и передавать ее опять в ллм.

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

Алгоритмы и Структуры данных
Решаем задачу сетевого планирования с помощью Python

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

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

Алгоритмы и Структуры данных
Как и зачем ReAct-агенты ломаются в продакшене и чем их заменить

Приветствую читателей. Мы пытались построить LLM-чат для продакшена. Через месяц у нас был 20k-токенный prompt, 50 тулзов и ответы по 2 минуты. В итоге пришлось отказаться от ReAct и перейти на LLMCompiler.
А начали мы с того что компания захотела поекспериментировать с созданием чата

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

Алгоритмы и Структуры данных
«Напомним, ранее...»: зачем мы вернули RAG, от которого сами отказались

Мы строим Рерайт-Завод – AI-систему для автоматизации рерайта новостей в региональных СМИ. Основная задача – автоматизировать все тупые бессмысленные рерайты пресс-релизов и прочей обязаловки, чтобы журналисты занимались журналистикой, а не переписыванием ТАСС.

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

Теперь ожидаю видимо того же за этот пост. Он про то, что не делает ни один рерайт-сервис. И что отличает текст, написанный журналистом, от текста, написанного чатГПТ, за секунду, ведь именно столько времени проходит с момента чтения до крика «это же нейросеть написала!!»

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

Алгоритмы и Структуры данных
🤯1
Поговорим о репутации

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

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

Алгоритмы и Структуры данных
🔥1
Big O от абстракции на собеседованиях к реальному коду

"Этот алгоритм работает за O(n log n)", часто вспоминается эта фраза, когда мы хотим пойти на собеседование, звучит как что-то абстрактное из учебников по алгоритмам. На самом деле Big O — это практичный инструмент описания производительности функции без привязки к конкретному железу или времени выполнения.

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

Алгоритмы и Структуры данных
1
Как я написал радар межбиржевых спредов на Python и понял, почему 90% публичных ботов считают прибыль неправильно

Я занимаюсь фьючерсным межбиржевым арбитражем. Для тех, кто не знает про что пойдет речь, суть простая: один и тот же контракт (например, ETHUSDT perpetual) торгуется на нескольких биржах одновременно. Цены всегда немного отличаются. Покупаешь где дешевле, продаёшь где дороже - разница твоя, независимо направления рынка и от того, куда же дальше пойдет цена.

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

За несколько месяцев я написал систему, которая параллельно мониторит 4 биржи (Bybit, MEXC, BingX, HTX), рассчитывает спреды по ~450 торговым парам (число зависит от наличия контрактов на биржах) каждые 5 секунд, сохраняет историю в базу данных на PostgreSQL и ищет устойчивые паттерны. В процессе написания я наступил на всевозможные логические грабли и понял, как сделать так, чтобы мой арбитражный бот не показывал прибыль, которой не существует на практике.

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

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

Алгоритмы и Структуры данных
🔥1
Одна формула, позволяющая понять 3D-графику

Учась в школе, я обнаружил очень простую математическую формулу, о которой не перестаю думать и сегодня. Смысл её в следующем: представьте, что у вас есть 3D-точка в воображаемом 3D-пространстве за экраном. Для проецирования этой 3D-точки на экран нужно взять её координату X, поделённую на Z, и аналогично её Y / Z. И в результате вы получите проекцию точки на экран: x'=\frac{x}{z} и y'=\frac{y}{z}. А если у вас есть множество точек в этом 3D-пространстве за экраном, и вы начнёте их анимировать и вращать их, а потом воспользуетесь этой формулой для рендеринга всех точек на экране, то это будет выглядеть, как 3D-сцена или 3D-объект. Давайте попробуем эту формулу в деле.

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

Алгоритмы и Структуры данных
👍1🔥1
Головоломка Ханойские башни на Java

Головоломка Ханойские башни (или Ханойская башня, или Towers of Hanoi) – классический пример задачи, в которой лучшее и самое наглядное решение основывается на рекурсии. Кроме того, эта задача иногда встречается на собеседованиях. Тем удивительнее, что последняя статья (хотя и весьма обстоятельная), посвященная этой задаче на Хабре датируется 2013-м годом и решение приводится на Delphi. Давайте исправим эту печальную ситуацию!

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

Алгоритмы и Структуры данных
Неплоский мир: как мы делаем рельеф настоящим

У нас в 2ГИС давно проходят эксперименты, связанные с рельефом. Мы это делаем не только для того, чтобы получить красивую завораживающую картинку, но и чтобы дать возможность пользователям глубже погружаться в окружающую среду, лучше ориентироваться на местности и принимать решения, от которых зависит качество прогулки или путешествия, комфорт и экономия времени и средств.

https://habr.com/ru/companies/2gis/articles/1004084/

Алгоритмы и Структуры данных
Неплоский мир: как мы делаем рельеф настоящим

У нас в 2ГИС давно проходят эксперименты, связанные с рельефом. Мы это делаем не только для того, чтобы получить красивую завораживающую картинку, но и чтобы дать возможность пользователям глубже погружаться в окружающую среду, лучше ориентироваться на местности и принимать решения, от которых зависит качество прогулки или путешествия, комфорт и экономия времени и средств.

https://habr.com/ru/companies/2gis/articles/1004084/

Алгоритмы и Структуры данных
🔥1
Обзор книг аналитика данных

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

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

Алгоритмы и Структуры данных
🔥1
Нейросеть без нейросети: как обучить классификатор Iris через SAT и запустить это на GPU

В прошлой статье я показывал,как мы в AGIQ Solver Enterprise применили квантово‑вдохновлённый популяционный подход на GPU для NP‑задач и получили ускорение на практических постановках в 50–100 раз по сравнению с последовательным перебором и плохо распараллеливаемыми схемами.

Сегодня — следующий шаг:покажу,как задачи машинного обучения можно кодировать в SAT/MaxSAT, а затем решать обычным NP‑солвером — тем же AGIQ Solver Enterprise.

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

Алгоритмы и Структуры данных
🔥1
ИИ будет писать код. Но кто возьмёт ответственность за жизнь программного обеспечения?

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

На протяжении многих лет индустрию программного обеспечения волновал один вопрос:

Кто будет писать код?

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

Алгоритмы и Структуры данных
🔥1
2 года, 7 попыток, 0 распознанных бордюров: как мы учились детектить ДТП в реалтайм без датасета

Привет, Хабр! Это команда дата-сайентистов Magnus Tech. В этом посте мы расскажем, как работали над одним общественно полезным проектом — алгоритмом, который распознает ДТП по видео с дорожных камер. Кейс будет интересен широкому кругу разработчиков, которые занимаются технологиями машинного зрения и обучения. В нем — наш долгий путь из множества попыток сделать точный алгоритм, несмотря на его настойчивые попытки быть неточным.

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

https://habr.com/ru/companies/magnus-tech/articles/738836/

Алгоритмы и Структуры данных
Нам не подошла ни одна среда для MARL в непрерывном пространстве — поэтому мы сделали CAMAR

Представьте задачу: есть куча роботов, и им всем надо куда‑то добраться, не столкнувшись с собратьями, а мы должны придумать для этого алгоритм. Это, если упрощать, и называется многоагентным планированием или MAPF — Multi‑Agent Pathfinding.

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

В общем, мы в команде «RL агенты» Лаборатории когнитивных систем искусственного интеллекта AIRI сделали свою среду‑бенчмарк под названием CAMAR, где можно обкатывать модели многоагентного обучения с подкреплением в непрерывном пространстве. Мы представили нашу статью про CAMAR на Main Track конференции AAAI‑2026 и на воркшопе WoMAPF’26 (тоже часть AAAI-2026). Заодно я, стажер‑исследователь команды и студент магистратуры ЦКМ МФТИ по имени Артём Пшеницын, решил рассказать о нашей разработке на Хабре.

https://habr.com/ru/companies/airi/articles/1006040/

Алгоритмы и Структуры данных
🤯1
Как отделаться «малой кровью» при компрометации секретных ключей

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

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

https://habr.com/ru/companies/aktiv-company/articles/739090/

Алгоритмы и Структуры данных
1🔥1
Почему бизнес хочет FIFO и почему это не всегда «серебряная пуля»

Привет Хабр! Довольно часто на обсуждениях/созвонах слышу о том, что заказчики хотят реализовать очередность доставки с порядком. В этой статье я расскажу, почему требование FIFO зачастую является началом дорогого приключения.

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

Алгоритмы и Структуры данных
Решение задачи с собеседования используя технику Sliding Window на Go

Да, в интернете существует множество решений подобных задач, но, по моим ощущениям, они написаны сложным языком для начинающего программиста. Особенно мало материалов с примерами на Go. Когда я обучался алгоритмам, мне казалось, что данные темы можно объяснить куда проще существующих.

В этой статье я пошагово разберу технику "Sliding Window" ("Скользящее окно") и покажу, как с её помощью решить задачу Longest Substring Without Repeating Characters на Go.

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

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