Все потоки
Поиск
Написать публикацию
Обновить
171.77

Алгоритмы *

Все об алгоритмах

Сначала показывать
Порог рейтинга
Уровень сложности

Польская нотация или как легко распарсить алгебраическое выражение

Время на прочтение6 мин
Количество просмотров103K

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

Читать далее

Объяснение фильтра Калмана в картинках

Время на прочтение9 мин
Количество просмотров51K
image

Я обязан рассказать вам о фильтре Калмана, потому что он выполняет просто потрясающую задачу.

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

Собеседования джунов — вся жесть вопроса

Время на прочтение6 мин
Количество просмотров87K

После 2-х лет разработчиком на С# в небольшой английской компании в сфере строительства, я решил выяснить свою стоимость как специалиста на рынке труда Великобритании. Несмотря на то, что большинство вакансий представляют собой примерно одно и то же: «Требуется человек-оркестр с 10+ лет опыта для очень интересной работы», — я специально выбирал позиции исключительно младшего разработчика не содержащих цифр 5+, 10+ и 15+ в описании. Как это было — читайте дальше.

Читать далее

Как с помощью машинного обучения ускорить категоризацию товаров на маркетплейсах и в интернет-магазинах?

Время на прочтение9 мин
Количество просмотров5.7K

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

Хочу узнать

Наступление домашних роботов, вооруженных лидарами

Время на прочтение9 мин
Количество просмотров11K

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

Лидары широким фронтом ворвались в робототехнику, автомобилестроение и дистанционное зондирование примерно два десятка лет назад. В 2000 году я впервые взял в руки картинку городского квартала, полученную при сканировании самолетным лидаром. В США с 2003 года ДАРПА (Defense Advanced Research Projects Agency)  начало финансировать соревнования беспилотных автомобилей, которые, как правило, оснащались лидарами. Это привело к быстрой эволюции самоуправляемых автомобилей и роботов, которые со страниц научно-фантастических романов шагнули в обычную жизнь. Лидары дистанционного зондирования делают порядка сто тысяч выстрелов лазерным лучом в секунду и стоят около миллиона долларов, зато, установленные на небольших самолетах или вертолетах, дают четкую трехмерную картину местности с точностью по высоте в несколько сантиметров. Благодаря узкому пучку и высокой чувствительности приемника, которые могут улавливать считанные отраженные фотоны, лучи лидаров достигают поверхности земли даже в самом густом лесу. Поэтому лидарное сканирование полюбили археологи Центральной Америки, которые могут, после обработки лидарных данных, «убрать» джунгли и обнажить «голый рельеф», на котором появляются следы древних городов майя и других исчезнувших цивилизаций.

Читать далее

Простейший вариант поиска пути: объяснение на Python

Время на прочтение8 мин
Количество просмотров32K

Как именно мы находим выход из лабиринта? Как быстрее всего проехать из точки А в ближайшую пиццерию? Можем ли мы провести игрового персонажа к выходу так, чтобы он не уперся в стену?

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

В этом руководстве рассмотрен простейший алгоритм поиска пути, основанный на алгоритме Дейкстры. Этот алгоритм также известен под названием поиск по первому наилучшему совпадению, ключевая логика у него общая со многими другими алгоритмами, например, A*, заливка методом наводнения и диаграммы Вороного.

Здесь мы рассмотрим практическое применение этого алгоритма. Вам понадобятся базовые знания программирования и языка Python.

Читать далее

Движок VSO: причиняем добро сценаристам

Время на прочтение13 мин
Количество просмотров6.4K

В этой статье мы расскажем о том, как вместе с «движковой» командой разработали наш внутренний редактор ICS и упростили процесс работы с проигрыванием кат-сцен.

Read more

Алгоритм распознавания лиц [Название_Компании] признан лучшим в мире

Время на прочтение14 мин
Количество просмотров11K

Мы хотим познакомить вас с самым авторитетным на сегодняшний день «чемпионатом мира» по распознаванию лиц, NIST Face Recognition Vendor Test (FRVT) — что он из себя представляет, для чего создан, как проходит соревнование и главное, насколько он действительно важен для разработчиков и бизнеса.

Читать далее

Blue (Голубой) Midnight Wish — еще один алгоритм хэширования (для ценителей)

Время на прочтение6 мин
Количество просмотров2.8K

Привет всем хабровчанам и просто заглянувшим!

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

Итак, сегодня я хочу рассказать вам о Blue Midnight Wish (BMW, да-да, может кто-то еще не понял). Сразу хочу предупредить - это моя первая статья, поэтому будьте нежнее, по возможности...

Читать далее

Знакомство с трансформерами. Часть 3

Время на прочтение13 мин
Количество просмотров7.3K

Первая и вторая части перевода материала о трансформерах были посвящены теоретическим основам этого семейства нейросетевых архитектур, рассказу о способах их использования, демонстрации их реализации с применением PyTorch. Сегодня речь пойдёт об истории трансформеров, будет дан обзор современного состояния дел в этой сфере.

