Рубрика «Алгоритмы» - 50

image

Пару лет назад я написал очень простую реализацию фрактального сжатия изображений для студенческой работы и выложил код на github.

К моему удивлению, репозиторий оказался довольно популярным, поэтому я решил обновить код и написать статью, объясняющую его и теорию.
Читать полностью »

Художники заметили, что сайты воруют арты из Twitter-аккаунтов и делают из них принты для футболок - 1

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

Если данные не помещаются в память. Простейшие методы - 1

Самка трубкозуба с детёнышем. Фото: Scotto Bear, CC BY-SA 2.0

Вы пишете программу для обработки данных, она отлично проходит тест на небольшом файле, но падает на реальной нагрузке.

Проблема в нехватке памяти. Если у вас 16 гигабайт ОЗУ, вы не сможете туда загрузить стогигабайтный файл. В какой-то момент у ОС закончится память, она не сможет выделить новую, и программа вылетит.

Что делать?
Читать полностью »

Google Поиск на базе ИИ с технологией BERT теперь работает на русском языке - 1Поисковый запрос на русском языке, обработанный с применением технологии BERT, наиболее точно отвечает на запрос пользователя.

В официальном блоге Google Россия появилась информация, что теперь Google понимает поисковые запросы лучше, чем когда-либо. Таким образом, с 9 декабря 2019 года технология предварительного обучения анализу текста на естественном языке BERT (Bidirectional Encoder Representations from Transformers) теперь стала использоваться в поисковой выдаче Google Поиск и для запросов на русском языке.
Читать полностью »

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

Другие реализации не устроили, в первую очередь, по потребляемой памяти. Да и в любом случае ещё одна реализация префиксного дерева будет не лишней.Читать полностью »

Предыстория

Есть торговые автоматы собственной разработки. Внутри Raspberry Pi и немного обвязки на отдельной плате. Подключены монетоприёмник, купюроприёмник, банковский терминал… Управляет всем самописная программа. Вся история работы пишется в журнал на флешке (MicroSD), который потом передаётся через интернет (с помощью USB-модема) на сервер, там складывается в БД. Информация о продажах загружается в 1с, также есть простенький веб-интерфейс для мониторинга и т.п.

То есть журнал жизненно необходим — для учёта (там выручка, продажи и т.д.), мониторинга (всевозможные сбои и другие форс-мажорные обстоятельства); это, можно сказать, вся информация, которая у нас об этом автомате.

Проблема

Флешки показывают себя как очень ненадёжные устройства. Они с завидной регулярностью выходят из строя. Это приводит как к простоям автоматов, так и (если по каким-то причинам журнал не мог быть передан онлайн) к потерям данных.

Это уже не первый опыт использования флешек, до этого был другой проект с более, чем сотней устройств, где журнал хранился на USB-флешках, там тоже были проблемы с надёжностью, временами число вышедших из строя за месяц исчислялось десятками. Пробовали разные флешки, в том числе и брендовые на SLC памяти, да некоторые модели надёжнее других, но замена флешек не решила проблему кардинально.

Читать полностью »

Как проверить паспорт на действительность - 1

Реквизиты паспорта — не просто набор цифр, в них закодирован вагон информации. Если правильно расшифровывать и сопоставлять реквизиты, подозрительные документы мгновенно всплывут на поверхность. Продукты HFLabs уже 14 лет проверяют клиентские данные в банках, страховых, телекомах и другом крупном бизнесе. Расскажу, как мы распознаем ошибки в российских паспортах.
Читать полностью »

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

Чаще прочих встречается вот такая алгоритмическая идея.

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

Применение зашифрованных данных для машинного обучения без их расшифровки - 1

Применение зашифрованных данных для машинного обучения без их расшифровки
В этой статье обсуждаются передовые криптографические методики. Это лишь обзор исследований, проводимых в Julia Computing. Не используйте приведённые здесь примеры в коммерческих приложениях. Всегда консультируйтесь с криптографами, прежде чем применять криптографию.

Здесь можно скачать пакет, реализующий всю магию, а здесь находится код, который рассматривается в статье.
Читать полностью »

image

Оценка того, эгоистичны или альтруистичны водители вокруг, имеет большое значение.

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

Такие сцены разыгрываются по всему миру бесчисленное количество раз в день. И это ситуация, в которой сложно понять физику движения и мотивы других водителей, о чем говорит тот факт, что в Соединенных Штатах каждый год происходит 1,4 миллиона аварий при поворотах. Теперь добавьте в эту ситуацию автономные автомобили. Обычно они ограничиваются только оценкой физических параметров и принимают более осторожные решения в ситуациях с неоднозначной обстановкой.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js