ar
Feedback
Data Science: Алгоритмы и Структуры данных

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

الذهاب إلى القناة على Telegram

Мы не претендуем на оригинальность контента, мы лишь собираем материал из открытых источников. Ссылка: @Portal_v_IT Сотрудничество, авторские права: @oleginc, @tatiana_inc Канал на бирже: https://telega.in/c/structuredata

إظهار المزيد
7 723
المشتركون
-324 ساعات
-107 أيام
-1830 أيام
أرشيف المشاركات
Почему argsort(argsort(x)) возвращает ранги элементов массива Однажды мне понадобилось вычислить ранги элементов массива, или другими словами, на какой позиции окажется каждый элемент после сортировки. Беглый поиск по интернету дал неожиданно короткий ответ: достаточно применить двойной argsort —argsort(argsort(x)) из библиотеки NumPy. Фокус работает, но почти нигде не объясняется почему именно. Обращаться с таким вопросом к ChatGPT тогда казалось рискованным — в интернете как раз ходили мемы о его ошибках в арифметике. Отсутствие строгого обоснования не давало мне покоя, и в итоге я решил дойти до доказательства самостоятельно. Ниже я поделюсь этим доказательством. Оно не претендует на уникальность — возможно, существуют более короткие или более элегантные способы прийти к тому же ответу. Тем не менее, оно позволит вам понять, почему двойной argsort действительно возвращает ранги элементов, и избавит вас от необходимости тратить время на самостоятельное разбирательство. На самом деле в Python в библиотеке scipy уже есть функция rankdata, которая реализует то, что нам нужно. Единственное отличие — rankdata возвращает ранги начиная с 1, тогда как argsort использует нулевую индексацию. Чуть ниже мы сравним их результаты, а пока формализуем нашу задачу. https://habr.com/ru/articles/1019144/ Алгоритмы и Структуры данных

Тихая сторона крипторынка: что на самом деле стоит за «магией» торговых ботов На дворе 2026 год. В мире неспокойно. Военные конфликты, санкционные войны, передел рынков, борьба за ресурсы. Кажется, что мировая финансовая система уже давно живёт в режиме постоянной турбулентности, и никого это не удивляет. https://habr.com/ru/articles/1019202/ Алгоритмы и Структуры данных

Почему одна запись может изменить KPI: разложение агрегированных метрик на вклад отдельных событий Меня зовут Иван Васильев, я ведущий аналитик в Ви.Tech, IT-дочке ВсеИнструменты.ру. Хочу показать, как из на первый взгляд простой формулы KPI выросла инженерная задача: нам нужно было не просто посчитать интегральный показатель эффективности поставщика, а объяснить, какая именно закупка его ухудшила и почему. В статье разберу, почему для агрегированных метрик не работает наивный подход, как мы пришли к remove-one analysis и где пришлось отдельно фиксировать логику расчета, чтобы результат вообще можно было интерпретировать. В одной из систем, над которой я работаю, мы рассчитываем интегральный показатель эффективности поставщика. Сначала задача казалась очень простой: несколько метрик, несколько весов, обычная агрегированная формула. Но однажды бизнес задал вопрос: https://habr.com/ru/articles/1019170/ Алгоритмы и Структуры данных

Контролируемая эволюция RAG-системы: оценка mcp серверов и кеширование результатов запрос-ответ В статье рассматриваются теоретические выкладки как возможно эволюционировать RAG-систему на одном домене (документация 1С). Эволюцию можно расширить на использование нескольких доменов (финансы, бух.учет, юриспруденция, кодинг и.т.п.) Статические промпты в RAG быстро перестают соответствовать реальным запросам. в статье описана реализация механизма контролируемой эволюции: модель предлагает варианты настроек («геномы»), судья оценивает их на запросах и ставит среднюю оценку по выборке, а в прод попадает только то, что администратор явно утвердил. Ниже — идея, три слоя пайплайна и фрагменты кода из реализации. В существующих пайплайнах часто используют модель (LLM) судью которая оценивает только один запрос-ответ. А что делать если уже накоплен массив данных запрос-ответов? Где узкое место в системных промтах когда пользователь задает вопросы системе, как лучше дать оценку что должно попадать в кеш, а что нет? https://habr.com/ru/articles/1019018/ Алгоритмы и Структуры данных

