Всё про Алгоритмы и Структуры данных
Open in Telegram
Мы не претендуем на оригинальность контента, мы лишь собираем материал из открытых источников. Ссылка: @Portal_v_IT Сотрудничество, авторские права: @oleginc, @tatiana_inc Канал на бирже: https://telega.in/c/structuredata
Show more7 761
Subscribers
No data24 hours
-57 days
-3530 days
Posts Archive
ByBit заблокировала трейдера, который вложил 1200$ в токен NEIRO и заработал 490 000$
Owl in trade тот самый вкладчик. Он не расстраивается блокировке, ведь за 2 месяца уже заработал больше миллиона долларов на росте крипты.
Он покупал XRP, когда все кричали что это скам и роста не будет. В итоге с $0.35 монета выросла до $2.2. Также произошло с SOL, NEIRO и ACT, которые дали больше 1000% иксов.
В своем канале раз в неделю он дает 1 проверенную сделку, в которую заходит на 100 000$. А его капитал уже 7 000 000$
Скоро на рынке будет булран, поэтому если хотите откусить свой кусок пирога и изменить жизнь, подписывайтесь: @owl_in_trade
Что может описывать модель песчаной кучи
В 1987 году вышла дебютная научно-популярная книга Джеймса Глика «Хаос. Создание новой науки», впервые опубликованная на русском языке в переводе издательства «Амфора» и выложенная здесь. Эта книга оживила интерес к теории самоорганизующихся систем, сформулированной в середине XX века в работах Германа Хакена (1927-2024) из Штутгартского университета, посвящённых синергетике. Смежные исследования по физике неравновесных систем принадлежат Илье Романовичу Пригожину (1917 - 2003), франко-американскому физику российского происхождения. В основе этих работ лежит идея о том, что существуют такие системы, нарастающая энтропия в которых постепенно выравнивается, и общая структура системы остаётся относительно неизменной, несмотря на то, что в отдельных частях системы энтропия продолжает нарастать. В том же 1987 году появилось удивительное исследование Пера Бака, Чао Танга и Курта Визенфельда, в котором они описали модель песчаной кучи.
Феномен связан с изучением и моделированием самоорганизующихся систем и их устойчивости, а также смыкается с исследованием фракталов, степенных рядов и клеточных автоматов. В контексте фракталов эту тему рассматривал на Хабре уважаемый Андрей Заболотский @Browning в статье «Фракталы в песках или больше трёх не собираться». Если желаете вместо моего текста почитать строгое, но вполне популярное и увлекательное изложение данной темы — отсылаю вас к статье уважаемого Никиты Калинина «Песочная модель», размещённой на сайте МФТИ. Под катом я расскажу, как эта модель работает и какие неожиданные вопросы подбрасывает.
Данная модель описывается как совокупность совершенно одинаковых песчинок, которые распределены таким образом, как будто скапливаются в вершинах квадратной сетки (графа). Предельное количество песчинок в вершине кучи называется степенью кучи. Когда количество песчинок в вершине графа достигает величины степени, вершина переходит в неустойчивое состояние, а когда превышает – обваливается. Куча занимает больше места, чем до обвала, количество песчинок в вершинах, окружающих точку обвала, на какое-то время снова устанавливается ниже критического.
https://habr.com/ru/articles/877626/
Алгоритмы и Структуры данных
Как с помощью deep learning мы построили Геокодер, масштабируемый для разных стран
Давным‑давно, когда мир ML состоял из бустингов, линейных моделей и статистических подходов, перед нашей командой API Яндекс Карт стояла задача сделать качественный Геокодер. Это алгоритм, который конвертирует текстовые запросы пользователей в поисковой строке карт в координаты и обратно. Он нужен, когда люди вводят адреса с ошибками, опечатками или народными наименованиями, например «Мяснитская 8». Геокодер должен понять, что имелось в виду «улица Мясницкая, дом 8/2», и вернуть на карте отметку с точной локацией и координатами.
Разработанный для России Геокодер отлично справлялся, но мы хотели найти способ быстро адаптировать это решение к адресным системам других стран. Технологические ограничения не позволяли быстро адаптировать решение, поскольку для каждой страны требовалась разработка собственных правил геокодирования, которые бы учитывали различия и языковые особенности. Однако появление и развитие алгоритмов deep learning открыло новые горизонты: методы active learning, аугментации данных и contrastive learning позволяют значительно улучшить итоговое качество геокодирования и учитывать нюансы различных адресных систем.
В этой статье мы рассмотрим основные этапы и методы построения нового Геокодера, который быстро масштабируется на адресные системы разных стран. Расскажем, что у него под капотом, как именно использовались механизмы deep learning при его создании, с какими проблемами мы столкнулись и как научили его понимать адреса с ошибками и опечатками.
https://habr.com/ru/companies/yandex/articles/877086/
Алгоритмы и Структуры данных
Внимание правильный ответ
Если читатель был достаточно внимателен, то, наверное, заметил, что в предыдущей заметке я обошел стороной непосредственно блок механизма внимания, точнее сказать, описание было дано методом черного ящика: вот тут такие-то входы, там такие-то выходы. Теперь, внимание, вопрос знатокам: Что лежит в черном ящике? В действительности, крайне важно понимать, что там внутри и логично посвятить данной теме отдельный текст. Понимание механизма внимания определяет ход дальнейших размышлений вплоть до самых передовых архитектур ИИ и поэтому сложно переоценить важность этой темы.
Обычно в технической литературе принято сначала говорить об элементах по отдельности и далее уже давать композиционное представление сочетания таких элементов, это так называемых bottom-up (снизу вверх) подход. Консультантам обычно ближе подход top-down (сверху вниз), что позволяет сначала поймать идею на уровне композиции и далее погружаться в детали. Именно второму варианту я отдаю предпочтение: я начал с архитектуры Pointer Network и теперь хочу разобрать элемент механизма внимания в деталях.
https://habr.com/ru/articles/877000/
Алгоритмы и Структуры данных
FizzBuzz, который не помог мне найти работу
Fizzbuzz — это простой алгоритм, который когда-то был популярен в контексте технических собеседований.
Я знал, что это такое, но до прошлой недели меня ни разу не просили написать его.
Базовый алгоритм очень прост, но смысл упражнения в том, что собеседующий добавляет новые правила, чтобы проверить, как вы будете дополнять код, обеспечивая при этом его читаемость и удобство поддержки.
https://habr.com/ru/companies/ruvds/articles/876916/
Алгоритмы и Структуры данных
Революция в математическом мышлении малых языковых моделей с rStar-Math
В данной статье представлен метод rStar-Math, демонстрирующий способность малых языковых моделей (SLM) достигать конкурентоспособных результатов, сопоставимых и даже превосходящих показатели модели OpenAI o1 в задачах математического рассуждения, без использования дистилляции знаний из более крупных моделей. Ключевой особенностью rStar-Math является применение "глубокого мышления" посредством поиска по дереву Монте-Карло (MCTS), где SLM выступает в роли модели политики, генерируя последовательность шагов решения, а другая SLM оценивает их, действуя как модель вознаграждения за процесс. Представлены три ключевые инновации: метод синтеза данных CoT с расширением кода, новый подход к обучению модели предпочтения процессов (PPM) и стратегия саморазвития. Экспериментальные результаты показывают значительное улучшение математических способностей SLM, подтверждая эффективность предложенного подхода.
https://habr.com/ru/articles/876986/
Алгоритмы и Структуры данных
Современные техники оптимизации производительности в C++. Кэш-локальность, аллокаторы и параллелизм
Меня зовут Ибрагим, и я уже много лет занимаюсь программированием на C++. За это время мне довелось поработать с высоконагруженными системами, игровыми движками и даже embedded-проектами! Сегодня я хочу рассказать об опыте оптимизации, применениях которого я сталкивался на практике. Мы порассуждаем о кэш-локальности, кастомных аллокаторах, многопоточности, и как они часто остаются не замеченными в литературе. Тем не менее, они принципиально важны при нашем стремлении писать быстрый код.
Однако прежде чем мы начнем, короткое предупреждение. Если вы думаете, что оптимизация, это просто «быстрый код», то предупреждаем, будете удивлены. Современные процессоры это не просто «быстрые калькуляторы». Они больше похожи на капризных художников, которым необходимо подать данные именно в таком порядке, иначе они откажутся работать быстро.
Когда я впервые слышал о кэш-локальности, я думал, что это что-то связанное с кэшем процессора. Оказывается это одно из самых сущностных понятий в оптимизации производительности. Современные процессоры имеют несколько уровней кэша (L1, L2, L3), и доступ к данным в кэше в десятки раз быстрее доступа к данным в оперативной памяти. Если ваши данные не умещаются в кэш, процессор вынужден ждать пока они подгрузятся из RAM. Такой промах называется cache miss, и он одна из главных причин замедления программ.
https://habr.com/ru/articles/876958/
Алгоритмы и Структуры данных
Уже очевидно, что крипта — главная золотая жила 2025 года. Посмотрите сами. По указу Трампа США инвестирует туда миллиарды долларов, Европа оплачивает газ и нефть в биткоине, а в России вот-вот появится своя криптобиржа.
Мы плавно входим в эпоху, когда сегодня 1 монетка стоит пару долларов, а уже завтра — больше квартиры. И кто не поленится разобраться в крипте сейчас — сколотит состояние.
Для этого не нужны особые знания и сотни часов возни с непонятными терминами — просто читайте этого инсайдера
Это один из известнейших специалистов по крипте в России. Еще в 2017 году он кричал, что за ней будущее, а сейчас объясняет, какие монеты вырастут на сотни процентов уже в феврале и как даже новичку забрать стабильно делать 40% в месяц
Сколотить достойный капитал никогда еще не было так просто — подписывайтесь, в закрепе есть торговая система и список монет которые скоро дадут «иксы»
Американские горки — поиск наибольшего паросочетания в двудольном графе
У нас есть три гипотезы:
Алгоритмы не должны быть чрезвычайно сложными для понимания!
Алгоритмы не скучны и не бесполезны!
Интересные книги про алгоритмы могут быть и с примерами кода на Си!
И «Алгоритмы? Аха!» подтверждает наши предположения на своём примере. Увлекательная книга, которая доступно и на ярких примерах объясняет самые актуальные алгоритмы, а примеры написаны на Си, но пусть вас это не пугает.
Посмотрите сами как выглядит страшный «Поиск наибольшего паросочетания в двудольном графе»
https://habr.com/ru/companies/piter/articles/875994/
Алгоритмы и Структуры данных
🔥 Ищешь новые возможности для развития и роста?
iGaming — твой шанс стать частью одного из самых быстрорастущих рынков в мире:
✨ Бюджеты. Индустрия инвестирует миллионы в маркетинг, технологии и развитие;
✨ Инновации будущего. Спрос на передовые технологии огромен, и они внедряются быстрее, чем в других бизнесах;
✨ Карьерный рост. Индустрия нуждается в сильных кадрах — используй возможность и займи сильную позицию в компании;
✨ Международные уровень. Работай с крупнейшими мировыми брендами и проектами.
Узнай об iGaming больше от Owner 1win — канале основателя передового холдинга в сфере
Промпт-инжиниринг: как разговаривать с нейросетью на одном языке
Появление трансформеров и мультимодальных моделей превратило языковые модели из инструментов для узкоспециализированных задач в универсальные системы, способные решать широкий спектр проблем. Эти достижения повысили не только производительность, но и доступность ИИ, позволив интегрировать его в повседневную жизнь и бизнес. Сегодня LLM — это не просто технология, а платформа, на которой строится будущее искусственного интеллекта. Расскажем, как развивались современные нейросети и научим вас формулировать запросы к LLM так, чтобы они точно понимали ваши потребности.
Никита Грибанов — Data Scientist из компании RAFT, занимается исследованием безопасности. На закрытом эфире для комьюнити Skillbox Code Experts рассказал, что такое LLM и как с ними общаться. Изложили основные мысли в статье.
https://habr.com/ru/companies/raft/articles/876896/
Алгоритмы и Структуры данных
Отчет о проекте эффективного приоритетного дерева SAPT
Отчет о, написанном мною, алгоритмическом статичном двунаправленном дереве, имеющим сложность O(1) по всем параметрам. Не считаю эту статью чем-то выдающимся, никуда не претендую, это всего лишь отчет моей работы. Если вам понравится можете свободно пользоваться.
В качестве небольшого предисловия:
Зачем я спроектировал дерево?
Я пишу научный проект из сферы биологии, где присутствует элемент иерархии, и для последовательного выполнения действий следовало отсортировать данные по приоритетам, при этом делать это максимально быстро и эффективно. Для удобства данные я называю клетками, а приоритет представляю "старостью" клеток.
https://habr.com/ru/articles/876878/
Алгоритмы и Структуры данных
Премия Data Fusion Awards объявляет о новой номинации — «Научный прорыв года в ИИ»
Если вы опубликовали научную статью по ИИ или науке о данных в 2024 году, подавайте заявку и поборитесь за приз в 1 000 000 рублей. В этом году жюри выберет три значимые работы российских ученых, которые получат награды из общего фонда — 3 000 000 рублей.
Заявки принимаются до 31 января 2025 года. Церемония награждения пройдет в апреле на конференции Data Fusion в Москве.
➡️Детали
SQL HowTo: пошагово решаем СЛУ (Advent of Code 2024, Day 13: Claw Contraption)
В этой челлендж-серии статей попробуем использовать PostgreSQL как среду для решения задач Advent of Code 2024.
Возможно, SQL не самый подходящий для этого язык, зато мы рассмотрим его различные возможности, о которых вы могли и не подозревать.
В этой части совсем простая идея по одновременному решению систем линейных уравнений "пачками".
https://habr.com/ru/companies/tensor/articles/876852/
Алгоритмы и Структуры данных
Идеи о системе ИИ: Система команд. Часть 1
Описание задачи, которую я рассматриваю в этой статье.
Нужно сделать программу, которая сможет выполнять какие-то действия на основе входных данных. В качестве входных данных будем рассматривать текст. В качестве действий будем рассматривать выполнение ветвлений (вызов функции), которые будут выполняться на основе прогноза модели, коротая обрабатывает входной текст.
Программа может получать входные данные через строку ввода. Затем она должна обработать текст и распознать команду, которую ввел пользователь. Данные могут быть как-то искажены, могут не представляться в том, виде, в котором система обучалась их получать.
Для того, чтобы правильно распознавать команды, необходимо как-то их аппроксимировать, кроме того, также необходимо аппроксимировать сами слова. Для этого будет использоваться множественная логистическая регрессия. Под аппроксимацией я понимаю именно то, что это означает, либо обобщение, как это обычно называют.
https://habr.com/ru/articles/876716/
Алгоритмы и Структуры данных
Немного поупражнялся с градиентами
Мысль о переходах цветов пришла мне на пробежке.
Я думал о том, что если есть шкала оценок приятия-неприятия по десятибальной шкале, можно сказать — мне нравится что-то от 0 до 10 баллов или мне что-то не нравится от 0 до 10 баллов. Неплохо было бы разукрасить это цветами от зеленого (нравится) до красного (не нравится), посередине желтым.
За 15 минут набросал код первого градиента.
https://habr.com/ru/articles/876726/
Алгоритмы и Структуры данных
⚡️ Промокод на поездку в Яндекс.Такси за 1 рубль
А еще годовой Плюс за 50р, Биг Спешл комбо во Вкусно-и-точка за отзыв и 10 доставок от Яндекса доступны на канале ЯМбические скидки.
‼️ Тут сотрудники Яндекса делятся промиками «для своих»
Скорее подписывайтесь, ведь самые крутые промокоды отрывают буквально с руками:
https://t.me/+OGLZAmqV1xM0NjBi
Задачка: Сбор дождевой воды 3D
Последнее время я крепко подсел на LeetCode. Нет ничего лучше, чем с утра после чашки кофе зайти на дейлик, быстро придумать решение, с замиранием сердца нажать Submit иии... Accepted! Настроение улучшается и можно спокойно работать. Но так бывает не всегда. Случается, что решения не видно совсем или удается придумать только брутфорсное решение что для LeetCode равносильно тому, что решения нет. Приходится открывать подсказки, смотреть как решили другие. А после некоторых задач вера в возможности собственного ума может и вовсе пошатнуться.
Вот как раз одну из таких задач я предлагаю вам.
https://habr.com/ru/articles/703020/
Алгоритмы и Структуры данных
Порталы: как устроен расчёт видимости в Quake
Вы когда-нибудь хотели узнать, как работала предварительно вычисленная видимость в Quake? Я хотел, поэтому написал программу vis.py, воссоздающую этот алгоритм на Python. В этой статье представлена вся информация, необходимая для понимания vis, — инструмента, применявшегося в Quake, Half-Life и играх на Source Engine.
В процессе разработки Quake возникла проблема перерисовки (overdraw), то есть многократной записи одного и того же пикселя во время рендеринга кадра. Видимым остаётся лишь последний цвет, а все предыдущие записи оказываются лишней тратой ресурсов. Это плохо, если в вашей игре используется программный рендеринг, и так выжимающий последние соки из компьютера середины 90-х годов.
Как снизить объём перерисовки? Давайте начнём с высокоуровневого обзора возможных решений.
https://habr.com/ru/articles/876058/
Алгоритмы и Структуры данных
Как я писал трекинг парковочных мест
С детектированием автомобилей возникал сразу вопрос, а какую модель использовать? Тут я метался очень сильно. Первое, что знал и что очень хорошо работало - это YOLOv7, даже на процессоре она выдавала довольно хорошую производительность (хотя в нашем деле это и не так важно, но все же), но за слабым бэкграундом я не смог до конца переделать код, который был в документации, поэтому отложил это в сторону (в планах есть перейти на YOLO). Дальше мой выбор пал на фреймворк OpenVINO, в котором есть предобученные модели от самого intel и публичные. Сразу скажу, что пробовал только модели от Intel, т.к не хотел долго разбираться с публичными, а в них кажется всё работает как-то чуть иначе, но не суть. Но модели от Intel были не готовы распознавать машины при виде сверху от слова совсем. Ниже пример :)
https://habr.com/ru/articles/703276/
Алгоритмы и Структуры данных
Available now! Telegram Research 2025 — the year's key insights 
