Всё про Алгоритмы и Структуры данных
7.76K subscribers
344 photos
37 videos
5 files
3.15K links
Мы не претендуем на оригинальность контента, мы лишь собираем материал из открытых источников.

Ссылка: @Portal_v_IT

Сотрудничество, авторские права: @oleginc, @tatiana_inc

Канал на бирже: https://telega.in/c/structuredata
Download Telegram
Метод наименьших квадратов Гаусса с весовыми коэффициентами отклонений

В моей практике метод наименьших квадратов Гаусса используется в двух случаях.

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

Когда необходимо задать ток или напряжение, для вычисления требуемого значения кода, заносимого в ЦАП (цифро-аналоговый преобразователь).

В качестве примера возьму измерение МДС (магнитодвижущая сила) срабатывания геркона.

Согласно ГОСТ 25810 «Контакты магнитоуправляемые герметизированные. Методы измерения электрических параметров» МДС срабатывания определяется по значению тока, протекающего через измерительную катушку в момент срабатывания геркона.

https://habr.com/ru/articles/992372/

Алгоритмы и Структуры данных
Разбираю статью про FS-Researcher: как учёные научили ИИ вести конспекты

Наткнулся на свежую статью из University of Science and Technology of China, и она меня зацепила. Не потому что там какой-то прорыв в архитектуре нейросетей — как раз наоборот. Решение настолько простое, что удивляешься: почему раньше так не делали?

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

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

https://habr.com/ru/articles/992836/

Алгоритмы и Структуры данных
От «яблока» до «королевы»: как нейросети учатся понимать смысл слов через эмбеддинги

И так, разбираем нейросети по винтикам. Мы уже разобрали градиентный спуск и обратное распространение ошибки. Сегодня погружаемся в самую сердцевину языковых моделей- векторные представления слов.

Представьте, что вы объясняете ребёнку, что такое «яблоко». Вы покажете картинку, дадите попробовать, расскажете, что оно круглое, сладкое, растёт на дереве, а теперь попробуйте объяснить это нейросети. Она не видит, не пробует, но она понимает только числа.

Как же тогда заставить машину понять, что «яблоко» ближе к «груше», чем к «трактору»? Ответ на самом деле кроется в элегантном приёме, который произвёл революцию в NLP- векторных представлениях слов, или эмбеддингах.

Проблема «слепого» кодирования: почему one-hot не работает

https://habr.com/ru/articles/992928/

Алгоритмы и Структуры данных
Сравнение методов решения систем линейных алгебраических уравнений

Эта статья является продолжением темы статьи https://habr.com/ru/articles/979542/. Данная статья не имеет цели представить особенности реализации методов решения систем линейных алгебраических уравнений (СЛАУ) или сделать какие-либо открытия в области численных методов. Цель данной статьи - предоставить сравнение методов решения СЛАУ и их эффективности. Оценка эффективности методов решения осуществлялась по двум параметрам: евклидовой норме невязки и времени решения. Евклидова норма невязки решения системы из n уравнений Ax = b вычисляется по формуле:

https://habr.com/ru/articles/992942/

Алгоритмы и Структуры данных
1
Так как же всё-таки быстро конкатенировать строки в C++?

Всем практикующим программистам приходится конкатенировать строки. Именно конкатенировать, у нас не какой-то там JavaScript или PHP, у нас в C++ это называется вот таким заумным словом. Программисты на других языках без излишних мудрствований строки просто "складывают", даже не особо задумываясь об этой операции. Ведь что может быть проще, чем

https://habr.com/ru/articles/993240/

Алгоритмы и Структуры данных
Поиск решений управляемый данными. Детали механизма

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

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

https://habr.com/ru/articles/993320/

Алгоритмы и Структуры данных
Так как же всё-таки быстро конкатенировать строки в C++?

Всем практикующим программистам приходится конкатенировать строки. Именно конкатенировать, у нас не какой-то там JavaScript или PHP, у нас в C++ это называется вот таким заумным словом. Программисты на других языках без излишних мудрствований строки просто "складывают", даже не особо задумываясь об этой операции. Ведь что может быть проще, чем

https://habr.com/ru/articles/993240/

Алгоритмы и Структуры данных
🔥1
VLM / VLA / World Models / Physical AI

Нейроночки в последнее время заполонили всё. Ну, почти всё. Вот, сейчас подбираются к роботам. И реального прогресса там почти так же много как нейрослопа, пиара и преувеличений . Короче, прогресс есть, о нём и поговорим.

Если 2022–2023 годы можно уверенно назвать периодом взрывного роста больших языковых моделей (LLM), то 2024 и начало 2025 года, на мой взгляд, стал переломным именно для визуально-языковых моделей — Visual Language Models (VLM). Из них выросли VLA — Visual Language Action модели (это когда вместо текстового аутпута поток токенов управления).

Брендинг не стоит на месте, надо придумывать что-то новое, так что в следующем году нас ждёт больше World Models и Physical AI. Что это такое люди пока не договорились, так что поговорим об этом через годик.

