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

Ссылка: @Portal_v_IT

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

Канал на бирже: https://telega.in/c/structuredata
Download Telegram
ИИ замедляет разработчиков? Почему промты съедают столько же времени, сколько код, и что с этим делать

Я — Евгений Сатуров, CTO Mobile в Surf. Год назад я купил команде подписку на Copilot Business, и будущее наступило. Но совсем не то, что ожидали: ручные промты продолжали съедать время разработчиков, а прорыва в продуктивности не произошло.

Показываю, почему так случилось и как Surf и другие компании решают проблему. Больше про воспитание ИИ и применение его в проектах читайте в ТГ-канале нашего CEO Владимира Макеева.

https://habr.com/ru/companies/surfstudio/articles/961548/

Алгоритмы и Структуры данных
👍1
По мотивам Хабра: рейтинг контента и пользователей на основе офелократии. Часть 1

В 2011-м и немного в 2015 году я принимал участие в разработке портала с прикольными роликами «Вы — очевидец» (далее «сайт»). Сейчас дни максимальной славы этого сайта прошли, и он стал хобби-проектом известного продюсера и телеведущего Ивана Усачёва.

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

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

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

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

Алгоритмы и Структуры данных
🤯1
Зарабатываем, открывая позиции против трейдеров на bybit

Привет, Habr! В этой статье я хочу поделиться своим проектом — Telegram-ботом, который автоматизирует торговлю на бирже Bybit на основе сигналов из специализированного канала. Бот парсит сообщения из Telegram-канала @TokenSplashBybit, извлекает информацию о предстоящих "token splash" (это события, когда новые токены добавляются на биржу с возможностью получения airdrop), и открывает длинные позиции (лонги) в момент результата. Почему лонги? Потому что token splash на Bybit часто сопровождаются airdrop-вознаграждениями для держателей позиций, многие трейдеры начинают шортить подобные позиции - тем более учитывая, что часто на токены существуют много разных мероприятий, например, binance alpha и прочие. Толпа почти никогда не зарабатывает - так подобных трейдеров почти всегда отвозят наверх, ликвидируя и собирая стопы, что делает стратегию прибыльной в долгосрочной перспективе. Я не даю финансовых советов — это просто технический проект для энтузиастов автоматизации и криптотрейдинга.

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

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

Алгоритмы и Структуры данных
🤯1
Thefittest: зачем я пишу свою open-source библиотеку эволюционных алгоритмов

Эволюционные алгоритмы — это часть области искусственного интеллекта, которую называют вычислительный интеллект (Computational Intelligence). В отличие от «классического» машинного обучения, где всё завязано на строгих формулах и градиентах, вычислительный интеллект работает ближе к природе — через адаптацию, самоорганизацию и отбор. Если сказать проще, это способ искать оптимальные решения — максимумы и минимумы функций — по тем же законам, по которым эволюция ищет приспособленные формы жизни. Здесь решения «размножаются», «мутируют» и «соревнуются» между собой, а выживают те, кто ближе к цели.

Красиво? Да. А главное — это работает. С помощью эволюционных алгоритмов можно оптимизировать всё что угодно: от структуры нейросетей до формы деталей в инженерных системах или гиперпараметров моделей. Эволюционные алгоритмы применяются не только для оптимизации функций и нейросетей. Они подходят для AutoML, поиска архитектур (NAS) и настройки сложных AI‑пайплайнов — в том числе RAG‑систем и мультиагентных решений. И это не только теория — крупные исследовательские группы, включая Google DeepMind, уже применяют эволюционные методы даже в связке с LLM.

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

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

Для разработчиков ПО diff — привычный способ представления изменений: мы используем diff для сравнения различных версий одного файла (например, во время ревью кода или когда мы пытаемся понять историю файла), для визуализации разницы между непроходящим тестом и его ожиданиями или для автоматического применения изменений к файлам исходников.

В каждом моём профессиональном и личном проекте рано или требовался diff для визуализации изменения или применения патча. Однако меня никогда не устраивала ни одна из свободно доступных библиотек diff. В профессиональной деятельности это никогда не вызвало особых проблем, но в личных проектах я копировал и модифицировал из проекта в проект собственную библиотеку. Однажды я рассказал об этом коллеге, и тот наставил меня на путь публикации моей библиотеки на Go (порта библиотеки на C++, которую я раньше копировал и модифицировал). И оказалось, что я сильно недооценивал то, насколько близка моя библиотека к возможности публикации!

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

Алгоритмы и Структуры данных
1
Как журналист помогает выявлять серийных убийц с помощью алгоритма

17 октября 2014 года в мотеле маленького городка Хаммонд, Индиана, был обнаружен труп 19 летней Африки Харди. Вызванные на место полицейские почти сразу пришли к выводу, что это было убийство. На поиски убийцы ушло меньше суток — его обнаружили по записям камер наблюдения, установленных возле мотеля, а также по анализу телефонных разговоров жертвы (в номере был найден её телефон).

