Обновить
512K+

Алгоритмы *

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

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

Галлюцинации LLM — это артефакты сжатия. И это объясняет вообще всё

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

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

Вы бы сказали: «это lossy-компрессия, часть данных неизбежно потеряется».

И были бы правы. Потому что именно это делает LLM.

Читать далее

Новости

Как я случайно написал самый быстрый CSV-парсер на C#

Уровень сложностиСредний
Время на прочтение22 мин
Охват и читатели6.5K

На рождественских каникулах я ехал на автобусах из одного штата в другой, и мне нужно было как-то убить 24 часа. Я читал об UTF-8 и узнал об этой кодировке нечто интересное: все традиционные символы ASCII сохранены в ней в их исходном однобайтовом представлении, поэтому их можно сканировать крайне быстро. Я решил поэкспериментировать с кодом, максимально быстро подсчитывающим такие символы, в результате получив готовый парсер CSV, который вполне сравним с предыдущими парсерами, а то и быстрее них.

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

Читать далее

Не бойтесь динамического программирования

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

Говорят, все боятся задач на динамическое программирование (aka ДП), потому что их решения выглядят как из задачника по матанализу. А мне оно всегда нравилось. Одна изящная формула — и задача решена.

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

Разбор трех задачек

Книга: «Основы GraphRAG. Улучшенный RAG на базе графов знаний»

Время на прочтение2 мин
Охват и читатели5.6K

Привет, Хабожители! Создайте и разверните систему GraphRAG производственного уровня. Научитесь извлекать структурированные знания из текста и комбинировать методы векторного поиска с поиском по графам. Книга богата практическими примерами: от создания инструмента поиска по векторному сходству и приложения Agentic RAG до оценки эффективности и точности результатов работы такого приложения.

Читать далее

Математическое программирование vs RL: может ли ИИ догнать классику в оптимизации?

Время на прочтение17 мин
Охват и читатели3.4K

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

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

Материал будет полезен как заядлым специалистам по мат.оптимизации, так и ml-инженерам или data scientist’ам. Рассматриваемая задача может быть интересна специалистам из области логистики/транспортных перевозок.

Читать далее

Новые способы хранения тайлов в Картах: как один сервер выдерживает 80k RPS

Время на прочтение22 мин
Охват и читатели5.1K

80k RPS и 25 Гбит/с трафика тайлов с одного сервера — звучит как мечта для картографического сервиса? На самом деле это реально — если ваш способ отдачи тайлов спроектирован для этого.

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

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

Читать далее

Множество Мандельброта — видео

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

Анимация: генерирует последовательность из 255 высокоточных кадров в формате BMP (frame_000.bmp ... frame_254.bmp) и автоматически компилирует их в видеоролик (файл Mandelbrot.mp4) с частотой 30 кадров в секунду, используя встроенный FFmpeg.

Скачать последнюю версию (Windows и Linux)
В windows это Mandelbrot_windows.exe и ffmpeg.exe
https://github.com/Divetoxx/Mandelbrot-Video/releases
Выше README содержит English и Русский!

FFmpeg - "швейцарский армейский нож" для обработки видео. В 2026 году он остается отраслевым стандартом, поддерживаемым сообществом разработчиков открытого программного обеспечения. От YouTube и Netflix до профессиональных киностудий - все на него полагаются. И да, он совершенно бесплатный.

Читать далее

Долой иерархию и роли: о том, как LLM-агенты самоорганизуются лучше, чем мы их проектируем

Время на прочтение7 мин
Охват и читатели7.8K

Роли, иерархии, департаменты — всё это придумано для людей. ИИ-агенты устроены иначе. Мы 6 месяцев проверяли, что произойдёт, если не назначать агентам роли и дать им самоорганизоваться. 25 000 задач, 8 моделей, до 256 агентов. Результат: назначать роли — антипаттерн. Система, где агенты сами выбирают специализацию, превосходит систему с координатором на 14%. 8 агентов создали 5 006 уникальных ролей. Агенты сами решают, когда не участвовать — и это повышает качество. В статье — полный разбор эксперимента и практические рекомендации.

Читать далее

SQL квалии

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

Есть мнение, что принципиальной точкой в развитии ИИ станет обретение им сознания. Что такое со‑знание, как оно появляется и «работает» (у Жизни, у нас, у ИИ) разговор отдельный. Но говоря о сознании нельзя пройти мимо темы так называемый «квалий», на использовании которых в качестве своеобразной базы данных как считается сознание и основывает свою работу. Конечно же есть множество литературы на эту тему, в т.ч. и Д. Чалмерс, однако к.м.к. всё же имеет смысл схематически показать что такое квалии, как они получаются и работают на краткой, простой и понятной модели с использованием ПК и языка SQL.

Создать квалию

Машина Тьюринга в Minecraft

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

Что если взять одну из базовых концепций computer science и построить её прямо внутри игры — из пикселей, блоков и виртуальных проводов? Именно это я и сделал. Машина Тьюринга — теоретическая модель, которая лежит в основе всех современных компьютеров. Она читает символы, записывает их и переходит между состояниями по заданной программе. Майнкрафт позволяет симулировать электрические сигналы с помощью редстоуна. Из этого материала можно собирать настоящие логические схемы — и в итоге целые вычислительные устройства. Получился полностью рабочий механизм: машина читает данные, выполняет команды и останавливается по завершении программы.

Делаем интересную Майнкрафт штуку

Как я впервые услышал черную дыру: Python и LIGO

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

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