В статье мы поговорим как обучить VLA, когда лучше обучать VLA а когда VLM, какая разница есть во всём этом зоопарке. Всё это будет происходить на примере:

https://habr.com/ru/companies/recognitor/articles/992476/

Алгоритмы и Структуры данных
Математические основы рекуррентных нейросетей (детские вопросы и ответы, о которых не принято говорить)

Сейчас в сети можно встретить огромное количество разной литературы и курсов, которые предлагают разобраться в основах нейросетей, так зачем же нужна ещё одна подобная статья? И почему именно рекуррентные нейросети?

Что касается второго вопроса, то на него я отвечу чуть позже в этом тексте, а сейчас рассмотрим вопрос полезности этой публикации. До недавнего времени я и сам смотрел бы с сомнением на идею написания такой статьи. Изначально мне хотелось просто проверить некоторые свои идеи. Но пока я приводил в порядок все свои знания по этой теме, стараясь добиться полного понимания, я осознал, что большинство источников в основном просто повторяют друг друга. Некоторые вопросы для меня оставались не прояснёнными. Размышляя над различными моментами я подумал, что возможно эти рассуждения смогут принести пользу ещё кому-то. Так возникло желание не просто упорядочить свои мысли, но и оформить их в виде статьи.

https://habr.com/ru/articles/993824/

Алгоритмы и Структуры данных
[По полочкам] Алгоритмы сортировок. Часть 1

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

https://habr.com/ru/articles/738122/

Алгоритмы и Структуры данных
Принцип «Web of Trust» или как работает PGP

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

Но что это вообще такое? Википедия дает следующее определение:

PGP (англ. Pretty Good Privacy) — компьютерная программа, также библиотека функций, позволяющая выполнять операции шифрования и цифровой подписи сообщений, файлов и другой информации.

На словах ясно, но давайте посмотрим, что у него под капотом.

https://habr.com/ru/articles/737944/

Алгоритмы и Структуры данных
🤯1
Книга «Рекурсивная книга о рекурсии»

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

https://habr.com/ru/companies/piter/articles/737600/

Алгоритмы и Структуры данных
Как с помощью нейронной сети снизить дозу КТ, не потеряв в качестве реконструкции

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

https://habr.com/ru/companies/smartengines/articles/733254/

Алгоритмы и Структуры данных
«Умный» бот для онлайн-версии «Битвы Големов»: от эвристики к иллюзии разума

Меня просили сделать версию моей настольной игры «Битва Големов» в онлайн варианте почти с момента ее придумывания в 2014 году. Полноценно переносить игру я в итоге не стал (да и она бесплатно доступна в Tabletop Simulator), а вот сделать мини-версию для игры с 1 или 2 ботами желание появилось.

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

https://habr.com/ru/articles/994194/

Алгоритмы и Структуры данных
Тестирование в спортивном программировании: приемы и советы

Информация из этой статьи явно пригодится вам, если вы планируете или уже участвуете в соревнованиях, олимпиадах из перечня РСОШ или ВСОШ по предмету информатика (программирование).

Я расскажу о самых популярных и удобных способах тестирования, которые должен знать каждый, а также дам пару практических советов о том, что делать, когда вердикт вашего решения WA (wrong answer) или TL (time limit).

https://habr.com/ru/articles/994516/

Алгоритмы и Структуры данных
Система частиц в The 13th Sign

Мы
с друзьями делаем инди-игру The 13th Sign, и недавно выпустили первый трейлер, он же - техническое демо. После чего в узких кругах возник широкий круг вопросов формата “как это работает”. Ниже - все детали реализации.

https://habr.com/ru/articles/994682/

Алгоритмы и Структуры данных
Как перестать угадывать цены и довериться теории вероятностей. Хроника одного эксперимента

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

https://habr.com/ru/articles/993978/

Алгоритмы и Структуры данных
Совет на 2026 год — освойте ВАЙБ-КОДИНГ. ИИ уже пишет код, чинит баги, генерит тесты и документацию быстрее и качественнее любой команды айтишников

И те, кто научится вайбкодить сейчас, будут зарабатывать в разы больше тех, кто всё ещё делает всё вручную

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

Подписывайтесь, нас уже 15 тысяч: @vibecoding_tg
1
Новогодний переполох X Яндекс Доставка

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

https://habr.com/ru/articles/994974/

Алгоритмы и Структуры данных
SIMDe, дополнение к DOD архетектуре

Для начала хочу сказать огромное спасибо всем, кто прочитал и прокомментировал мою прошлую статью про Data-Oriented Design.

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

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

Многие из вас совершенно справедливо заметили: DOD — это круто, но какой в нем смысл, если мы упираемся в зоопарк архитектур? Мы раскладываем данные в памяти идеально ровно, но как только пытаемся применить к ним SIMD-инструкции (чтобы получить тот самый 10-кратный буст), мы попадаем в ловушку вендор-лока. Написал под Intel — не работает на ARM. Написал под ARM — не заведется в браузере.

https://habr.com/ru/articles/995072/

Алгоритмы и Структуры данных
👍1