43-летний Даррен Ванн был арестован уже 18 октября и, как ни странно, совсем не был удивлён появлению полиции. Когда наручники защёлкнулись на его запястьях, Даррен повернулся и сказал полицейскому: «Наконец-то вы меня поймали». Так попался серийный убийца, жертвами которого стали ещё минимум шесть женщин. Но как полагали детективы, на самом деле счёт приближался к 20.

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

https://habr.com/ru/companies/first/articles/735282/

Алгоритмы и Структуры данных
👍1
Точечные фильтры: алгоритмы и их реализация

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

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

Алгоритмы и Структуры данных
👍1
Как меняется сумма от перемены мест в графике производства

Меня зовут Ася, и я занимаюсь решениями по оптимизации в НЛМК-ИТ. Много лет я работала .NET разработчиком, мечтала о профессиональном росте. Коллеги из проекта по календарному планированию и графикованию поверили в меня и взяли в команду, несмотря на то, что на тот момент я не имела релевантного опыта. Я узнала, что математические модели востребованы и в металлургии. И вот мы выпустили в опытно-промышленную эксплуатацию проект оптимального планирования производства на основе класса программ Solver.

Здесь хочу рассказать об оптимизации очередей производства в прокатном и электросталеплавильном цехах НЛМК-Калуга

https://habr.com/ru/companies/nlmk/articles/734612/

Алгоритмы и Структуры данных
Особенности прогнозирования продаж и оттока в условиях неопределенности

Бизнес в современных условиях развивается стремительно. На динамику продаж, доходов, расходов оказывает влияние множество различных факторов, как внутренних (инвестиции, стимулирование отдельных каналов продаж, исследование рынка и т.п.), так и внешних – различные непредвиденные обстоятельства, вроде, пандемий, стихийных бедствий, исторические событий.

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

https://habr.com/ru/companies/beeline_tech/articles/735156/

Алгоритмы и Структуры данных
Чекни свой крафт: 8 признаков, что разработчик слишком залип в Minecraft

Думаешь, что твоя продуктивность падает из-за багов в коде? А может, все дело в том, что ты мысленно фармишь крипперов, пока твой PM объясняет задачу? Пройди наш тест и узнай, насколько глубоко ты провалился в пиксельную кроличью нору!

https://proglib.io/tests/chekni-svoy-kraft-9-priznakov-chto-razrabotchik-slishkom-zalip-v-minecraft

Алгоритмы и Структуры данных
🤯2
Как быстро вычисляются логарифм и экспонента в компьютере?

Сегодняшняя статья посвящена методам быстрого приближенного вычисления двоичного логарифма и экспоненты/степеней двойки. Не все задумывались, как именно реализовано вычисление нелинейных математических функций в компьютере, который вообще-то умеет складывать и умножать, но не вычислять синусы или гиперболические тангенсы. Из школьных институтских времен вспоминаются ряды Тейлора, приближающие функцию полиномом в окрестности заданной точки, или интерполяционные полиномы Лагранжа, но как добиться действительно высокой точности приближения? А можно ли эти имплементации ускорить? Постараемся сегодня приоткрыть завесу тайны.

https://habr.com/ru/companies/smartengines/articles/734576/

Алгоритмы и Структуры данных
1
Реализация двустороннего A* на двух потоках

На Хабре можно найти немало статей, посвящённых оптимизациям поиска кратчайшего пути на графе. Я расскажу ещё про один подход. Речь пойдёт о распараллеливании алгоритма A* и исполнении его на двух потоках, а также о сложностях, с которыми я столкнулся при реализации, и их преодолении.

https://habr.com/ru/companies/vk/articles/731656/

Алгоритмы и Структуры данных
1
Координатный квест: как найти координаты и расстояния без регистраций и смс

Хочу поделиться своим опытом решения одной интересной задачки и описать весь проделанный путь.

Был обычный денёк, сидел я на работе и занимался своими айтишными делами. Ко мне пришел руководитель и сказал: «Нужно рассчитать дистанцию до границы регионов для этих адресов». При этом без всяких платных сервисов и API онлайн карт, и своими усилиями. Айтишник понял, айтишник принял, айтишник получил свою заветную эксельку и пошёл работать.

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

Алгоритмы и Структуры данных
🤯1
FTM, который написал MUSIC: точное определение местоположения Wi-Fi-устройств в условиях многолучевости.Часть 2/3

III. Проблемы многолучевой интерференции FTM и MUSIC
По данным Wi-Fi Alliance протокол FTM обеспечивает измерение расстояния с метровой точностью [11]. Однако недавнее исследование [13] показало, что, хотя это утверждение в целом верно для условий прямой видимости, но не относится к ситуациям вне прямой видимости (NLOS). На верхнем уровне проблема связана с наличием препятствий и многолучевости, присущих помещениям. Как показано на Рисунке 3, отраженный сигнал может быть мощнее, чем прямой, поэтому инициатор может посчитать длину траектории отраженного сигнала реальным расстоянием до ответчика.

