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

Вычисление центра масс за O(1) с помощью интегральных изображений - 1

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

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

В этой статье я расскажу:

  • Что за задача такая, о которой идет речь;
  • Подробнее об интегральных изображениях;
  • Как использовать интегральные изображения для приближенного решения гравитационной задачи N тел применительно к дискретному полю импульсов (масс-скоростей);
  • Какой недостаток имеет это решение и как его исправить;
  • И, наконец, как за константное время вычислить центр масс для произвольного региона.

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

Julia и квантовые вычисления - 1

Мы представляем Yao (статья), пакет с открытым исходным кодом Julia для решения практических задач в исследованиях квантовых вычислений. Имя Yao происходит от первого китайского иероглифа, означающего унитарность (幺正).

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

Привет.

Сегодня мы предлагаем вам перевод статьи, затрагивающей не самую обсуждаемую тему: компиляцию кода в Python, а именно: работу с абстрактным синтаксическим деревом (AST) и байт-кодом. Притом, что Python является интерпретируемым языком, такие возможности в нем чрезвычайно важны с точки зрения оптимизации. О них мы сегодня и поговорим.
Читать полностью »

Обсуждаем мнения ИТ-сообщества и экспертов индустрии. Также рассмотрим пару проектов, в рамках которых разрабатывают инструменты для генерации «искусственных» данных. Один из них представили выходцы из Агентства национальной безопасности США и Google.

Почему в машинном обучении используют «синтетические» данные - 1Читать полностью »

Рубрика «Читаем статьи за вас». Январь — Февраль 2020 - 1

Привет! Продолжаем публиковать рецензии на научные статьи от членов сообщества Open Data Science из канала #article_essense. Хотите получать их раньше всех — вступайте в сообщество!

Представлены обзоры 11 статей по Computer Vision, Natural Language Processing, Reinforcement learning и другим темам.

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

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

В этом посте я расскажу о том, как родилась эта идея и как мы реализовали её с помощью двух нейросетей, одна из которых используется в поиске Яндекса.

Как мы создавали галерею нейросетевого искусства и почему не даём копировать картины - 1

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

До 2020 года в Школу анализа данных могли попасть только те, кто очень глубоко и творчески владеет высшей математикой. Но этим качеством обладают не все способные люди, интересующиеся data science и инфраструктурой больших данных. Нередко разработчики, аналитики и молодые исследователи не помнят математику 1-2 курса вуза настолько хорошо, чтобы преодолеть наши вступительные экзамены. В этом году мы хотим дать таким людям возможность всё-таки попасть в ШАД. Мы организовали для них специальный трек поступления, о котором я расскажу ниже.

Но мало в ШАД попасть. Матанализ, линейная алгебра и теория вероятностей будут нужны дальше: без них не удастся разобраться с байесовскими методами, корректно оценить асимптотику сложности быстрой сортировки, написать хитрый метод многомерной оптимизации. Поэтому мы создаём принципиально новый адаптационный курс по математике. Все, кто поступят в ШАД по новым правилам, должны будут пройти этот курс.

Берём не только крутых математиков. Новый способ поступить в ШАД с опытом в IT - 1
Читать полностью »

1. Введение

Влияние подпрограмм (англ. subroutine) на программирование без преувеличения огромно. Введенные на заре программирования они не теряют своей актуальности и поныне. Без них практическое программирование представить просто невозможно. Хотя с формальной точки зрения они не так уж и нужны, т.к. чистую теорию интересуют больше свойства алгоритма, чем его размеры.

В теории автоматов понятие вложенных автоматов, на базе которых строилась бы практика автоматных подпрограмм (АПП), обсуждается редко. Подобная (вложенная) иерархическая организация автоматов, если и рассматривается, то весьма поверхностно. Одной из причин подобного отношения может служить сложность реализации вложенной иерархии на аппаратном уровне [1, 2].

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

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

Привет, меня зовут Вася Рубцов, я занимаюсь разработкой рекомендательных систем в Авито.

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

Два основных продукта, которым занимается отдел рекомендаций в Авито, — это рекомендации для пользователя на главной странице или user2item и блок похожих объявлений на карточке товара или item2item. Треть всех просмотров объявлений и четверть всех контактов происходит с рекомендаций, поэтому рекомендательные движки играют важную роль в Авито.

В статье я расскажу, как мы улучшили наши item2item рекомендации за счёт item2vec и как это повлияло на user2item рекомендации.

Как мы используем item2vec для рекомендаций похожих товаров - 1

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

Архивы памяти: как мозг кодирует и воспроизводит воспоминания - 1

С одной стороны мозг человека достаточно понятен, с другой — полон загадок и вопросов, на которые пока нет ответов. И тут все логично, учитывая, что данная система чрезвычайно сложна как с точки зрения архитектуры, так и с точки зрения протекающих процессов и связи между ними. Если по классике сравнивать мозг с компьютером, то помимо обработки информации, он выполняет и ее хранение. Любое воспоминание изымается из архивов памяти под влиянием какого-то стимула: знакомый аромат, мелодия, слова и т.д. Однако остается вопрос — где этот архив и что способствует его открытию? Ученые из NINDS (Национальный институт неврологических расстройств и инсульта) изучили мозг пациентов, больных устойчивой к препаратам эпилепсией, чтобы выявить и попытаться объяснить механизмы извлечения воспоминаний. Так как же мы вспоминаем, что происходит в мозге в этот момент и почему исследование проводилось с участием больных эпилепсией? Об этом мы узнаем из доклада ученых. Поехали.Читать полностью »


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