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

Алгоритмы *

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

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

Когда ты больше не просто пишешь код. Ты управляешь энергией

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

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

Когда-то я писал веб-приложения. Решал задачи бизнеса, деплой в прод, REST, тесты, метрики, кубики. Всё было нормально. Но в какой-то момент мне стало… скучно.

Да, задачи были интересными. Команда — отличной. Но где-то внутри появилась пустота. Хотелось делать что-то настоящее. Осязаемое. Что-то, где за твоим кодом — больше, чем UI и API. Хотелось влиять на реальный мир.

Так я попал в мир электропривода.

Читать далее

NDT-based localization

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

Локализация с помощью NDT

Посвящается всем тем, кто хочет узнать, как работает алгоритм, не читая диссер на английском на 200 страниц [1].

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

Начать погружение

Префиксные суммы. Решение задачи из тренировок Яндекса по алгоритмам

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

Расскажу о том, как решал одну из наиболее интересных задач в разминке Яндекс Алгоритмы 2023 г. Интересной я называю ее потому, что: 1) решал я кратно дольше, чем предыдущие 6 задач из разминки вместе взятые; 2) именно в этой задаче я проникся мощью префиксных сумм, и применением их для двумерных массивов.

И так задача:

Кролики очень любопытны. Они любят изучать геометрию, бегая по грядкам. Наш кролик как раз такой. Сегодня он решил изучить новую фигуру — квадрат.

Кролик бегает по грядке — клеточному полю N × M клеток. В некоторых из них посеяны морковки, в некоторых нет.

Помогите кролику найти сторону квадрата наибольшей площади, заполненного морковками полностью.

Формат ввода

В первой строке даны два натуральных числа N и M ( 1 N, M 1000). Далее в N строках расположено по M чисел, разделенных пробелами (число равно 0, если в клетке нет морковки или 1, если есть).

Формат вывода

Выведите одно число — сторону наибольшего квадрата, заполненного морковками.

Читать далее

Дизеринг в графике и вычислениях: математическая элегантность сеток с низким расхождением

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

На хабре уже пару раз упоминался дизеринг, но в довольно узком ключе. Здесь, я хоть и буду делать упор на применение дизеринга в графике, я хочу продемонстрировать его недооценённость, из-за чего его снова и снова переизобретают.

Читать далее

AI 2027 — шпионский боевик о будущем ИИ. Часть 1

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

Искусственный интеллект меняет все. Ещё несколько лет назад GPT-3 поражал нас умением генерировать тексты, а сегодня мы обсуждаем AGI — искусственный интеллект, способный решать любые задачи не хуже человека. 

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

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

Читать далее

SQL HowTo: простой финал с агрегатами (Advent of Code 2024, Day 25: Code Chronicle)

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

В этой челлендж-серии статей попробуем использовать PostgreSQL как среду для решения задач Advent of Code 2024.

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

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

Читать далее

Сервис поиска за три недели: как сделать и не пожалеть через год

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

Как запустить поисковый сервис, если у тебя всего три недели, а данные нужно агрегировать с десятков источников, каждый из которых работает по своим правилам? Как обойти жёсткие лимиты партнёров, которые ограничивают запросы в 500 RPM и p99 до 5 секунд, когда для быстрой загрузки первых результатов нужно минимум 1000 RPM? Как справиться с геопоиском, когда традиционные решения вроде Elasticsearch не подходят?

В 2022 году 2ГИС запустил сервис бронирования Отелло, и перед нами стояла амбициозная цель — не просто создать поиск, а сделать его быстрым, надёжным и масштабируемым, чтобы успеть занять место на рынке. Спойлер: мы справились. В этой статье расскажем, как именно.

Материал будет полезен бэкенд-разработчикам и продакт-менеджерам, которые сталкиваются с задачами интеграции сложных данных, высокой нагрузки и оптимизации поисковых алгоритмов. А если тебе понравится наш проект, рассмотри нашу вакансию — мы в поисках Senior Golang Engineer

Читать далее

Создание искусственных сомнений значительно повышает точность математических вычислений ИИ

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

Языковые модели лучше справляются с математикой при использовании "верифицируемой траектории рассуждений"

(обзор модели rStar-Math)

Что делает ИИ-систему хорошей в математике? Не сырая вычислительная мощность, а нечто почти противоречивое: невротичная тщательность в проверке своей правоты.

Когда исследователи ИИ говорят о математических рассуждениях, они обычно сосредотачиваются на масштабировании — более крупных моделях, большем количестве параметров, объёмных датасетах. Но на практике математические способности не зависят от объема вычислительных ресурсов вашей модели. Всё дело в том, могут ли машины научиться проверять собственную работу, поскольку не менее 90% ошибок в рассуждениях возникают из-за того, что модели уверенно утверждают неверные промежуточные шаги.

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

Читать далее

Исследуем игру «5 букв» от Т-Банка и разные алгоритмы решения

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