https://habr.com/ru/companies/stc_spb/articles/731750/

Алгоритмы и Структуры данных
🤯1
Повышение точности решения плохо обусловленных СЛАУ методом Гаусса

Большинство задач вычислительной математики в конечном итоге сводятся к решению систем линейных уравнений. На данный момент существует огромное количество алгоритмов для решения таких систем. Их разделяют на две большие группы: итерационные и прямые. Прямые методы позволяют получить точные значения неизвестных, если вычисления проводятся точно. Далее будем рассматривать метод Гаусса. Этот метод можно использовать для решения систем алгебраических уравнений с так называемыми матрицами общего вида. Одновременно он позволяет определить —совместна ли система и, если она совместна — единственно ли решение? Однако, для всех методов есть проблема, связанная с трудностями плохо обусловленных систем. Это наиболее распространенный способ решения СЛАУ, в основе которого лежит идея последовательного исключения неизвестных (более подробно данный метод будет описан далее).

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

Алгоритмы и Структуры данных
1
Можно ли научить ИИ писать более качественные тексты?

Эпоха больших языковых моделей (LLM, Large Language Model) снова и снова ставит перед нами вопрос о том, что отличает великую прозу от просто хорошей.

Отвечая на этот вопрос, обычно довольно расплывчато рассуждают о «стиле»: о неуловимом, мистическом качестве, которое свойственно таким людям, как Хемингуэй, Вулф или Вудхаус. Это — как один судья сказал о порнографии: мы узнаём её, когда видим. Мы способны узнать стиль текста, мы даже можем его сымитировать. Но можем ли мы его измерить? Можем ли мы создать для него производственную функцию?

https://habr.com/ru/companies/wunderfund/articles/955824/

Алгоритмы и Структуры данных
Дешевый как автобус, удобный как такси: перспективный вид общественного транспорта для больших и средних городов. Часть3

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

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

Алгоритмы и Структуры данных
1🤯1
RSync на стероидах с поддержкой Windows

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

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

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

Алгоритмы и Структуры данных
🤯1
Как я написал монитор пампов для биржи: от API до Telegram-уведомлений

Я давно занимаюсь алготрейдингом, периодически также работают боты для монет с низкой капитализацией. На многих биржах остаются монеты маленькой и средней капитализации - периодически их пампят. В хороший день 10-15 монет могут дать рост больше чем на 50%.

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

Я взял за основную цифру - 5% роста. Также при желании можно добавить и шорт-позиции, но пока что, в стадии теста, мне это неинтересно.

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

Алгоритмы и Структуры данных
🤯1
Решаем криптографическую задачу: Из России с любовью

Ранее в блоге FirstVDS уже была статья с разбором решения криптографической задачи с MysteryTwister. В этом топике разберём задачу с довольно многозначительным названием «Из России с любовью» ("From Russia with Love"). Автор задачи Sansibar.

Задание достаточно простое, и основано на шифре простой замены (подстановки), а конкретно на шифре с использованием кодового слова (при таком образовании шифралфавита ключевое слово пишется сначала, затем пишутся остальные буквы алфавита по порядку кроме букв, использованных в ключе). Есть две основные проблемы стойкости шифров замены: простота формирования шифралфавита и чувствительность к частотному анализу. В нашей задаче допущен ещё один очень серьёзный с точки зрения уязвимости пробел. А именно, не используется блочный метод шифрзаписи, который позволил бы скрыть границы слов в исходном тексте.

https://habr.com/ru/companies/first/articles/734004/

Алгоритмы и Структуры данных
🤯1
Детальный разбор стандарта NIST SP 800-232 со схемами преобразований. Часть 1

Совсем недавно – в августе текущего года – Институт стандартов и технологий США NIST выпустил стандарт NIST SP 800-232 [1], описывающий четыре низкоресурсных криптографических алгоритма на базе семейства алгоритмов Ascon:

алгоритм аутентифицированного шифрования с присоединенными данными Ascon-AEAD128;

три алгоритма хеширования: Ascon-Hash256 (классическая хеш-функция), Ascon-XOF128 (хеш-функция с переменным размером выходного значения) и Ascon-CXOF128 (хеш-функция с кастомизацией и переменным размером выходного значения).

Предыдущий опыт показывает, что криптографические стандарты США после их принятия обычно широко используются во всем мире, поэтому данный документ может представлять значительный интерес и достоин детального разбора (краткий обзор стандарта NIST SP 800-232 уже был опубликован на Хабре ранее здесь), который я и предлагаю вам в двух частях в этой (и следующей) статье.

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

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