Почему никто не ожидал, что механизм «предсказать следующее слово» не должен был оказаться так успешен (но оказался) Большие языковые модели по-прежнему просто предсказывают следующее слово. Два года назад одна лишь эта причина казалось достаточной, чтобы их отвергать — ведь именно ею обосновывали их неуклюжий вывод. Но в настоящее время большие языковые модели стали гораздо лучше, и одним лишь масштабированием этого не объяснить. Если вы недавно знакомы с большими языковыми моделями (LLM), то вам стоит посмотреть лекцию Карпаты “Deep Dive into LLMs” и почитать статью Ли и Тротта “LLMs Explained with a Minimum of Math and Jargon”. https://habr.com/ru/companies/piter/articles/1018914/ Алгоритмы и Структуры данных

SIMD-парсер CSV Год назад я написал парсер CSV, способный обрабатывать 64 символа за раз. Он создан исключительно в исследовательских целях и в нём не учтены важнейшие этапы продакшен-парсера наподобие валидации. Сегодня я расскажу о базовом алгоритме, использующем SIMD и побитовые операции для групповой фильтрации структурных символов. Если вы новичок в SIMD, то рекомендую сначала прочитать введение в SIMD McYoung. Вкратце же SIMD можно описать так: https://habr.com/ru/articles/1018544/ Алгоритмы и Структуры данных

Один хеш, вместо миллиона проверок: пишем Merkle Tree на Go с нуля Представьте: у вас есть база из миллиона транзакций. Клиент спрашивает: «Моя транзакция точно в блоке?» Вы можете отдать ему все миллион записей для проверки. Или отдать 20 хешей по 32 байта - и он сам математически докажет, что его транзакция на месте. Без доверия. Без скачивания всего блока. За O(log N) Merkle tree - структура данных на которая являеться Bitcoin, Git, IPFS и Certificate Transparency. Посмотим как она работает и напием свою реализацию на Golang c ДЖЕНЕРИКАМИ йоу https://habr.com/ru/articles/1018186/ Алгоритмы и Структуры данных

Один хеш, вместо миллиона проверок: пишем Merkle Tree на Go с нуля Представьте: у вас есть база из миллиона транзакций. Клиент спрашивает: «Моя транзакция точно в блоке?» Вы можете отдать ему все миллион записей для проверки. Или отдать 20 хешей по 32 байта - и он сам математически докажет, что его транзакция на месте. Без доверия. Без скачивания всего блока. За O(log N) Merkle tree - структура данных на которая являеться Bitcoin, Git, IPFS и Certificate Transparency. Посмотим как она работает и напием свою реализацию на Golang c ДЖЕНЕРИКАМИ йоу https://habr.com/ru/articles/1018186/ Алгоритмы и Структуры данных

Вся музыка, все фотографии и весь Wi-Fi работают на одном трюке. Ему 200 лет Эта песня попала в ваши наушники благодаря одной идее. Той самой, за которую француза в 1807 году высмеяли на заседании Парижской академии наук. Лаплас был «за», но Лагранж встал и сказал: «Это невозможно.» Француза звали Жан-Батист Жозеф Фурье. Его идея была настолько простой, что учёные отказались ей поверить. Сейчас она обрабатывает каждую фотографию на вашем телефоне. Каждый пакет Wi-Fi. Каждый звонок. Каждый JPEG. Каждый MP3. Каждое MRI-сканирование. Каждую команду Siri. Каждый кадр на стриминговых платформах. https://habr.com/ru/articles/1018172/ Алгоритмы и Структуры данных

Qubu × Гравитация запускают крупнейший ИИ-конкурс России. Призовой фонд — 5 000 000 рублей. Хотите внедрить ИИ в свой бизнес? Подайте заявку - опишите бизнес задачу, которую возможно решить с помощью ИИ. Из отобранных заявок будет организован конкурс, где ведущие разработчики страны создадут ИИ-решение для вашего бизнеса в рамках хакатона. Разрабатываете ИИ-решения? Загрузите модель и поучаствуйте в конкурсе за звание лучшего отраслевого решения России. Подробное: qubu.ai

