Рубрика «алгоритм» - 6

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

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

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

Отдавать реализацию на аутсорс слишком дорого и не гарантирует наилучшего решения. Отдать на откуп фрилансеру — дешевле, но и решение скорее всего будет таким же дешевым и основанным на существующих библиотеках, типа OpenCV. Но если бы задача решалась так просто, то конкуренты уже давно бы этим воспользовались и сделали достойный продукт, но его на рынке нет. В общем, присущие нам перфекционизм, амбициозность и желание быть лучшими, не позволяют нам выводить на рынок продукт «как у всех», нам нужно лучше, быстрее, сильнее. Приняли решение самостоятельно разобраться в вопросе, выработать решение, написать подробное техническое задание и уже отдать на реализацию фрилансеру. Была надежда, что существуют готовые решения, которых просто не заметили конкуренты. Но изучив вопрос (а вместе с ним и алгоритмы ORB, BRIEF, FAST, SIFT, SURF, BRISK, A-KAZE, Viola-Jones и еще несколько) стало понятно, что у всех этих алгоритмов есть свои недостатки. Хотя для решения нашей задачи некоторые из вышеперечисленных алгоритмов и подходили, но как то неожиданно захотелось уникальности и простоты решения. И вот выношу на суд сообщества, алгоритм собственного сочинения.

Любителей покритиковать (конструктивно) прошу под кат.
Читать полностью »

Алгоритм нахождения эквивалентных точек оси абсцисс функции многочлена - 1
Уважаемыее, приветствую! Продолжаем цикл околоматематических статей, предыдущая расположена тут. Напомню, что я лишь дилетант математики, занимающийся её морально-эстетической стороной, и мои идеи могут показаться вам неинтересными/бесполезными/etc. Итак:
Для начала верным шагом будет введение аксиоматики на счет термина «эквивалентности» в данном контексте:

  • Если некоторая координата оси абсцисс image из числового множества удовлетворяет следующему условию:
    image
    То считается, что image (то есть image эквивалентна image)

Такая аксиоматика в рамках этой статьи удобства ради, и, строго говоря, не совсем корректна.
И сразу бы неплохо ответить на традиционный вопрос: «извините, а зачем это надо?». Отвечаю — как минимум, для поиска остальных корней уравнения многочлена (перейдя от уравнения к функции), зная лишь один корень. А также многообразие менее очевидных вещей. Сейчас мы и займемся разрешением этой задачи, а затем приведем алгоритм в общем виде. Для заинтересовавшихся милости прошу под кат.Читать полностью »

imageВ следующую пятницу 20 января в 19.00 состоится очередной Moscow Blockchain Developers Meetup. Темами предыдущего мероприятия стали: технология Lightning Network и протокол доказательства с нулевым разглашением Zero-knowledge proof. В ходе январского митапа речь пойдет о подходе Microsoft к блокчейн-инструментам, а также об алгоритме защиты Proof-of-stake.
Читать полностью »

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

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

Можно ли вычислять биткоины быстрее, проще или легче? - 1
Все началось с того, что я решил поближе познакомиться с биткоинами. Хотелось понять, как их добывают. Статьи про биткоины и блокчейны последнее время встречаются часто, но таких, чтобы со всеми техническими подробностями, таких не очень много.

Самый простой способ разобраться во всех деталях — изучить открытые исходники. Я взялся изучать Verilog исходники FPGA майнера: https://github.com/progranism/Open-Source-FPGA-Bitcoin-Miner.git. Это не единственный такой проект, есть еще несколько примеров на github, и все они, хоть и разных авторов, похоже работают приблизительно по одной схеме. Вполне возможно, что автор то у них всех изначально был один, просто разные разработчики адаптируют один и тот же код под разные чипы и разные платы… По крайней мере мне так показалось…

Вот и я, поизучав исходники Verilog, адаптировал проект с github к плате Марсоход3 на основе ПЛИС Altera MAX10, 50 тыс. логических элементов. Я смог запустить свой майнер и даже смог запустить процесс вычисления биткоинов, но бросил это дело через пол часа из-за бесперспективности. Слишком медленно по нынешним временам работает мой FPGA майнер. Ну и пусть.

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

imageУже в этот четверг 22 декабря в 19.00 состоится вторая встреча Moscow Blockchain Developers Meetup. Наш предыдущий митап был посвящен аутентифицированным структурам данных в блокчейн-системах и протоколу Bitcoin NG, позволяющему создавать 2 типа блоков и существенно увеличить скорость операций блокчейна. Темы предстоящей встречи – технология Lightning Network и протокол доказательства с нулевым разглашением Zero-knowledge proof.
Читать полностью »

Всем привет!

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

Этот алгоритм является гибридом широко известных быстрой сортировки и поразрядной сортировки.

Подробности — под катом.
Читать полностью »

Кнут — первый, кто получил премию имени Грейс Мюррей Хоппер. Еще среди его ачивок — медаль фон Неймана, Тьюринга, премия Киото и Национальная научная медаль США.

Дональд Кнут: про Ричарда Фейнмана, награды и алгоритм КМП - 1

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

В этой статье я расскажу и покажу свой способ сегментации строк на слова. Если вам не интересна жизнь сибиряка в тропиках, можете смело пропускать вступление.

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


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