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

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
Читать полностью »

Введение

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

Подготовка

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

sealed trait MathAST

И его наследников:
Читать полностью »

Facebook уволил редакторов — и алгоритм пошёл вразнос - 1

Модуль подбора «Популярных новостей» в новостной ленте Facebook работает очень хитро. «Список тем персонализируется на основе разных факторов, включая ваши отметки «Нравится» для Страниц, ваше местонахождение и те новости, которые популярны по всему сайту Facebook», — сказано в справочном центре. На сегодняшний день раздел «Популярное» со списком популярных тем (Trending Topics) доступен только на английском языке в некоторых странах.

Исторически, в Facebook работал отдел редакторов, который модерировал список популярных новостей, потому что в социальной сети нередко распространяются вирусные и фейковые новости с непроверенными источниками. Редакторы удаляли фейки и добавляли в список материалы из надёжных источников. Предполагалось, что выбор редакторов в том числе поможет обучать алгоритм. Человеческая модерация не вызывала особых претензий, пока в США не началась избирательная кампания перед президентскими выборами. И на сцену не вышел известный политик — идеальный генератор вирусных новостей.
Читать полностью »

В этом посте речь пойдёт о реализации процедуры вычисления значения функции распределения Стьюдента без использования каких-либо специальных математических библиотек. Только Java (либо C/C++, код вполне универсален).

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


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