Как выбирают свой путь призраки в Pac-Man Pac-Man — полностью детерминированная игра. Как я объяснял в своём видео об этой игре, все движения призраков зависят от того, где на текущий момент находится Pac-Man. Следовательно, обладая этими знаниями, можно точно спрогнозировать, куда будут двигаться призраки в любой момент времени. Но так ли это? Когда Pac-Man съедает большой шарик («энерджайзер»), призраки пугаются и начинают двигаться по паттерну, который кажется случайным и непредсказуемым. Это единственный момент, когда в игре используется генератор случайных чисел (RNG): для определения того, в каком направлении повернёт испуганный призрак на перекрёстке лабиринта. Хоть это решение тоже детерминировано, это единственный непредсказуемый элемент Pac-Man. В этой статье мы проведём глубокий анализ функции RNG игры и разберёмся, как призраки склонны действовать в этой ситуации. В конечном итоге мы выясним, что напуганных призраков обычно притягивает одна из областей лабиринта. https://habr.com/ru/companies/ruvds/articles/1017080/ Алгоритмы и Структуры данных

No-code в крупных компаниях: Свобода или новая ИТ-ловушка? Помните этот торжественный момент на старте многих ИТ-проектов? Компания покупает новую платформу, кто-нибудь из топ-менеджмента объявляет о победе над «ИТ-бюрократией» и с горящими глазами выдает аналитикам лицензии: https://habr.com/ru/companies/directum/articles/1017966/ Алгоритмы и Структуры данных

Лови список полезных IT каналов в Max 🇷🇺 Архиватор – крупная база слитых айти курсов по программированию Сливакер – отобран
Лови список полезных IT каналов в Max 🇷🇺 Архиватор – крупная база слитых айти курсов по программированию Сливакер – отобранный архив полезных курсов для программистов Полка Разработчика – сборник книг для изучения Python, JS, Java и других языков программирования; Записки Фронтендера -- опытный Frontend-разработчик собрал все самое основное Записки Бэкендера -- а тут опытный Backend-разработчик подбирает самое полезное Записки Питониста -- здесь думаю итак понятно, питонисты заходите Code Learning – ютуб в мире программистов, сборник видео для обучения Графика и Дизайн – сборник полезных курсов и видео для полного погружения в дизайн Нейролента – публикуем самое актуальное из мира нейросетей Windows Community -- все что связанно с Windows DevHumor – все что выше, без юмора не понять Находки Программиста – подбираем все самое нужно для программистов

Галлюцинации LLM — это артефакты сжатия. И это объясняет вообще всё Представьте, что вам дают 10 терабайт текста и говорят запихнуть это в файл на 70 гигабайт. Да так, чтобы потом по любому вопросу можно было восстановить нужный кусок. Не точно, но близко, и не побайтово, но чтобы по смыслу билось. Вы бы сказали: «так это же lossy-компрессия, часть данных неизбежно потеряется». И были бы правы, потому что именно это делает LLM. https://habr.com/ru/articles/1017612/ Алгоритмы и Структуры данных

Как я случайно написал самый быстрый CSV-парсер на C# На рождественских каникулах я ехал на автобусах из одного штата в другой, и мне нужно было как-то убить 24 часа. Я читал об UTF-8 и узнал об этой кодировке нечто интересное: все традиционные символы ASCII сохранены в ней в их исходном однобайтовом представлении, поэтому их можно сканировать крайне быстро. Я решил поэкспериментировать с кодом, максимально быстро подсчитывающим такие символы, в результате получив готовый парсер CSV, который вполне сравним с предыдущими парсерами, а то и быстрее них. В статье я расскажу о своём процессе работы, экспериментах и оптимизациях, которые привели меня к этому итогу. https://habr.com/ru/articles/1016970/ Алгоритмы и Структуры данных

