Expression Templates
В этой статье я хочу рассказать о технике «Expression Templates» и её применении в библиотеке simstr (статья). Вкратце — это техника организации вычисления выражений оптимальным способом без временных промежуточных результатов путем построения из выражения посредством шаблонных перегрузок операторов одного объекта «вычислителя», тип которого выводится из операций в выражении, и который потом вычисляет результат.
Немного непонятно, не правда ли? Давайте попробуем разобраться.
https://habr.com/ru/articles/936468/
Алгоритмы и Структуры данных
В этой статье я хочу рассказать о технике «Expression Templates» и её применении в библиотеке simstr (статья). Вкратце — это техника организации вычисления выражений оптимальным способом без временных промежуточных результатов путем построения из выражения посредством шаблонных перегрузок операторов одного объекта «вычислителя», тип которого выводится из операций в выражении, и который потом вычисляет результат.
Немного непонятно, не правда ли? Давайте попробуем разобраться.
https://habr.com/ru/articles/936468/
Алгоритмы и Структуры данных
Хабр
Expression Templates
«Лень‑матушка вперёд нас родилась» В этой статье я хочу рассказать о технике «Expression Templates» и её применении в библиотеке simstr ( статья ). Вкратце — это техника...
Прием и парсинг NMEA-данных от GPS-приемника
GPS-приемники сегодня используются в самых разных устройствах - от автомобильных трекеров до беспилотных летательных аппаратов, независимо от применения, большинство таких модулей передают информацию о положении в формате NMEA 0183, в этой статье я разберу, как принять эти данные от GPS-модуля на микроконтроллер STM32 и преобразовывать их в удобный для программы вид.
https://habr.com/ru/articles/936028/
Алгоритмы и Структуры данных
GPS-приемники сегодня используются в самых разных устройствах - от автомобильных трекеров до беспилотных летательных аппаратов, независимо от применения, большинство таких модулей передают информацию о положении в формате NMEA 0183, в этой статье я разберу, как принять эти данные от GPS-модуля на микроконтроллер STM32 и преобразовывать их в удобный для программы вид.
https://habr.com/ru/articles/936028/
Алгоритмы и Структуры данных
Хабр
Прием и парсинг NMEA-данных от GPS-приемника
GPS-приемники сегодня используются в самых разных устройствах - от автомобильных трекеров до беспилотных летательных аппаратов, независимо от применения, большинство таких модулей передают информацию...
❤1
Вычисление периода записи дробной части числа в позиционных системах счисления
В статье о шумерских цифрах и их влиянии на арифметику я отметил, что запись рационального числа \frac{1}{7^{11}} в шестнадцатеричной системе имеет период {847425747} шестнадцатеричных цифр и предложил проверить это на калькуляторе. Речь про период цифр записи дробной части чисел вида \frac{1}{q}. Всякое рациональное число в такой позиционной системе счисления имеет либо конечную запись (терминирующуюся, например, {2} или {0.42}), либо бесконечную периодическую запись (например, \frac{1}{13} \approx 0.076923(076923)\ldots).
https://habr.com/ru/articles/936908/
Алгоритмы и Структуры данных
В статье о шумерских цифрах и их влиянии на арифметику я отметил, что запись рационального числа \frac{1}{7^{11}} в шестнадцатеричной системе имеет период {847425747} шестнадцатеричных цифр и предложил проверить это на калькуляторе. Речь про период цифр записи дробной части чисел вида \frac{1}{q}. Всякое рациональное число в такой позиционной системе счисления имеет либо конечную запись (терминирующуюся, например, {2} или {0.42}), либо бесконечную периодическую запись (например, \frac{1}{13} \approx 0.076923(076923)\ldots).
https://habr.com/ru/articles/936908/
Алгоритмы и Структуры данных
Хабр
Вычисление периода записи дробной части числа в позиционных системах счисления
В статье о шумерских цифрах и их влиянии на арифметику я отметил, что запись рационального числа в шестнадцатеричной системе имеет период шестнадцатеричных цифр и предложил проверить это на...
Вычисление периода записи дробной части числа в позиционных системах счисления
В статье о шумерских цифрах и их влиянии на арифметику я отметил, что запись рационального числа \frac{1}{7^{11}} в шестнадцатеричной системе имеет период {847425747} шестнадцатеричных цифр и предложил проверить это на калькуляторе. Речь про период цифр записи дробной части чисел вида \frac{1}{q}. Всякое рациональное число в такой позиционной системе счисления имеет либо конечную запись (терминирующуюся, например, {2} или {0.42}), либо бесконечную периодическую запись (например, \frac{1}{13} \approx 0.076923(076923)\ldots).
В статье о шумерских цифрах и их влиянии на арифметику я отметил, что запись рационального числа \frac{1}{7^{11}} в шестнадцатеричной системе имеет период {847425747} шестнадцатеричных цифр и предложил проверить это на калькуляторе. Речь про период цифр записи дробной части чисел вида \frac{1}{q}. Всякое рациональное число в такой позиционной системе счисления имеет либо конечную запись (терминирующуюся, например, {2} или {0.42}), либо бесконечную периодическую запись (например, \frac{1}{13} \approx 0.076923(076923)\ldots).
https://habr.com/ru/articles/936908/
Алгоритмы и Структуры данных
В статье о шумерских цифрах и их влиянии на арифметику я отметил, что запись рационального числа \frac{1}{7^{11}} в шестнадцатеричной системе имеет период {847425747} шестнадцатеричных цифр и предложил проверить это на калькуляторе. Речь про период цифр записи дробной части чисел вида \frac{1}{q}. Всякое рациональное число в такой позиционной системе счисления имеет либо конечную запись (терминирующуюся, например, {2} или {0.42}), либо бесконечную периодическую запись (например, \frac{1}{13} \approx 0.076923(076923)\ldots).
В статье о шумерских цифрах и их влиянии на арифметику я отметил, что запись рационального числа \frac{1}{7^{11}} в шестнадцатеричной системе имеет период {847425747} шестнадцатеричных цифр и предложил проверить это на калькуляторе. Речь про период цифр записи дробной части чисел вида \frac{1}{q}. Всякое рациональное число в такой позиционной системе счисления имеет либо конечную запись (терминирующуюся, например, {2} или {0.42}), либо бесконечную периодическую запись (например, \frac{1}{13} \approx 0.076923(076923)\ldots).
https://habr.com/ru/articles/936908/
Алгоритмы и Структуры данных
Хабр
Вычисление периода записи дробной части числа в позиционных системах счисления
В статье о шумерских цифрах и их влиянии на арифметику я отметил, что запись рационального числа в шестнадцатеричной системе имеет период шестнадцатеричных цифр и предложил проверить это на...
Структуры данных для frontend-разработчиков с реальными примерами
В мире frontend есть проблема: многие разработчики плохо ориентируются в структурах данных и не умеют их грамотно применять, чтобы получать эффективные и производительные решения своих задач.
Мы, Руслан Мирзоев и Тимофей Соломенников, разработчики онлайн-кинотеатра PREMIER, хотим поделиться своим опытом и на реальных примерах показать, что даёт правильное использование структур данных.
https://habr.com/ru/companies/habr_rutube/articles/934130/
Алгоритмы и Структуры данных
В мире frontend есть проблема: многие разработчики плохо ориентируются в структурах данных и не умеют их грамотно применять, чтобы получать эффективные и производительные решения своих задач.
Мы, Руслан Мирзоев и Тимофей Соломенников, разработчики онлайн-кинотеатра PREMIER, хотим поделиться своим опытом и на реальных примерах показать, что даёт правильное использование структур данных.
https://habr.com/ru/companies/habr_rutube/articles/934130/
Алгоритмы и Структуры данных
Хабр
Структуры данных для frontend-разработчиков с реальными примерами
В мире frontend есть проблема: многие разработчики плохо ориентируются в структурах данных и не умеют их грамотно применять, чтобы получать эффективные и производительные...
Как мы преуспели на международном конкурсе по выращиванию цифрового салата
Настоящее всё больше походит на то, что некогда представлялось фантастикой. Меня зовут Павел Дудукин, руководитель Data Science-направления в Центре развития финансовых технологий (ЦРФТ) Россельхозбанка, и в этой статье расскажу, как мы вышли в финал международного конкурса Autonomous Greenhouse Challenge и что нас ждет дальше.
Объединённая команда Россельхозбанка (РСХБ) и Московского физико-технического института (МФТИ) приняла участие в хакатоне Autonomous Greenhouse Challenge в 2021 году. Там собрался народ, заинтересованный в автоматизации тепличного выращивания сельхозкультур. Наша команда заняла второе место, уступив лишь объединённой команде университетов из Китая. Мы опередили участников из Стэнфордского университета, MIT, международного концерна BASF, Технического университета Мюнхена и др.
https://habr.com/ru/companies/rshb/articles/650169/
Алгоритмы и Структуры данных
Настоящее всё больше походит на то, что некогда представлялось фантастикой. Меня зовут Павел Дудукин, руководитель Data Science-направления в Центре развития финансовых технологий (ЦРФТ) Россельхозбанка, и в этой статье расскажу, как мы вышли в финал международного конкурса Autonomous Greenhouse Challenge и что нас ждет дальше.
Объединённая команда Россельхозбанка (РСХБ) и Московского физико-технического института (МФТИ) приняла участие в хакатоне Autonomous Greenhouse Challenge в 2021 году. Там собрался народ, заинтересованный в автоматизации тепличного выращивания сельхозкультур. Наша команда заняла второе место, уступив лишь объединённой команде университетов из Китая. Мы опередили участников из Стэнфордского университета, MIT, международного концерна BASF, Технического университета Мюнхена и др.
https://habr.com/ru/companies/rshb/articles/650169/
Алгоритмы и Структуры данных
Хабр
Как мы преуспели на международном конкурсе по выращиванию цифрового салата
Настоящее всё больше походит на то, что некогда представлялось фантастикой. Меня зовут Павел Дудукин, руководитель Data Science-направления в Центре развития финансовых технологий (ЦРФТ)...
Продвинутые техники RAG в действии
Всем привет! Представьте таблицу с сотнями или даже тысячами атрибутов. Как в условиях высокой размерности найти релевантные данные по запросу на естественном языке? Классические методы часто не справляются, нужны новые подходы.
Именно за эту сложную задачу взялась команда Департамента управления данными (SberData) в рамках эффективной интеграции ИИ‑агентов в Корпоративную аналитическую платформу Сбера (КАП), которая объединяет современные инструменты для работы с данными: хранение, интеграция, аналитика, моделирование и контроль качества данных. Наличие таких технологий, как продвинутые LLM (например, GigaChat), и большие объёмы данных делают исследование подобных задач актуальным для рынка больших данных.
В статье мы сравним эффективность векторного поиска, гибридных методов и подхода Retrieval‑Augmented Generation (RAG), оценим их влияние на точность результатов и обсудим практические ограничения.
https://habr.com/ru/companies/sberbank/articles/937242/
Алгоритмы и Структуры данных
Всем привет! Представьте таблицу с сотнями или даже тысячами атрибутов. Как в условиях высокой размерности найти релевантные данные по запросу на естественном языке? Классические методы часто не справляются, нужны новые подходы.
Именно за эту сложную задачу взялась команда Департамента управления данными (SberData) в рамках эффективной интеграции ИИ‑агентов в Корпоративную аналитическую платформу Сбера (КАП), которая объединяет современные инструменты для работы с данными: хранение, интеграция, аналитика, моделирование и контроль качества данных. Наличие таких технологий, как продвинутые LLM (например, GigaChat), и большие объёмы данных делают исследование подобных задач актуальным для рынка больших данных.
В статье мы сравним эффективность векторного поиска, гибридных методов и подхода Retrieval‑Augmented Generation (RAG), оценим их влияние на точность результатов и обсудим практические ограничения.
https://habr.com/ru/companies/sberbank/articles/937242/
Алгоритмы и Структуры данных
Хабр
Продвинутые техники RAG в действии
Всем привет! Представьте таблицу с сотнями или даже тысячами атрибутов. Как в условиях высокой размерности найти релевантные данные по запросу на естественном языке?...
Как написать bzip2-архиватор на Python: разбираем преобразование Барроуза-Уилера
Это вторая статья в моем цикле об алгоритме архивации bzip2. Первую можно прочитать здесь, но для понимания сегодняшней темы она необязательна. Ниже я разберу преобразование Барроуза-Уилера — ключевой этап сжатия bzip2.
Немного контекста: в своем цикле статей я разбираю механизм работы алгоритма архивации bzip2 с примерами на Python. Всю предысторию такого сомнительного решения я объясняю в своей первой публикации. Вкратце — цикл преследует образовательную цель. Он вырос из небольшого пет-проекта, в котором я писал собственный bzip2-архиватор на Python (медленный и бинарно несовместимый со стандартным bzip2, но работающий).
https://habr.com/ru/companies/kts/articles/937554/
Алгоритмы и Структуры данных
Это вторая статья в моем цикле об алгоритме архивации bzip2. Первую можно прочитать здесь, но для понимания сегодняшней темы она необязательна. Ниже я разберу преобразование Барроуза-Уилера — ключевой этап сжатия bzip2.
Немного контекста: в своем цикле статей я разбираю механизм работы алгоритма архивации bzip2 с примерами на Python. Всю предысторию такого сомнительного решения я объясняю в своей первой публикации. Вкратце — цикл преследует образовательную цель. Он вырос из небольшого пет-проекта, в котором я писал собственный bzip2-архиватор на Python (медленный и бинарно несовместимый со стандартным bzip2, но работающий).
https://habr.com/ru/companies/kts/articles/937554/
Алгоритмы и Структуры данных
Хабр
Как написать bzip2-архиватор на Python: разбираем преобразование Барроуза-Уилера
Привет! Я Рома, бэкендер-питонист в KTS . Это вторая статья в моем цикле об алгоритме архивации bzip2 . Первую можно прочитать здесь , но для понимания сегодняшней темы она необязательна. Ниже я...
👍1
Сравниваем кривые линии по форме
Не так давно писал в качестве pet-проекта гиперказуальную игру с примитивной механикой, а именно: максимально быстро и точно повторить кривую линию. Идея максимально простая, но задача сравнения двух кривых оказалась довольно интересной. В этой статье я опишу разные идеи, которые рассматривал (в основном провальные) и конечный вариант, к которому я пришел.
https://habr.com/ru/articles/650013/
Алгоритмы и Структуры данных
Не так давно писал в качестве pet-проекта гиперказуальную игру с примитивной механикой, а именно: максимально быстро и точно повторить кривую линию. Идея максимально простая, но задача сравнения двух кривых оказалась довольно интересной. В этой статье я опишу разные идеи, которые рассматривал (в основном провальные) и конечный вариант, к которому я пришел.
https://habr.com/ru/articles/650013/
Алгоритмы и Структуры данных
Хабр
Сравниваем кривые линии по форме
Привет, Хабр! Не так давно писал в качестве pet-проекта гиперказуальную игру с примитивной механикой, а именно: максимально быстро и точно повторить кривую линию. Идея максимально простая, но задача...
Создаем простого грид-бота для Московской биржи через QUIK и Python
Алгоритмическая торговля на Московской бирже с помощью терминала QUIK остаётся популярным способом автоматизировать стратегии. В этой статье мы напишем грид-бота, который выставляет ордера сеткой вокруг текущей цены и зарабатывает на колебаниях.
https://habr.com/ru/articles/937842/
Алгоритмы и Структуры данных
Алгоритмическая торговля на Московской бирже с помощью терминала QUIK остаётся популярным способом автоматизировать стратегии. В этой статье мы напишем грид-бота, который выставляет ордера сеткой вокруг текущей цены и зарабатывает на колебаниях.
https://habr.com/ru/articles/937842/
Алгоритмы и Структуры данных
Хабр
Создаем простого грид-бота для Московской биржи через QUIK и Python
Алгоритмическая торговля на Московской бирже с помощью терминала QUIK остаётся популярным способом автоматизировать стратегии. В этой статье мы напишем грид-бота , который выставляет ордера сеткой...
GIMP Script-Fu ООП. Встраиваем векторы в систему классов Фигур и все Фигуры в язык Функциональной геометрии
В предыдущей статье мы рассмотрели имеющиеся в GIMP возможности векторной графики. Здесь мы рассмотрим как эти возможности использовать при построении графических примитивов - Фигур. Для построения абстракций фигур мы уже написали несколько классов: Фигуры рисуемых по контуру Кистью и Карандашом, Фигур заполняемых определённым цветом, Комбинированных Фигур, Фигур использующих Изображения и Фигур использующих Текст. Здесь я продемонстрирую, как легко и непринуждённо мы можем встроить новые абстракции в существующую иерарахию классов. А заодно рассмотрим как вся эта иерархия классов может испольоваться в языке функциональной геометрии, рассмотренном в предыдущем цикле статей.
https://habr.com/ru/articles/937886/
Алгоритмы и Структуры данных
В предыдущей статье мы рассмотрели имеющиеся в GIMP возможности векторной графики. Здесь мы рассмотрим как эти возможности использовать при построении графических примитивов - Фигур. Для построения абстракций фигур мы уже написали несколько классов: Фигуры рисуемых по контуру Кистью и Карандашом, Фигур заполняемых определённым цветом, Комбинированных Фигур, Фигур использующих Изображения и Фигур использующих Текст. Здесь я продемонстрирую, как легко и непринуждённо мы можем встроить новые абстракции в существующую иерарахию классов. А заодно рассмотрим как вся эта иерархия классов может испольоваться в языке функциональной геометрии, рассмотренном в предыдущем цикле статей.
https://habr.com/ru/articles/937886/
Алгоритмы и Структуры данных
Хабр
GIMP Script-Fu ООП. Встраиваем векторы в систему классов Фигур и все Фигуры в язык Функциональной геометрии
Библиотека функций к Script-fu В предыдущей статье мы рассмотрели имеющиеся в GIMP возможности векторной графики. Здесь мы рассмотрим как эти возможности использовать при построении графических...
Ускоряем работу с графами в 20000 раз
Периодически возникают задачи и проекты, где данные имеют структуру графа. Например, данные о компьютерных сетях, где узлы связаны между собой. А на узлах зарегистрированы пользователи и они связаны или не связаны между собой. Еще пример — результат работы какого-то web crawler, который собирает данные из сети и хранит ссылки страниц между собой. Социальные сети. Список друзей, у которых тоже есть друзья — граф. Населенные пункты и дороги между ними — еще один пример графа.
Чтобы нам было удобнее давайте определимся с решаемой задачей. Допустим мы делаем систему администрирования некоторого сетевого ПО. Это ПО установлено на всех узлах сети. И из центра администрирования оно получает конфигурацию своей работы. Сети на практике большие, несколько администраторов одновременно могут включать и отключать связи между узлами. Либо напрямую, либо неявно через какие-то косвенные настройки. Наша задача обнаружить несвязанные сегменты в получившейся сети и не сохранить такую конфигурацию. Потому что плохая конфигурация приведет к неработоспособности.
https://habr.com/ru/articles/650007/
Алгоритмы и Структуры данных
Периодически возникают задачи и проекты, где данные имеют структуру графа. Например, данные о компьютерных сетях, где узлы связаны между собой. А на узлах зарегистрированы пользователи и они связаны или не связаны между собой. Еще пример — результат работы какого-то web crawler, который собирает данные из сети и хранит ссылки страниц между собой. Социальные сети. Список друзей, у которых тоже есть друзья — граф. Населенные пункты и дороги между ними — еще один пример графа.
Чтобы нам было удобнее давайте определимся с решаемой задачей. Допустим мы делаем систему администрирования некоторого сетевого ПО. Это ПО установлено на всех узлах сети. И из центра администрирования оно получает конфигурацию своей работы. Сети на практике большие, несколько администраторов одновременно могут включать и отключать связи между узлами. Либо напрямую, либо неявно через какие-то косвенные настройки. Наша задача обнаружить несвязанные сегменты в получившейся сети и не сохранить такую конфигурацию. Потому что плохая конфигурация приведет к неработоспособности.
https://habr.com/ru/articles/650007/
Алгоритмы и Структуры данных
Хабр
Ускоряем работу с графами в 20000 раз
Ссылка на статью в моем блоге Данные в виде графа. Как их хранить? Как с ними работать? Периодически возникают задачи и проекты, где данные имеют структуру графа. Например, данные о компьютерных...
Сложность алгоритмов, или почему O(n) лучше O(2^n)
Предлагаю разобраться, как правильно оценить код с точки зрения его скорости выполнения.
Прежде всего надо выяснить, что мы понимаем под эффективным алгоритмом. Попробую дать авторское определение: эффективный алгоритм - код, который выполняется с минимальным использованием вычислительных ресурсов процессора. Соответственно, неэффективный алгоритм, наоборот, требует больше ресурсов и, соответственно, больше времени для выполнения.
Давайте рассмотрим, что же такое «хороший» и «плохой» алгоритм, на примере простой задачи с leetcode.
Условие: на вход поступает массив целых чисел. На выходе необходимо вывести массив, в котором все нули расположены в конце, а остальные числа сохраняют свой порядок.
https://habr.com/ru/articles/938048/
Алгоритмы и Структуры данных
Предлагаю разобраться, как правильно оценить код с точки зрения его скорости выполнения.
Прежде всего надо выяснить, что мы понимаем под эффективным алгоритмом. Попробую дать авторское определение: эффективный алгоритм - код, который выполняется с минимальным использованием вычислительных ресурсов процессора. Соответственно, неэффективный алгоритм, наоборот, требует больше ресурсов и, соответственно, больше времени для выполнения.
Давайте рассмотрим, что же такое «хороший» и «плохой» алгоритм, на примере простой задачи с leetcode.
Условие: на вход поступает массив целых чисел. На выходе необходимо вывести массив, в котором все нули расположены в конце, а остальные числа сохраняют свой порядок.
https://habr.com/ru/articles/938048/
Алгоритмы и Структуры данных
Хабр
Сложность алгоритмов, или почему O(n) лучше O(2^n)
Предлагаю разобраться, как правильно оценить код с точки зрения его скорости выполнения. Прежде всего надо выяснить, что мы понимаем под эффективным алгоритмом. Попробую дать авторское определение:...
❤1
Структуры данных для разработчиков: 10 самых важных
Структуры данных – фундамент эффективной разработки. В этой статье рассмотрим 10 ключевых структур данных, которые необходимо освоить каждому разработчику для создания производительных и масштабируемых приложений.
https://proglib.io/p/struktury-dannyh-dlya-razrabotchikov-10-samyh-vazhnyh-2024-08-28
Алгоритмы и Структуры данных
Структуры данных – фундамент эффективной разработки. В этой статье рассмотрим 10 ключевых структур данных, которые необходимо освоить каждому разработчику для создания производительных и масштабируемых приложений.
https://proglib.io/p/struktury-dannyh-dlya-razrabotchikov-10-samyh-vazhnyh-2024-08-28
Алгоритмы и Структуры данных
Библиотека программиста
🏗️ Структуры данных для разработчиков: 10 самых важных
Структуры данных – фундамент эффективной разработки. В этой статье рассмотрим 10 ключевых структур данных, которые необходимо освоить каждому разработчику для создания производительных и масштабируемых приложений.
От Кнута до Седжвика: классика алгоритмической литературы
Обзор лучших книг по алгоритмам для программистов всех уровней. От иллюстрированных пособий для начинающих до фундаментальных трудов для экспертов.
https://proglib.io/p/ot-knuta-do-sedzhvika-klassika-algoritmicheskoy-literatury-2024-08-27
Алгоритмы и Структуры данных
Обзор лучших книг по алгоритмам для программистов всех уровней. От иллюстрированных пособий для начинающих до фундаментальных трудов для экспертов.
https://proglib.io/p/ot-knuta-do-sedzhvika-klassika-algoritmicheskoy-literatury-2024-08-27
Алгоритмы и Структуры данных
Библиотека программиста
📖 От Кнута до Седжвика: классика алгоритмической литературы
Обзор лучших книг по алгоритмам для программистов всех уровней. От иллюстрированных пособий для начинающих до фундаментальных трудов для экспертов.
Как ломается RSA512 за 3.5 часа на одном ядре старого ноутбука
Сразу оговорюсь, что обычно я не занимаюсь компьютерной безопасностью и не интересуюсь, а занимаюсь алгоритмами и структурами данных - в прикладном применении это оптимизация быстродействия, высокопроизводительные вычисления типа CUDA, AVX512, многопоточность, что применяется например для майнеров криптовалют. Так я влез в криптоанализ, ибо области, получается, соприкасаются. Был у меня заказ от человека, который хотел очень быстро на видеокартах перемножать 256-битные числа в 512-битные произведения. Я конечно сделал как он хотел, но вот пришла идея: так а зачем перемножать бесчисленное количество чисел, если в принципе можно разложить на множители 512-битное число имея текущие технологии? Об этом дальше и речь.
https://habr.com/ru/articles/938410/
Алгоритмы и Структуры данных
Сразу оговорюсь, что обычно я не занимаюсь компьютерной безопасностью и не интересуюсь, а занимаюсь алгоритмами и структурами данных - в прикладном применении это оптимизация быстродействия, высокопроизводительные вычисления типа CUDA, AVX512, многопоточность, что применяется например для майнеров криптовалют. Так я влез в криптоанализ, ибо области, получается, соприкасаются. Был у меня заказ от человека, который хотел очень быстро на видеокартах перемножать 256-битные числа в 512-битные произведения. Я конечно сделал как он хотел, но вот пришла идея: так а зачем перемножать бесчисленное количество чисел, если в принципе можно разложить на множители 512-битное число имея текущие технологии? Об этом дальше и речь.
https://habr.com/ru/articles/938410/
Алгоритмы и Структуры данных
Хабр
Как ломается RSA512 за 3.5 часа на одном ядре старого ноутбука
Сразу оговорюсь, что обычно я не занимаюсь компьютерной безопасностью и не интересуюсь, а занимаюсь алгоритмами и структурами данных - в прикладном применении это оптимизация быстродействия,...
Часть 4. Алгоритмы: как превратить сырые данные в координаты
После выбора аппаратной базы (двойной STM32, каскад датчиков WT901 + LSM6DSV16X + LIS2DW12) наступает этап, который инженеры любят и ненавидят одновременно: программная реализация навигационного алгоритма. Эта часть посвящена математике, фильтрам и тому, как не сойти с ума, интегрируя шумные измерения в реальные координаты. Текст ориентирован на специалистов, поэтому скучноватые места будут разбавлены самоиронией и примерами из практики.
https://habr.com/ru/articles/938602/
Алгоритмы и Структуры данных
После выбора аппаратной базы (двойной STM32, каскад датчиков WT901 + LSM6DSV16X + LIS2DW12) наступает этап, который инженеры любят и ненавидят одновременно: программная реализация навигационного алгоритма. Эта часть посвящена математике, фильтрам и тому, как не сойти с ума, интегрируя шумные измерения в реальные координаты. Текст ориентирован на специалистов, поэтому скучноватые места будут разбавлены самоиронией и примерами из практики.
https://habr.com/ru/articles/938602/
Алгоритмы и Структуры данных
Хабр
Часть 4. Алгоритмы: как превратить сырые данные в координаты
Предыдущая часть Часть 3. Аппаратная часть: от микросхемы до дисплея После выбора аппаратной базы (двойной STM32, каскад датчиков WT901 + LSM6DSV16X + LIS2DW12) наступает этап, который...
Эволюция внимания в LLM: от квадратичной сложности к эффективным оптимизациям
Мы живём в эпоху больших языковых моделей — инструментов вроде ChatGPT, Gemini, Claude, которые поражают своими способностями: они пишут тексты, отвечают на сложные вопросы, генерируют код и даже ведут осмысленные диалоги. Но задумывались ли вы, как им удаётся не просто понимать отдельные фразы, но и удерживать смысл длинных документов, многочасовых бесед или даже целых книг?
В статье разберём путь от понимания человеческого восприятия до современных оптимизаций механизма внимания в LLM.
https://habr.com/ru/companies/2gis/articles/935940/
Алгоритмы и Структуры данных
Мы живём в эпоху больших языковых моделей — инструментов вроде ChatGPT, Gemini, Claude, которые поражают своими способностями: они пишут тексты, отвечают на сложные вопросы, генерируют код и даже ведут осмысленные диалоги. Но задумывались ли вы, как им удаётся не просто понимать отдельные фразы, но и удерживать смысл длинных документов, многочасовых бесед или даже целых книг?
В статье разберём путь от понимания человеческого восприятия до современных оптимизаций механизма внимания в LLM.
https://habr.com/ru/companies/2gis/articles/935940/
Алгоритмы и Структуры данных
Хабр
Эволюция внимания в LLM: от квадратичной сложности к эффективным оптимизациям
Мы живём в эпоху больших языковых моделей — инструментов вроде ChatGPT, Gemini, Claude, которые поражают своими способностями: они пишут тексты, отвечают на сложные вопросы, генерируют код и даже...
6 основных алгоритмов машинного обучения: руководство для начинающих
В этой статье мы расскажем о шести основных алгоритмах машинного обучения и их практическом применении в различных отраслях.
https://proglib.io/p/6-osnovnyh-algoritmov-mashinnogo-obucheniya-rukovodstvo-dlya-nachinayushchih-2024-08-26
Алгоритмы и Структуры данных
В этой статье мы расскажем о шести основных алгоритмах машинного обучения и их практическом применении в различных отраслях.
https://proglib.io/p/6-osnovnyh-algoritmov-mashinnogo-obucheniya-rukovodstvo-dlya-nachinayushchih-2024-08-26
Алгоритмы и Структуры данных
Библиотека программиста
🤖 6 основных алгоритмов машинного обучения: руководство для начинающих
Изучите шесть ключевых алгоритмов машинного обучения, включая линейную регрессию, дерево решений и метод опорных векторов. Узнайте, как выбрать подходящий метод для ваших данных.
Как составить школьное расписание с помощью IBM CPLEX Solver
Составить расписание всегда былом делом непростым. Доверить эту задачу компьютеру решались не все, потому что задача NP-полная и алгоритмического решения «в лоб» за обозримое время не имеет (объяснение).
https://habr.com/ru/articles/649445/
Алгоритмы и Структуры данных
Составить расписание всегда былом делом непростым. Доверить эту задачу компьютеру решались не все, потому что задача NP-полная и алгоритмического решения «в лоб» за обозримое время не имеет (объяснение).
https://habr.com/ru/articles/649445/
Алгоритмы и Структуры данных
Хабр
Как составить школьное расписание с помощью IBM CPLEX Solver
Составить расписание всегда былом делом непростым. Доверить эту задачу компьютеру решались не все, потому что задача NP-полная и алгоритмического решения «в лоб» за обозримое время не имеет (...
5 слов из 5 букв
В этой статье я делюсь найденным кое-как решением бесполезной задачи, поэтому не относитесь к ней очень серьёзно. Но вы можете поучаствовать в поиске решения или поделиться готовыми в комментариях.
https://habr.com/ru/articles/939012/
Алгоритмы и Структуры данных
В этой статье я делюсь найденным кое-как решением бесполезной задачи, поэтому не относитесь к ней очень серьёзно. Но вы можете поучаствовать в поиске решения или поделиться готовыми в комментариях.
https://habr.com/ru/articles/939012/
Алгоритмы и Структуры данных
Хабр
5 слов из 5 букв
В этой статье я делюсь найденным кое-как решением бесполезной задачи, поэтому не относитесь к ней очень серьёзно. Но вы можете поучаствовать в поиске решения или поделиться готовыми в комментариях....