Фильтрация изображений методом свертки
Вероятно, большинство хабросообщества не понаслышке знает о фильтрах обработки изображений, таких как размытие, повышение резкости, нахождение краев, тиснение и прочие. Некоторые работали с ними более тесно, некоторые использовали их как данность. Однако все ли знают, как именно происходит фильтрация изображения, и что общего между перечисленными фильтрами? В данном топике я постараюсь в общем виде описать алгоритм, по которому это все выполняется, а так же приведу его реализацию.
https://habr.com/ru/articles/62738/
Алгоритмы и Структуры данных
Вероятно, большинство хабросообщества не понаслышке знает о фильтрах обработки изображений, таких как размытие, повышение резкости, нахождение краев, тиснение и прочие. Некоторые работали с ними более тесно, некоторые использовали их как данность. Однако все ли знают, как именно происходит фильтрация изображения, и что общего между перечисленными фильтрами? В данном топике я постараюсь в общем виде описать алгоритм, по которому это все выполняется, а так же приведу его реализацию.
https://habr.com/ru/articles/62738/
Алгоритмы и Структуры данных
Хабр
Фильтрация изображений методом свертки
Автором данного топика является хабраюзер Popik , который сам не может запостить этот топик в силу астральных причин. Введение. Вероятно, большинство хабросообщества не...
Биоинформатика — это наука или всё же метод?
Про биоинформатику слышали многие. Кто-то знает больше, кто-то меньше. Мы постарались раскрыть вопрос этой, относительно новой, науки. Так сказать, дать общие представления читателю об основных вехах развития, методах и проблемах: решённых и существующих на нынешнее время.
https://habr.com/ru/companies/ruvds/articles/650449/
Алгоритмы и Структуры данных
Про биоинформатику слышали многие. Кто-то знает больше, кто-то меньше. Мы постарались раскрыть вопрос этой, относительно новой, науки. Так сказать, дать общие представления читателю об основных вехах развития, методах и проблемах: решённых и существующих на нынешнее время.
https://habr.com/ru/companies/ruvds/articles/650449/
Алгоритмы и Структуры данных
Хабр
Биоинформатика — это наука или всё же метод?
Про биоинформатику слышали многие. Кто-то знает больше, кто-то меньше. Мы постарались раскрыть вопрос этой, относительно новой, науки. Так сказать, дать общие представления читателю об основных вехах...
Как научиться программированию разрабатывая игры
Если вы учились программировать в конце 80x-начале 90х, то наверняка делали это на ZX Spectrum, БК-0010 или MSX. Во всех этих компьютерах был встроенный язык програмирования. Кто-то начинал сразу с машинных кодов Радио-86РК. В любом случае первыми программами скорее всего были игры.
Но любительское программирование началось задолго до 90х. Посмотрим, какие игры предлагались раньше для начинающих программистов и что из этого мы могли бы извлечь для себя сегодня.
https://habr.com/ru/articles/932262/
Алгоритмы и Структуры данных
Если вы учились программировать в конце 80x-начале 90х, то наверняка делали это на ZX Spectrum, БК-0010 или MSX. Во всех этих компьютерах был встроенный язык програмирования. Кто-то начинал сразу с машинных кодов Радио-86РК. В любом случае первыми программами скорее всего были игры.
Но любительское программирование началось задолго до 90х. Посмотрим, какие игры предлагались раньше для начинающих программистов и что из этого мы могли бы извлечь для себя сегодня.
https://habr.com/ru/articles/932262/
Алгоритмы и Структуры данных
Хабр
Как научиться программированию разрабатывая игры
Если вы учились программировать в конце 80x-начале 90х, то наверняка делали это на ZX Spectrum, БК-0010 или MSX. Во всех этих компьютерах был встроенный язык програмирования. Кто-то начинал сразу с...
Наивное введение в CRDT-типы
Меня зовут Георгий Семёнов, в VK я занимаюсь разработкой в команде инфраструктуры рекомендательных систем, а в Университете ИТМО начинаю свой аспирантский путь в области децентрализованных коллаборативных сред.
В этой вводной статье я попытаюсь спекулятивно определить CRDT-типы, которые сегодня выступают передовым подходом для создания коллаборативных приложений реального времени. Я намеренно не коснусь многообразия теоретических и практических результатов в области и попробую принять отстраненную позицию, чтобы представить некое «интуиционистское» построение реплицируемых типов с исполнимыми иллюстрациями на Scala.
https://habr.com/ru/companies/vk/articles/934682/
Алгоритмы и Структуры данных
Меня зовут Георгий Семёнов, в VK я занимаюсь разработкой в команде инфраструктуры рекомендательных систем, а в Университете ИТМО начинаю свой аспирантский путь в области децентрализованных коллаборативных сред.
В этой вводной статье я попытаюсь спекулятивно определить CRDT-типы, которые сегодня выступают передовым подходом для создания коллаборативных приложений реального времени. Я намеренно не коснусь многообразия теоретических и практических результатов в области и попробую принять отстраненную позицию, чтобы представить некое «интуиционистское» построение реплицируемых типов с исполнимыми иллюстрациями на Scala.
https://habr.com/ru/companies/vk/articles/934682/
Алгоритмы и Структуры данных
Хабр
Наивное введение в CRDT-типы
Привет, Хабр! Меня зовут Георгий Семёнов, в VK я занимаюсь разработкой в команде инфраструктуры рекомендательных систем, а в Университете ИТМО начинаю свой аспирантский путь в области...
Составное число и его факторизация
В комментариях к моим статьям факторизации составного числа регулярно встречаются возражения по поводу понятия «модель числа» – это какой-то оксюморон, фантазии автора и др.
В ответ могу только заметить, что в математике имеют дело с натуральными (N), целыми (Z), рациональными (Q), вещественными (R) и комплексными (С) числами. Приведенные термины по существу называют модели чисел с четко различимыми свойствами и допустимыми операциями в каждом из множеств названных чисел. Соотношения между этими моделями задается включением левого (меньшего) в правое (большее) множество чисел N ⸦ Z ⸦ Q ⸦ R ⸦ C.
Главными операциями над множествами чисел в таких моделях являются сложение (+) и умножение (×), обратными к которым являются операции вычитания (–) и факторизация (×-1).
https://habr.com/ru/articles/935794/
Алгоритмы и Структуры данных
В комментариях к моим статьям факторизации составного числа регулярно встречаются возражения по поводу понятия «модель числа» – это какой-то оксюморон, фантазии автора и др.
В ответ могу только заметить, что в математике имеют дело с натуральными (N), целыми (Z), рациональными (Q), вещественными (R) и комплексными (С) числами. Приведенные термины по существу называют модели чисел с четко различимыми свойствами и допустимыми операциями в каждом из множеств названных чисел. Соотношения между этими моделями задается включением левого (меньшего) в правое (большее) множество чисел N ⸦ Z ⸦ Q ⸦ R ⸦ C.
Главными операциями над множествами чисел в таких моделях являются сложение (+) и умножение (×), обратными к которым являются операции вычитания (–) и факторизация (×-1).
https://habr.com/ru/articles/935794/
Алгоритмы и Структуры данных
Хабр
Составное число и его факторизация
В комментариях к моим статьям факторизации составного числа регулярно встречаются возражения по поводу понятия «модель числа» – это какой-то оксюморон, фантазии автора и др. В ответ могу только...
GIMP Script-Fu ООП. Обобщённые функции и примитивные типы данных
Как я ранее уже говорил, обобщённые функции нашей системы производят диспетчеризацию вызовов методов основываясь на типах входящих аргументов. Пока меня устраивала ситуация, что диспетчеризация производится только для классов. Все остальные типы данных не учитывались при диспетчеризации методов. В реальной же CLOS возможна диспетчеризация по примитивным типам данных. И вообще для работы обобщённых функций классы не требуются. Можно ли как то реализовать подобное поведение в нашей системе? Решению данного вопроса и посвящена эта статья.
https://habr.com/ru/articles/936210/
Алгоритмы и Структуры данных
Как я ранее уже говорил, обобщённые функции нашей системы производят диспетчеризацию вызовов методов основываясь на типах входящих аргументов. Пока меня устраивала ситуация, что диспетчеризация производится только для классов. Все остальные типы данных не учитывались при диспетчеризации методов. В реальной же CLOS возможна диспетчеризация по примитивным типам данных. И вообще для работы обобщённых функций классы не требуются. Можно ли как то реализовать подобное поведение в нашей системе? Решению данного вопроса и посвящена эта статья.
https://habr.com/ru/articles/936210/
Алгоритмы и Структуры данных
Хабр
GIMP Script-Fu ООП. Обобщённые функции и примитивные типы данных
Библиотека функций к Script-fu Введение Как я ранее уже говорил, обобщённые функции нашей системы производят диспетчеризацию вызовов методов основываясь на типах входящих аргументов. Пока меня...
Binary Heap на примере PriorityQueue в JAVA
Двоичная куча (binary heap) — это структура данных, которая представляет собой бинарное дерево, удовлетворяющее определённым условиям:
https://habr.com/ru/articles/936238/
Алгоритмы и Структуры данных
Двоичная куча (binary heap) — это структура данных, которая представляет собой бинарное дерево, удовлетворяющее определённым условиям:
https://habr.com/ru/articles/936238/
Алгоритмы и Структуры данных
Хабр
Binary Heap на примере PriorityQueue в JAVA
Двоичная куча (binary heap) — это структура данных, которая представляет собой бинарное дерево, удовлетворяющее определённым условиям : Должна быть полным двоичным деревом: у каждого узла...
Часть 3. Аппаратная часть: от микросхемы до дисплея
Идея собрать инерциальный навигатор пришла в голову быстро, но подобрать подходящие компоненты было сложнее. Главный микроконтроллер должен иметь достаточную вычислительную мощность для интегрирования уравнений движения и работы пользовательского интерфейса, при этом потреблять минимум энергии. Я выбрал контроллер семейства STM32 от STMicroelectronics, основанный на ядре ARM Cortex‑M. Этот чип обладает богатым набором периферии (I²C, SPI, UART, SDIO) и аппаратным блоком плавающей точки. К тому же компания ST поставляет готовые программные библиотеки для работы с MEMS‑датчиками.
https://habr.com/ru/articles/936346/
Алгоритмы и Структуры данных
Идея собрать инерциальный навигатор пришла в голову быстро, но подобрать подходящие компоненты было сложнее. Главный микроконтроллер должен иметь достаточную вычислительную мощность для интегрирования уравнений движения и работы пользовательского интерфейса, при этом потреблять минимум энергии. Я выбрал контроллер семейства STM32 от STMicroelectronics, основанный на ядре ARM Cortex‑M. Этот чип обладает богатым набором периферии (I²C, SPI, UART, SDIO) и аппаратным блоком плавающей точки. К тому же компания ST поставляет готовые программные библиотеки для работы с MEMS‑датчиками.
https://habr.com/ru/articles/936346/
Алгоритмы и Структуры данных
Хабр
Часть 3. Аппаратная часть: от микросхемы до дисплея
Предыдущая часть Часть 2. Теория: как работает инерциальная навигация и почему она «плывёт» Выбор процессора и датчиков Идея собрать инерциальный навигатор пришла в голову быстро, но подобрать...
❤1
Binary Heap на примере PriorityQueue в JAVA
Двоичная куча (binary heap) — это структура данных, которая представляет собой бинарное дерево, удовлетворяющее определённым условиям:
Должна быть полным двоичным деревом:
у каждого узла должно быть не более 2 дочерних элементов
уровни заполняются слева направо
https://habr.com/ru/articles/936238/
Алгоритмы и Структуры данных
Двоичная куча (binary heap) — это структура данных, которая представляет собой бинарное дерево, удовлетворяющее определённым условиям:
Должна быть полным двоичным деревом:
у каждого узла должно быть не более 2 дочерних элементов
уровни заполняются слева направо
https://habr.com/ru/articles/936238/
Алгоритмы и Структуры данных
Хабр
Binary Heap на примере PriorityQueue в JAVA
Двоичная куча (binary heap) — это структура данных, которая представляет собой бинарное дерево, удовлетворяющее определённым условиям : Должна быть полным двоичным деревом: у каждого узла...
Расширение известного трюка с XOR на миллиарды строк: введение в обратимые фильтры Блума
Можно ли применить известный трюк с операцией XOR, используемый для поиска в списках одного или двух пропущенных чисел, сделав так, чтобы он подошёл бы для поиска тысяч отсутствующих идентификаторов в таблицах, содержащих миллионы строк?
https://habr.com/ru/companies/wunderfund/articles/936354/
Алгоритмы и Структуры данных
Можно ли применить известный трюк с операцией XOR, используемый для поиска в списках одного или двух пропущенных чисел, сделав так, чтобы он подошёл бы для поиска тысяч отсутствующих идентификаторов в таблицах, содержащих миллионы строк?
https://habr.com/ru/companies/wunderfund/articles/936354/
Алгоритмы и Структуры данных
Хабр
Расширение известного трюка с XOR на миллиарды строк: введение в обратимые фильтры Блума
Можно ли применить известный трюк с операцией XOR, используемый для поиска в списках одного или двух пропущенных чисел, сделав так, чтобы он подошёл бы для поиска тысяч отсутствующих идентификаторов в...
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 возможности векторной графики. Здесь мы рассмотрим как эти возможности использовать при построении графических...