Осталось 24 часа, чтобы забрать 👇🏼 - доступ к бесплатному интенсиву "Первые деньги на вайбкодинге" (старт уже завтра 7.04 в
Осталось 24 часа, чтобы забрать 👇🏼 - доступ к бесплатному интенсиву "Первые деньги на вайбкодинге" (старт уже завтра 7.04 в 19.00) - уроки по программированию с нейронками - 50 бесплатных нейросетей, чтобы кодить без остановки - «Библиотека промптов для заработка на вайбкодинге», которые помогут упаковать портфолио и общаться с клиентами так, чтобы покупали Все бонусы уже ждут тебя в закрытом канале по вайбкодингу👇 Вступить в закрытый канал Вступить в закрытый канал Вступить в закрытый канал

Не бойтесь динамического программирования В этой статье разберем три задачи по динамическому программированию с LeetCode и попробуем каждый раз прийти к изящной формуле интуитивно. Также обсудим, по каким признакам можно понять, что задача — на динамическое программирование. https://habr.com/ru/articles/1017372/ Алгоритмы и Структуры данных

Книга: «Основы GraphRAG. Улучшенный RAG на базе графов знаний» Привет, Хабожители! Система генерации ответа, дополненная результатами поиска (Retrieval Augmented Generation, RAG), автоматически выбирает и предоставляет контекст, характерный для конкретной предметной области, что значительно улучшает способность LLM генерировать точные ответы без искажений. Подход GraphRAG основывается на использовании графа знаний для структурирования входных данных и существующих в них связей, чтобы получить содержательные и релевантные промпты. Создайте и разверните систему GraphRAG производственного уровня. Научитесь извлекать структурированные знания из текста и комбинировать методы векторного поиска с поиском по графам. Книга богата практическими примерами: от создания инструмента поиска по векторному сходству и приложения Agentic RAG до оценки эффективности и точности результатов работы такого приложения. https://habr.com/ru/companies/piter/articles/1013810/ Алгоритмы и Структуры данных

Математическое программирование vs RL: может ли ИИ догнать классику в оптимизации? С определенным успехом методы математического программирования захватили множество задач автоматизации и оптимизации бизнес процессов (маршрутизация доставки, планирование производства или графиков работы сотрудников, планирование сетей и т.д.). Используемые методы решения и классические постановки задач десятилетиями остаются без серьезных изменений. Когда ждать революцию? Кто имеет потенциал для ее организации? Проведем эксперимент на предмет того, есть ли у RL способности решать оптимизационные задачи. Для исследования возьмем не сложную практическую оптимизационную задачу и оценим как обучение с подкреплением справится. Материал будет полезен как заядлым специалистам по мат.оптимизации, так и ml-инженерам или data scientist’ам. Рассматриваемая задача может быть интересна специалистам из области логистики/транспортных перевозок. https://habr.com/ru/articles/1013720/ Алгоритмы и Структуры данных

Как превратить годы обучения в IT в реальный опыт и деньги Самое странное сейчас это пытаться вкатиться в IT по классике, ког
Как превратить годы обучения в IT в реальный опыт и деньги Самое странное сейчас это пытаться вкатиться в IT по классике, когда опытные программисты давно кодят с нейронками даже в больших проектах. Поэтому в 2026 выигрывает тот, кто быстро делает рабочие решения без долгих лет обучения и максимально сокращает путь с нуля до первого реального проекта в IT. Андрей Ивашев запускает бесплатный 3-дневный интенсив: «Первые деньги на вайбкодинге» 📅 7-9 апреля в 19:00 МСК Для тех хочет начать программировать с нейронками и заработать на этом первые деньги даже без опыта и образования. Программа 🔥 7 апреля почему сегодня вход в IT стал сложнее и почему вайбкодинг меняет правила игры 8 апреля 3 способа заработать на вайбкодинге в 2026 и где брать первого клиента, чтобы сделать проект за реальные деньги 9 апреля На практике соберём AI-ассистента, который станет твоим первым IT-проектом. 🎁 Бонус за регистрацию: «Библиотека промптов для заработка на вайбкодинге», которые помогут упаковать портфолио и общаться с клиентами так, чтобы покупали 50 бесплатных нейросетей, чтобы кодить без остановки + серкетные бонусы Бесплатных мест для наших подписчиков всего 100. Зарегистрироваться бесплатно Зарегистрироваться бесплатно Зарегистрироваться бесплатно Тыкни на 🔥, если идёшь.