Когда речь заходит об обсерватории LIGO, большинство из нас вспоминает классический сценарий: где-то за миллиарды световых лет слились две черные дыры, и через миллионы лет детекторы на Земле зафиксировали гравитационный всплеск, длившийся доли секунды. В классической Общей теории относительности (ОТО) считается, что изолированная или просто поглощающая газ черная дыра гравитационно «нема». Она ничего не излучает.

Но что, если это не так? Что, если гравитационные телескопы способны «слышать» не только редкие катастрофические слияния, но и постоянный, фоновый гул от обычных черных дыр, которые прямо сейчас пожирают материю в нашей галактике? И что, если этот гул может рассказать нам о физическом размере объектов, внутри которых, как нам говорят, находится «бесконечная сингулярность»?

В этой статье я покажу, как концепция механики сплошных сред позволяет предсказать точную частоту такого резонанса. А затем мы откроем Python, подключимся к серверам GWOSC (Gravitational Wave Open Science Center), выкачаем гигабайты сырых тензорных данных LIGO и методами цифровой обработки сигналов (DSP) вытащим этот акустический след из шума.

Спойлер: мы найдем этот гул для трех разных черных дыр. И он совпадет с расчетным до десятых долей процента. Такого анализа (поиск непрерывного гравитационного резонанса от аккреции) еще никто не делал. Это буквально новый метод определения параметров черных дыр.

Слушать черные дыры

Моя волна — теперь и в офлайне. Рассказываем, как уместили рекомендательную систему в сотню килобайт

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

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

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

Как это работает и что нам пришлось для этого создать — расскажем под катом.

Читать далее

«Лёгкие маршруты» в 2ГИС: рассказываем про алгоритмы и новую систему штрафов

Время на прочтение13 мин
Охват и читатели8.1K

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

Недавно в дополнение к самому быстрому и оптимальному мы добавили ещё один вид маршрута — «лёгкий маршрут», наименее стрессовый для водителя. Минимум сложных перекрёстков, поворотов налево и перестроений. 

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

Читать далее

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

Бекэнд на fastify для няшных котят (aura8)

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

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

Читать далее

Что умеют школьники, которые через 5 лет будут нашими коллегами

Время на прочтение13 мин
Охват и читатели7.9K

Школьные олимпиады по информатике до сих пор воспринимаются как отдельный мир, где дети решают абстрактные задачи, далёкие от реальной работы. Но сильный олимпиадник сегодня уже не просто быстро пишет код. По уровню алгоритмического мышления он близок к junior, а иногда и к middle-разработчику, только без боевого опыта. Он умеет жить в таймлимитах, думать об асимптотике, быстро проектировать решение, дебажить под давлением и работать не только с чистой алгоритмикой, но и с задачами по ИИ, безопасности и робототехнике. Поэтому заключительный этап Всероссийской олимпиады школьников по информатике, который в этом году проходит с 22 по 28 марта, показывает, какой инженер будет нужен индустрии через несколько лет. Чтобы понять, из каких скилов собирается портрет будущего инженера, мы посмотрели, как сегодня устроен финал олимпиады, какие задачи там дают и чему он на самом деле учит.

Читать далее

Тайны рекламного аукциона в Ozon и как мы приручали VCG

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

Привет! Меня зовут Дмитрий, я ведущий разработчик в команде рекламного рантайма. Наша команда, как вы уже могли догадаться, занимается разработкой аукционов в поисковой рекламе Ozon.

В этой статье я хочу познакомить вас с механикой аукционов и рассказать, как мы делаем это в Ozon. Сначала мы разберёмся, что такое рекламный аукцион, что он имеет общего с аукционом в обычном понимании и как используется в контексте поисковой рекламы. А ещё подробно разберём аукцион типа VCG (аукцион Викри — Кларка — Гровса), вместе выведем формулы для него и посмотрим, какие результаты мы получили на практике.

Читать далее

Множественная регрессия: Расширяем горизонты прогнозирования

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

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

В этой статье вы узнаете:

Математическую основу множественной линейной регрессии – от уравнения гиперплоскости до метода наименьших квадратов;
Разбор полного кода на Python с использованием scikit-learn на реальном датасете Advertising (200 наблюдений);
Как интерпретировать коэффициенты модели;
Сравнение с простой линейной регрессией – насколько лучше работает множественная модель;
Расширение до полиномиальной регрессии, когда линейности недостаточно.

Читать далее

TurboQuant. Новый алгоритм сжатия от Google

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

Google Research выпустили TurboQuant - новый алгоритм сжатия данных, который сокращает объём кэш-памяти LLM как минимум в 6 раз и даёт ускорение до 8 раз. При этом заявляется отсутствие потерь в точности, что напрямую влияет на эффективность работы ИИ.

Читать далее

Строим перспективу по изображению

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

Преобразование Хафа, оператор Собеля и немного линейной алгебры: как я добавил в приложение автоматическое построение перспективы по изображению.

Читать далее

В каждом JPEG зашита модель вашей сетчатки. Буквально

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

После того как я написал статью про то, что ваш монитор не умеет показывать бирюзовый и 65% видимых цветов для него просто не существуют, один мой знакомый (далекий правда от технической отрасли) спросил: «Окей, монитор врёт, а что тогда делает JPEG с оставшимися 35%?» И это хороший вопрос. Я полез в спеку, а через полчаса забыл, зачем вообще полез. Потому меня уже интересовало другое: ребята, которые в 1992-м финализировали этот стандарт, по сути заревёрсили человеческое зрение и запихнули его в алгоритм сжатия.

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

Читать далее
1
23 ...