Вычисление стихотворного размера

Привет, Хабр! Расскажу о решении нестандартной задачи: алгоритм определения силлабо-тонического стихотворного размера по строке на русском языке. Опишу все нюансы и неочевидные подводные камни, с которыми столкнулся.

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

Привет, Хабр! Расскажу о решении нестандартной задачи: алгоритм определения силлабо-тонического стихотворного размера по строке на русском языке. Опишу все нюансы и неочевидные подводные камни, с которыми столкнулся.

В этой публикации я представляю поверхностный обзор статьи от исследователей LinkedIn «Representation Learning in Heterogeneous Professional Social Networks with Ambiguous Social Connections». В указанной статье частично представлена структура графа знаний LinkedIn’s Economic Graph и относительно подробно описан метод обучения эмбеддингов Star2Vec. Я попытаюсь объяснить основные этапы построения векторных представлений, что называется "на пальцах".
Т. к. это лишь поверхностный обзор, от читателя требуются следующие познания:
1. Skip-gram и его адаптация под графы (word2veс, LINE, DeepWalk);
2. общие понятия о графах знаний.

Всем привет! Расскажу про нашу разработку, которая изменит подход к обработке данных в корне.
Мы разработали новый математический алгоритм обработки данных и программный продукт на его базе (кодек), позволяющий работать со сжатием битовых потоков любого формата (статические/динамические) – то есть, кодек позволяет проводить более глубокое сжатие уже существующих файлов (видео, изображения, архивы и т.д.), так и осуществлять сжатие исходных «сырых» данных.
Заложенная в алгоритме обработка представляет собой механизм квантования с применением многоцентричной развертки и алфавита изображения. Такой подход кардинально отличается от всех существующих на сегодня вариантов сжатия данных, базирующихся на принципе энтропийного сжатия.
Сжатие данных без потерь с дополнительной компрессией до 50% (не предел), является важным преимуществом и обеспечивает потенциальную возможность интеграции продукта практически в любые существующие программные решения. Также разработан алгоритм управления качеством визуализации изображения в зависимости от степени сжатия и конкретных приложений.

В настоящее время существует огромное количество консенсус алгоритмов для блокчейн систем, каждый из которых имеет свои преимущества и недостатки присущие только ему, либо целому классу сходных алгоритмов. Так или иначе, в данное время лидирует две концепции консенсуса - основанные на майнинге (PoW) [1] и форжинге (PoS) [2], которые в свою очередь представляют конкурентную и последовательную модели генерации блоков непосредственно. Такое разделение либо предполагает крайне большое расходование материальных ресурсов, либо представляет собой необходимость комбинации с другими методами консенсуса [3], что приводит к сложности реализации, а следовательно и к проблеме доказуемой безопасности конечного решения [4, с.319]. Альтернативной моделью конкуренции и последовательности может являться алгоритм объединения узлов (PoU), решающий общую задачу сообща и главным преимуществом которого является простота реализации, сродни PoW и быстрота генерации блоков, эквивалентная PoS.

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

Всем привет! Однажды меня попросили решить такую задачку в области транспортной логистики:
Есть грузовые машины, которые изначально готовы стартовать в разное время из разных географических точек.
Есть груженые рейсы, на которые нужны эти машины. Погрузка в среднем займет какое-то известное время, затем машина должна доставить груз в пункт назначения. Потом она может ехать на следующую погрузку и т.д.
Нужно написать математическую модель, которая скажет для каждой машины, на какую погрузку более оптимально её направить, чтобы максимально количество груженых рейсов было бы обслужено.
Поскольку я работала на тот момент с IBM Cplex Solver, то его и взяла в качестве ядра решателя. А как я решала эту задачу – всё под катом.

Что из себя представляет тестирование и анализ алгоритмов? Давайте разберемся в этом на практике.

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

Каждый C++-разработчик хотя бы слышал о Boost – это, пожалуй, наиболее распространенный набор внешних библиотек, используемый в мире C++. Истоки большинства стандартных библиотек восходят к Boost, поскольку многие разработчики Boost также входят в состав комитета по стандартам C++ и именно они определяют, в каком направлении будет развиваться язык – поэтому можете считать Boost своеобразным дорожным указателем. Возвращаясь к заголовку этой статьи - 'Boost' содержит много популярного функционала, вспомогательных библиотек, так, что, если вы столкнулись с какой-нибудь распространенной проблемой – первым делом обращайтесь к Boost, так как велики шансы, что там для вас найдется готовое решение.

for i = 1 to n do
for j = 1 to n do
if A[i] < A[j] then
swap A[i] and A[j]
flag содержит один символ.[::-1] переворачивает строку flag.reversed_flag должна быть равна "
".
Настоящее всё больше походит на то, что некогда представлялось фантастикой. Меня зовут Павел Дудукин, руководитель Data Science-направления в Центре развития финансовых технологий (ЦРФТ) Россельхозбанка, и в этой статье расскажу, как мы вышли в финал международного конкурса Autonomous Greenhouse Challenge и что нас ждет дальше.
Объединённая команда Россельхозбанка (РСХБ) и Московского физико-технического института (МФТИ) приняла участие в хакатоне Autonomous Greenhouse Challenge в 2021 году. Там собрался народ, заинтересованный в автоматизации тепличного выращивания сельхозкультур. Наша команда заняла второе место, уступив лишь объединённой команде университетов из Китая. Мы опередили участников из Стэнфордского университета, MIT, международного концерна BASF, Технического университета Мюнхена и др.
Интересно, что смогла придумать наша команда? Тогда добро пожаловать в нашу теплицу.

Привет, Хабр!
Не так давно писал гиперказуальную игру с примитивной механикой, а именно: максимально быстро и точно повторить кривую линию. Идея максимально простая, но задача сравнения двух кривых оказалась довольно интересной. В этой статье я опишу разные идеи, которые рассматривал (в основном провальные) и конечный вариант, к которому я пришел.

Использовать стандартные библиотеки и общеизвестные реализации алгоритмов — признак хорошего тона. Вместо изобретения своего алгоритма шифрования данных или своей хэш функции лучше взять уже готовое решение. Избегаем ошибок и не изобретаем велосипед заново. Но что если готового решения нет? В наше время это что-то невероятное. Есть github.com, есть набор платных решений.Тем интереснее обсудить необычную проблему. В данной статье расскажу о своем опыте оптимизации работы с данными, которые по своей природе представляют граф. А точнее сеть — разновидность графов.


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

Привет, Хабр! Меня зовут Андрей Ткаченко, я руковожу направлением прогнозирования промо в «Магните». Наша команда запускает цикл статей о прогнозировании промо: мы приоткроем дверь в мир процессов, технологий и алгоритмов крупного российского ритейла, а также поделимся собственным опытом.
Во вводной статье мы расскажем о разнице между промо и регулярными продажами, о команде и истории развития направления прогнозирования в «Магните», а также объясним, почему качественный прогноз промо важен для бизнеса.
Составить расписание всегда былом делом непростым. Доверить эту задачу компьютеру решались не все, потому что задача NP-полная и алгоритмического решения «в лоб» за обозримое время не имеет. (объяснение)
Недавно ко мне в руки попал пакет математического решателя IBM CPLEX Solver и я попробовала сделать помощника для составления школьного расписания.

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