Многие знакомы с играми "Wordle" или с российским аналогом "5 букв" от Т-Банка, суть которых в том, чтобы отгадывать пятибуквенные слова. Словарного запаса среднестатистического человека вполне хватает для успешного прохождения этих игр, но иногда человеку тяжело подобрать загаданное слово, хотя он точно его знает.

Кажется, что компьютер справлялся бы с этой игрой очень хорошо, но насколько именно хорошо?

В рамках этой статьи мы подробно исследуем российскую версию игры "5 букв":
• Придумаем различные алгоритмы прохождения игры
• Посмотрим, как различные алгоритмы проходят игру на разных словарях
• Сравним результаты и сделаем выводы

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

Читать далее

Видение концепции Цифровой Двойник в терминах «Индустрии 5.0». Агентный планировщик и симулятор

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

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

Читать далее

Дело о несрабатывающем тайм-ауте. Проблемы гистограмм Prometheus

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

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

Читать далее

Go 1.24: принципы работы и преимущества обновленной map

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

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

Привет, Хабр. Мы backend-разработчики SimbirSoft Павел и Алексей. В этой статье подробно разберём, как именно изменился механизм работы map и какие преимущества это даёт.

Go🚀

Магия персональных рекомендаций, или как нейросеть Яндекс Карт подбирает места под интересы пользователей

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

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

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

Читать далее

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

Проектируем веб-страницу, отображающую миллион элементов

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

Может ли браузер справиться с миллионом элементов? Если вы когда-нибудь пробовали рендерить в браузере миллион элементов <div>, то знаете, что происходит — он вылетает, зависает и перестаёт реагировать.

Недавно мы выпустили фичу, привлёкшую большое внимание — загрузку и визуализацию до миллиона спанов на нашей странице детализации трассировок. Это вызвало любопытство у пользователей и разработчиков, поэтому многие начали задавать вопрос: как нам это удалось?

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

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

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

Читать далее

Лучшие онлайн-сервисы для анонимных знакомств — ТОП-10 дейтинг сайтов и приложений

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

Я составил рейтинг из 10 лучших сайтов для анонимных знакомств в России, каждый из которых прошел мою личную проверку. Эти платформы для анонимных знакомств онлайн действительно предлагают уникальные возможности для поиска не только качественных временных связей, но и даже чего-то большего, если вы к этому стремитесь.

Читать далее

JavaScript: структуры данных и алгоритмы. Часть 10

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


Привет, друзья!


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


Сегодня мы продолжим разбирать алгоритмы для работы с графами.


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


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


Интересно? Тогда прошу под кат.

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

Плавающие запятые и ящики

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

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

Читать далее

Алгоритм долговременной генерации розового шума во временной области

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

Тема данной статьи была навеяна публикацией Автокорреляционная функция фликкер-шума / Хабр, в которой даны теоретические оценки авто-корреляционной функции фликкер-шума. Однако, практическое сравнение было дано лишь для броуновского шума, потому что он тривиально получается из белого шума интегрированием. Проверка розового шума осталась под вопросом, потому что для его генерации во временной области требуется "расщепить" интегратор на два одинаковых каскада, что, как будет показано далее, нетривиально, а практическая реализация может быть лишь приближенной. Аналоговые способы (фактически, в частотной области) генерации розового шума оставляем за скобкой, потому что это отдельная тема: там используется свойство, что мощность шума одинакова в каждой октаве, то есть диапазоны частот f ... 2f равномощны. Сфокусируемся на цифровом способе генерации розового шума, то есть на алгоритме, причем во временной области. Обзор показал, что такой алгоритм, как ни странно, отсутствует, что и побудило к созданию такового.

Читать далее

Нейросетевой подход для классификации событий отслеживаемых сверхширокополосным радаром

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

В данной статье речь пойдёт о том, как используя разные архитектуры нейронных сетей классифицировать данные полученные со сверхширокополосного радара " XETHRU by NOVELDA X4M02 290056-010 ". Моя работа основана на публикации " UWB-gestures, a public dataset of dynamic hand gestures acquired using impulse radar sensors " в которой подробно рассмотрена задача классификации человеческих жестов заснятых на сверхширокополосный радар при помощи свёрточной нейронной сети. Авторы оригинальной статьи выложили весь датасет собранный ими в открытый доступ, благодаря чему у меня появилась возможность воспроизвести их результат, а так же превзойти его применив архитектуры рекуррентных нейронных сетей и трансформеров.

Оригинальная статья:
https://www.researchgate.net/publication/350811193_UWB-gestures_a_public_dataset_of_dynamic_hand_gestures_acquired_using_impulse_radar_sensors https://www.nature.com/articles/s41597-021-00876-0
Данные:
https://figshare.com/articles/dataset/A_Public_Dataset_of_Dynamic_Hand-gestures_Acquired_using_Impulse-radar_sensors_/12652592
Мой GitHub с кодом:
https://github.com/DenissStepanjuk/UWB-Gestures-classification-with-Neural-Networks

Ознакомиться.

Искусственный интеллект и алгоритмы в энергетике: применение, преимущества, перспективы

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

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

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

Читать далее

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