Читать далее

Легковесная криптография: близится финал, осталось 10 кандидатов. Шифры АНБ вне конкурса

Время на прочтение5 мин
Количество просмотров8.1K

Легковесная криптография — искусство компромисса. Как в анекдоте, где из трёх вариантов нужно выбрать любые два

Вся бытовая техника в последнее время становится «умной», оснащается сенсорами, обменивается данными с окружающими устройствами, а иногда и выходит в интернет. Чтобы обеспечить безопасность и приватность этих данных, они обязательно должны быть зашифрованы. Но тут возникает проблема: как выполнять шифрование на маленьких микросхемах со считанными килобайтами памяти и слабыми микроконтроллерами?
Читать дальше →

Закат эпохи алгоритма MD5?

Время на прочтение9 мин
Количество просмотров60K

Почему алгоритм хеширования MD5 постепенно выходит из использования? Разберёмся в его работе и поймём, что же нужно солить.

Читать про MD5

Как работают коды Spotify — часть 2

Время на прочтение8 мин
Количество просмотров6.4K

В первой части мы разобрали общие технические принципы функционирования кодов платформы Spotify, и в завершении я написал, что неуверенность в некоторых деталях не позволила мне реализовать собственный конвертер штрихкодов в URI. Однако благодаря дополнительному исследованию и активной помощи от участников StackOverflow теперь я это преобразование выполнить могу.
Читать дальше →

Ближайшие события

Спец-интервью для Хабра: Грант Сандерсон

Время на прочтение15 мин
Количество просмотров10K
В прошлом месяце я писал новость о том, что Грант Сандерсон, создатель одного из самых популярных YouTube каналов о высшей математике, 3blue1brown согласился ответить на вопросы Хабровчан.

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

Поехали!
Читать дальше →

Рождение Albumentations

Время на прочтение15 мин
Количество просмотров8.4K

В этом посте я расскажу историю появления Open Source библиотеки Albumentations как я ее запомнил. Я не буду углубляться в технические детали. Основная задача текста - логирование, то есть надо написать историю, которую мне будет интересно прочитать через 20 лет.

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

Читать далее

Протокол безопасности транспортного уровня (TLS), версия 1.2 (RFC 5246) (Часть 3.1)

Время на прочтение38 мин
Количество просмотров11K

В статье приводится продолжение перевода на русский язык стандарта IETF - RFC 5246, описывающего работу протокола безопасности транспортного уровня TLS версии 1.2. Данная часть перевода охватывает первую половину описания работы протокола рукопожатия TLS 1.2.

Читать далее

Как работают коды Spotify?

Время на прочтение7 мин
Количество просмотров16K

Коды Spotify подобны QR-кодам. Их можно генерировать для того, чтобы делиться песнями, исполнителями, плейлистами и пользователями. Я решил разобраться в принципе их действия, в результате чего проделал извилистый путь по истории штрихкодов, патентам, сниффингу пакетов, коррекции ошибок и кодам Грея.
Читать дальше →

Криптография и генерация больших однозначно простых чисел — критерий Поклингтона

Время на прочтение4 мин
Количество просмотров9K

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

О применение простых чисел в криптографии и не только можно прочитать здесь, а в данной статье сконцентрируемся на самом алгоритме.

Читать далее

Как нейронные сети заменяют рендеринг

Время на прочтение8 мин
Количество просмотров15K

​Нейронные сети уже везде. И фильтры в фотошопе, и подделка лиц в видео. Но многое пока ещё невозможно. Магические слова "сделай мне видео по моей любимой книжке" пока не работают. Хоть потихоньку мы и движемся к этому. В этой статье я попробую рассказать что сейчас делается в этом направлении и где проходит современный технический прогресс.

В прошлой своей статье я рассказывал про современные генеративные сетки, в первую очередь про StyleGan. Эмбединги и GAN - это красивая математика. Но на практике применений у них пока мало.

Сегодня я немного расскажу о чуть более прикладных подходах и проектах, которые помогают генерировать видео. Тут GANы тоже встречаются, но зачастую как малая часть системы, и куда больше значит логика и схема работ.

Читать далее

Градиентный бустинг с CATBOOST

Время на прочтение7 мин
Количество просмотров23K

CatBoost – библиотека, которая была разработана Яндексом в 2017 году, представляет разновидность семейства алгоритмов Boosting и является усовершенствованной реализацией Gradient Boosting Decision Trees (GBDT). CatBoost имеет поддержку категориальных переменных и обеспечивает высокую точность. Стоит сказать, что CatBoost решает проблему смещения градиента (Gradient Bias) и смещения предсказания (Prediction Shift), это позволяет уменьшить вероятность переобучения и повысить точность алгоритма.

Загружаем набор данных...

Вклад авторов