Обновить
512K+

Алгоритмы *

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

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

ULBT: как искать и сортировать зашифрованные строки без полного сканирования

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

Рассмотрим задачу работы с персональными данными в системе, где большая часть данных находится в открытом доступе и не может строго контролироваться. В этом случае популярным решением будет вынесение чувствительных данных в отдельный защищенный контур с контролируемым доступом. Раскрытие данных по имеющимся ключам в требуемой точке является тривиальной задачей, но все усложняется, когда большие объемы конфиденциальных данных требуется фильтровать или использовать для сортировки. Если упростить задачу до сути: нам нужно быстро искать и сортировать конфиденциальные строки минимизируя обращения к закрытой зоне, но при этом не раскрывая их содержимое. Очевидным решением является использование индексов по закрытым данным в открытой зоне. Однако классические варианты либо плохо масштабируются, либо слишком много «сливают» через индекс.

В этом тексте предлагается практический подход к решению этой проблемы на базе ULBT (Unbalanced Lexicographic Bucket Tree). Предложенный подход предполагает решение следующих задач

Читать далее

«Я ща его ударю». Полтора года собирала жалобы на нейросети от нытиков и классифицировала

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

Дело было так. Я года полтора-два сижу в профильных телеграм-чатах про всякие эйяй – там разрабы, копирайтеры, редакторы, вайбкодеры и вайбкуколдеры (это кто смотрит, как другие вайбкодят, а у самого руки не доходят). Народ там не на трибуне выступает, скорее говорит, что на сердце, так что читать чистый кайф. Особенно, как они ссорятся с нейронками и потом в чат на них жалуются. И одни и те же жалобы у самых разных людей на разные модели.

Посмотрим, что у них там за разборки

Почему ваш софт тормозит: принципы Mechanical Sympathy для разработчиков

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

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

Эта статья — о mechanical sympathy, подходе, который помогает смотреть на производительность как на следствие понимания базовых ограничений и привычек железа: от строк кэша и ложного разделения до принципа одного писателя и естественной пакетной обработки. Для тех, кто строит или эксплуатирует highload‑системы, это хороший способ заново посмотреть на причины тормозов там, где код вроде бы уже давно «нормально работает».

К сути статьи

Slow Feature Analysis. Разбор метода и реализация на Python с нуля

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

Slow Feature Analysis - метод обучения без учителя, который извлекает из входного сигнала наиболее медленно меняющиеся признаки, решая задачу минимизации производной выходного сигнала. Главная ценность метода заключается в способности отфильтровывать шум и быстрые колебания, фокусируясь на фундаментальных, устойчивых закономерностях.

Читать далее

Выделение регистров процессора при помощи генетического алгоритма

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

Эксперимент, который многое объясняет

Оригинал этого поста также вошёл в число документов по проектированию платформы .NET: lsra-heuristic-tuning.

Читать далее

Книга: «Паттерны Coding Interview. Подготовка к сложному техническому интервью»

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

Привет, Хаброжители! Хотите успешно пройти Coding Interview в ведущую IT-компанию? Эта книга меняет правила игры в подготовке к кодинг-интервью. Алекс Сюй предлагает структурированный подход к распространенным паттернам, разбирает сложные концепции и делает реальные задачи намного доступнее.

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

Читать далее

Обзор последних исследований Semrush про AI-поиск: как на самом деле формируются ИИ-ответы

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

Рынок потихоньку обретает опору вновь. 

Semrush выкатывает одни из первых внятных исследований про механику AI-ответов: какая логика отбора, какие используются источники и критерии контента.

Сегодня много статистики с моими комментариями)

Читать далее

Schnorr/MuSig2 Nonce-Forensics:

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

Можно ли смотреть на подпись Schnorr и MuSig2 не как на «чёрный ящик», а как на математическую систему наблюдаемых структур? В статье разбирается строгий BIP340 membership bridge, affine-представление скрытых нонсов, compression/connectivity-метрики и protocol-valid affine-линеаризация MuSig2 partial signatures. Без сенсаций и без заявлений о «магическом взломе» — только формальная модель, подтверждённые артефакты и аккуратный разбор того, что действительно доказано на практике.

Читать далее

Управление фазой аппаратного PWM сигнала на STM32 (или таймер на ошейнике)

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

На микроконтроллерах STM32 можно генерировать аппаратные PWM сигналы. Это всегда применяют для регулирования яркости свечения, управления температурой нагревателей, управления крутящим моментом на электрических моторах.

