Обновить
213.89

Алгоритмы *

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

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

Что такое отравление данных при помощи машинного обучения?

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

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

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

Читать далее

Производительность встроенных функций высшего порядка в сравнении с циклом for-in в Swift

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

Самые популярные функции высшего порядка - это map, filter и reduce. Мы все используем их, так как думаем, что синтаксис намного лучше, и писать их даже быстрее, чем старый способ for-in loop. Но так ли это на самом деле? Задумывались ли вы когда-нибудь о производительности этих встроенных функций? Они встроенные, поэтому, естественно, они должны быть лучше, не правда ли? Давайте погрузимся в эти функции вместе, чтобы выяснить, так ли это на самом деле.

Спойлер — не всё так однозначно!

Строковые алгоритмы на практике. Часть 2 — Алгоритм Бойера — Мура

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

В прошлый раз мы с вами разобрали Алгоритм Кнута — Морриса — Пратта, сегодня мы разберем не менее интересный, а на мой личный взгляд, даже наиболее любопытный и изящный алгоритм поиска подстрок в тексте, который подкупает своей гениальной простотой.

Читать дальше →

Как беспроводные сети могут помочь беспилотным машинам?

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

В данной статье мы рассказываем о том, как беспроводные сети могут помочь беспилотным машинам справляться с некоторыми “edge case” ситуациями и описываем подход для упрощения операции поиска объектов, влияющие на свойства беспроводных каналов. 

Итак, начнем!

Читать далее

Запустился бесплатный курс «Подготовка к алгоритмическому собеседованию» от Яндекс Практикума

Время на прочтение2 мин
Количество просмотров19K
Сервис онлайн-образования Яндекс Практикум запустил бесплатный курс «Подготовка к алгоритмическому собеседованию» для специалистов, которые планируют проходить алгоритмические собеседования или просто хотят познакомиться с понятием «алгоритмическая секция».

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

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



Читать дальше →

Реализуем алгоритм поиска в глубину

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

В этом туториале описан алгоритм поиска в глубину (depth first search, DFS) с псевдокодом и примерами. Кроме того, расписаны способы реализации поиска в глубину в C, Java, Python и C++.

“Поиск в глубину” или “обход в глубину” — это рекурсивный алгоритм по поиску всех вершин графа или дерева. Обход подразумевает под собой посещение всех вершин графа.

Читать далее

Сортировка подсчётом beSort или как я изобретал велосипед?

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

Как я изобрёл весьма быстрый велосипед и узнал, что на нём уже кто-то ездит.

Подробнее...

Эффективное хранение графов: матрицы смежности

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

Так случается, что ограничения не позволяют нам хранить матрицу смежности графа размером n^2. В данной статье я описал, как уменьшить этот размер в 8 раз для ориентированного графа и в 2 раза для неориентированного. Битовая и треугольная матрицы смежности - вот что такое эффективное хранение.

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

Фильтрация JSON: как мы проводили конкурс на самый быстрый алгоритм

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

Привет, меня зовут Костя Плешаков, я Архитектор в Quadcode. В статье расскажу, как мы организовали конкурс, который помог решить проблему исключения некоторых данных (в нашем API) в процессе отправки на фронт. В результате мы получили высокопроизводительный алгоритм фильтрации JSON с использованием векторных инструкций Intel® AVX2.

Читать далее

OCR за час? — Не думаю

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

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

Читать далее

Обратная сторона Луны: как мы создали чат-бота с «человеческим лицом»

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

Меня зовут Александр Терехов, я работаю инженером группы классификации и диагностики (КиД) в самарском филиале «Инфосистемы Джет». Несколько лет назад я помогал девушке с дипломной работой, и мы создали чат-бота с психологическим уклоном — он тестировал типы личности и темпераменты. Тогда я настолько проникся этим опытом, что, когда начал создавать чат-бота для нужд технической поддержки, решил добавить в него немного психологии. Так появилась Луна — чат-бот, который помогает в работе инженерам «Инфосистемы Джет» и реагирует на эмоции.

Читать далее

«Эволюция против муравьёв» сравниваем алгоритмы оптимизации

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

Решаем задачу о ранце. Муравьиный алгоритм или генетический лучше? Давайте разбираться.

Читать далее

На графах: операция раскрытия переменной, конечные состояния

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

Возможны ли иные операции на графах кроме тех, что уже используются? Возможны.

Читать далее

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

8 ошибок, из-за которых ты проиграешь в соревновательном Data Science

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

Привет, чемпион!

Если ты читаешь этот пост, значит, тебе стало интересно, не допускаешь ли этих ошибок ты?! Почти уверен, что ты допускал эти ошибки хотя бы раз в жизни. Мы не застрахованы от совершения ошибок, такова наша человеческая натура — ошибаться для нас естественно. Однако, я постараюсь уберечь тебя от тех ошибок, которые совершал сам или замечал у других.

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

STM32. Про синус

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

В статье алгоритмическая оптимизация функции sin() для бюджетных микроконтроллеров stm32, повышающая производительность в 10 и более раз.

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

Читать далее

Строковые алгоритмы на практике. Часть 1 — Алгоритм Кнута — Морриса — Пратта

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

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


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

Читать дальше →

Первые 255 задач на «‎литкоде»‎

Время на прочтение3 мин
Количество просмотров30K
Были годные статьи об аргументированной пользе алгоритмов (например, habr.com/ru/company/geekfactor/blog/597035), тут хочется поделиться личным опытом.

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

Что дано: фронтэнд с элементами nodejs разработки. Знаю javascript, взял java из-за общего префикса и Брюса Эккеля. Язык годный, легко читать, осознал что надо оч много писать после 175 задачек на ресурсе под именем leetcode. Попробовал язык мобилок, язык прекрасный, но не для мобилок. Swift прекрасен и будет еще прекраснее в будущем. До наступления прекрасного будущего решил юзать питон: легко и мало писать, но трудно читать — да и пофиг, так как каждый день новая задачка.
Читать дальше →

Как улучшить любой патент на изобретение в IT, на примере Яндекса

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

«За всю историю человечества было выдано 50 млн. патентов.
Задача — сделать 1 млрд. новых изобретений».
@MagisterLudi

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

Читать далее

Нарративная математика

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

Приложения для игрового вычисления сюжетов и историй.

Активировать

Алгоритмы и рыбалка: как работает мозг программиста в естественной среде обитания

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

Привет, меня зовут Валерий Антонов, я руковожу направлением Java в Уральском банке реконструкции и развития (УБРиР). Сегодня расскажу, как я смог переложить систему алгоритмов на, казалось бы никак с этим не связанное хобби, - рыбалку.

Читать далее

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