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

EricGrig

Предисловие

Я хотел бы начать предисловие со слов благодарности двум замечательным программистам из Одессы: Андрею Киперу (Lohica) и Тимуру Гиоргадзе (Luxoft), за независимую проверку полученных мною результатов, на начальном этапе исследования.

1. Статья «Linear algorithm for solution n-Queens Completion Problem» была опубликована в (arXiv.org) в начале первого дня 2020 года. Изначально статья была написана на русском, поэтому здесь представлено базовое изложение, а там — перевод.

2. Данная задача, и некоторые другие из множества NP-Complete (задача выполнимости булевых формул (3-SAT), задача о поиске максимальной клики, или клики заданного размера …) в разное время, входили в сферу моих интересов. Я искал алгоритмическое решение на основе различных вычислительных экспериментов, но конкретного успеха не было. Это было похоже на то, как человек пытается научиться подтянутся на турнике на одной руке. Результата нет, но каждый раз появляется надежда, что скоро все получится. Последний раз я решил, что следует подольше остановиться на задаче n-Queens Completion (как одной из представителей семейства) и попытаться что-то сделать. Здесь уместно вспомнить замечательный Одесский анекдот: «В переполненном автобусе, который вечером по ухабистой дороге возвращается в пригород, раздается голос женщины – Мужчина, если уж полностью на меня легли, так сделайте хоть что-нибудь».

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

— в матрице решения n строк, в какой последовательности следует выбирать индекс строки, если число возможностей для такого выбора составляет n!
Читать полностью »

Работая в онлайн магазине с ассортиментом более 15000 позиций передо мной встала задча — как правильно отсортировать товары чтобы люди быстрее находили то что им нужно.

Это был далекий 2015 год. На тот момент уже был опыт работы в e-commerce разных масштабов и стандартные решения «по популярности» не устраивали. Начались поиски как это сделать наилучшим образом.

Были определены следующие задачи:

  • Полная автоматизация
  • Разных сегменты товаров по цене (присутствие как дешевых так и дорогих товаров)
  • Приоритет по просмотрам
  • Приоритет по продажам
  • На первые 10 позиций должны приходится все популярные товары по:
    • цене
    • просмотрам
    • продажам
    • доходности

В итоге получилась формула которая учитывает все эти данные и считает автоматически.
Читать полностью »

Привет!

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

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

Как реализовать этот кейс на старом-добром Python — читаем под катом! Поехали!

Multiprocessing и реконсиляция данных из различных источников - 1

(Источник картинки)
Читать полностью »

Исследователи хотят использовать игру Mega Man 2 для обучения нейросетей - 1

Источник: Nintendo

Разработчики из Бразилии, Нидерландов и Великобритании создали игровую соревновательную платформу EvoMan, которая имитирует игру Mega Man 2. Платформа разработана для обучения нейросетей. С её помощью исследователи проверят способность искусственного интеллекта не только выучить правила игры, но и адаптировать своё поведение под каждого из игровых боссов. Читать полностью »

Или всё-таки под Елочку?

Нет, под Ёлочку! Теперь точно с Ё, потому что это статья про ёфикацию!

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

Рисуем морозные узоры на SQL - 1

Немного SQL-магии под катом: математика, рекурсия, псевдографика.

Вспоминаем под Новый год формулу угла между векторами:
Рисуем морозные узоры на SQL - 2
Читать полностью »

Сортировка «Американский флаг» - 1


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

image

Введение

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

Блокнот Mathematica для воспроизведения результатов можно найти здесь, а pdf-версия находится здесь.

Что такое дизеринг?

Дизеринг (Dithering) можно описать как намеренное/осознанное внесение в сигнал шума для предотвращения ошибок большого масштаба/низкого разрешения, возникающих вследствие дискретизации или субдискретизации.

Если вы когда-нибудь работали с:

  • Аудиосигналами,
  • Палитровыми форматами изображений 90-х

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

Однако я обнаружил в Википедии довольно удивительный факт о том, как впервые был определён и использован дизеринг:Читать полностью »

Робомобиль DeLorean научили дрифтить - 1

Источник: Stanford

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

Инженеры оснастили DeLorean автоматическим управлением и бортовыми компьютерами ещё в 2015 году. Робомобиль, который они назвали MARTY в честь главного героя фильма «Назад в будущее» Марти Макфлая, совершенствовался последние четыре года. Для обучения MARTY исследователи использовали записи дрифта профессиональных водителей. Все механические системы DeLorean были заменены на электронные, которые управляются бортовыми компьютерами. Компьютеры, в свою очередь, получают данные о движении робомобиля с GPS-датчиков. Читать полностью »

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

В данной статье мы разберемся, как откалибровать робота, чтобы иметь возможность переходить между Системой Координат робота и СК 3D-камеры.
Добавляем роботу глаза - 1
Читать полностью »


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