При этом на STM32 обычно очень легко регулировать частоту, заполнение и инвертировать фазу меняя полярность.

Однако как непрерывно регулировать фазу PWM?

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

Читать далее

Гамма-флип: Технический разбор перехода от диапазона к тренду и механика алгоритмического хеджирования

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

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

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

Читать далее

Автономность как точка невозврата: кто будет субъектом в цифровом будущем

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

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

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

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

Читать далее

«Сверхзвуковой математик» против «Вдумчивого логиста»: битва алгоритмов 3D-упаковки

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

Что будет, если столкнуть классический переборный алгоритм упаковки и «математику потока» на базе Numpy? Мы взяли реальный кейс на 398 предметов и проверили: можно ли за доли секунды найти решение, которое окажется дешевле и безопаснее ручного планирования.

Внутри — разбор «Бизнес-Ассемблера», борьба с весовыми лимитами и ответ на вопрос: почему при КПД 61% по объему контейнер может считаться идеально упакованным.

Читать далее

Моцарт ex Machina: Кто научил ИИ сочинять музыку

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

По всей видимости, робот действительно может написать симфонию. По крайней мере, творения нейро-Бетховенов и Мэдлибов могут водрузить кромешное иго на стриминговых площадках уже в обозримом будущем — в конце 2025 туда загружалось порядка 30 000 нейротреков ежедневно.

Но кто первым познакомил компьютер с моцартовским ремеслом? И при чем здесь “Уральские напевы”?

Читать далее

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

Как мы погрузились в теорию компиляторов и написали свой транслятор кода

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

Всем привет! Меня зовут Егор Ермаков, я бэкенд‑разработчик в группе разработки процессинга Техплатформы городских сервисов Яндекса.

Техплатформа — это инфраструктурная платформа для всех городских сервисов Яндекса: Такси, Еды, Лавки, Доставки, а также для различных шеринговых сервисов — каршеринга, зарядных станций, самокатов и других.

Один из ключевых сервисов нашей команды — ProcaaS (Processing as a Service). Он предназначен для асинхронного выполнения динамических сценариев. Подробнее о самом сервисе, его архитектуре и роли в сетке микросервисов Такси мы рассказывали в предыдущей статье. В этом материале я хочу поделиться опытом решения одной непростой и при этом очень интересной технической задачи, с которой мы столкнулись в рамках развития ProcaaS, а именно — рассказать, как мы написали свой транслятор кода.

Читать далее

Почему баг в imageproc потребовал изменения API в image-rs

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

Иногда баг оказывается не ошибкой реализации, а ограничением API. Разбираем кейс из imageproc и image-rs.

Почему фикс оказался невозможен без изменения контракта библиотеки.

Разбор бага и изменения API

Pixel-perfect Downsampling — идеальная отрисовка 50 миллионов точек без потерь

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

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

Читать далее

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

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

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

Читать далее

Как мы перестали молиться на AI и собрали параноидальный конвейер для МРТ (с открытым кодом)

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

На каждой второй конференции по медицинскому AI звучит один и тот же сценарий: «Дообучим мультимодальную модель, скормим ей DICOM, и она сама выдаст диагноз». На практике, когда этот скрипт пытается попасть в реальную клинику, начинаются неожиданности. OOM на GPU, врачи не понимают, где галлюцинация модели, а где финальный отчёт, двухгигабайтные NIfTI-исследования рвут таймауты балансировщика.

Я какое-то время тоже думала, что главное — это модель. А потом пересмотрела собственный код. У меня уже есть MRI Second Opinion. Но это не нейросеть. Это контур с доменной моделью, конвейером приёма данных, циклом обработки, обязательным врачебным рецензированием, финализацией и отдельным репозиторием с открытым кодом. В медицинском IT модель — не главная проблема. Главная проблема — чтобы между входом и выходом ничего не потерялось и не сломалось.

Читать далее

AGC или как перестать подстраивать громкость вручную

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

Многие наверняка сталкивались с проблемой: смотришь по ТВ спокойный фильм, который прерывается резкой и громкой рекламой; или, например, при общении по ВКС всех собеседников слышно нормально, но у кого-нибудь одного микрофон будет шуметь так, будто он в данный момент находится рядом с двигателем самолета, готовящегося взлетать. Конечно, всегда можно подрегулировать громкость динамиков, но всегда ли это удобно и возможно?

Читать далее

Парадокс ансамблей: почему «слабые» модели иногда побеждают «сильные»

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

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

Читать далее