Метка «Алгоритмы» - 4

Всего с помощью двух слов можно охарактеризовать такие вещи, как

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

и многое другое. Всё это называется «простейший поток».

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

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

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

Гильош – это специальная технология защиты банкнот, документов, ценных бумаг и других видов полиграфической продукции (билетов, акцизных марок, сертификатов и многих других документов государственного масштаба).

Защита документов обеспечивается путем нанесения на бланки сложных композиций различных гильоширных элементов. Гильоширный элемент представляет собой замысловатый рисунок из множества многократно пересекающихся тончайших кружевных линий (рисунок 1). Обычно такие элементы представлены разного рода защитными сетками, розеттами, бордюрами, виньетками и уголками. Гильош может быть как симметричным, так и асимметричным по своему дизайну.

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

Распознавание гильоширных элементов на примере паспорта РФЧитать полностью »

Embedded Technology 2013 – From Japan with Love
20-22 ноября в Йокогаме прошла ежегодная выставка достижений японских компаний в области встраиваемых решений (ET2013).
Большинство компаний говорили о M2M, сенсорах, energy harvesting'е, энергоэффективных беспроводных коммуникациях и больших данных. Что неудивительно, т.к. японская индустрия в целом продвигает идеи «умного» дома / здания / машины / здравоохранения и вообще чего угодно.
А как только всё это оказывается подключенным к интернету (пресловутый «интернет вещей»), тут на сцену выходят большие данные. Анализ которых, в свою очередь, делает вещи еще более «умными».

Мне лень заниматься глубокой аналитикой и копаться в рекламных буклетах (еще и на японском), поэтому я просто покажу несколько классных и показавшихся интересными вещиц с выставки. Далеко не каждая из них представляет какой-то технологический прорыв, но приятно увидеть что-то, что реально работает «из коробки»
Читать полностью »

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

Введение

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

Идея производящих функций достаточно проста: сопоставим некоторой последовательности <g0, g1, g2, ..., gn> — дискретному объекту, степенной ряд g0 + g1z + g2z2 +… + gnzn +… — объект непрерывный, тем самым мы подключаем к решению задачи целый арсенал средств математического анализа, который как мы все знаем очень большой.

Вышесказанное можно записать с помощью математических формул следующим образом: <g0, g1, g2, ..., gn> <=> g0 + g1z + g2z2 +… + gnzn +…. Обычно говорят, последовательность генерируется, порождается производящей функцией. Важно понимать, что это символьная конструкция, то есть вместо символа z может быть любой объект, для которого определены операции сложения и умножения.
Читать полностью »

Оптимизация перебора поверхностей, составленных из треугольников
Встала задача перебрать все возможные варианты «триангуляций». Это «склейки» из N треугольников, которые подчиняются простым правилам:

  1. Соприкасаться треугольники могут только по ребру
  2. Одно ребро может быть общим только у двух треугольников, не больше

Например, из трёх треугольников уникальных вариантов может быть всего два:
[[A B C], [A B D], [A C D]]
[[A B C], [A B D], [A C E]]

При том, что всего вариантов склеек 120. Мне удалось неплохо оптимизировать процесс перебора, который позволил просчитать почти все варианты вплоть до N = 11, но это всё равно очень мало.
Я расскажу как оптимизировал, может быть у уважаемой публики появятся идеи как этот процесс еще ускорить.
Читать полностью »

Привет!

Мы продолжаем публикации о технологиях оптического распознавания (OCR, ICR) и понимания документов, разработанных специалистами компании Cognitive Technologies. Сегодня наш рассказ о технологиях оцифровки текстовых документов Cognitive PDF/A.

В бизнес-сфере достаточно часто приходится сканировать бумажные документы с целью последующей пересылки по электронной почте или архивного хранения. При качественном сканировании получившиеся изображения-образы зачастую оказываются достаточно большого размера. Например, документ формата А4, отсканированный в цветном режиме при разрешении 300 DPI, имеет размер порядка 25 Мб. Использование файлов таких больших размеров неэффективно в электронных архивах, поэтому все больший интерес обретают технологии сжатия получившихся электронных образов. Классические технологии сжатия изображений (JPEG, RLE, Deflate и т.п.) не применимы, так как в общем случае документы могут содержать как монохромный текст, так и полноцветные графические области. Алгоритмы сжатия изображений без потерь, результативные для монохромных текстов, неэффективны для полноцветной графики, в то время как сжатие с потерями демонстрирует высокие показатели для цветных изображений, однако сильно искажает текстовую информацию (Рис. 1). Поэтому обычно для сжатия изображений такого типа используют комбинированный подход.

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

Рассмотрим простую задачу: есть некоторый достаточно большой неизменный набор чисел, к нему осуществляется множество запросов на наличие некоторого числа в этом наборе, необходимо максимально быстро эти запросы обрабатывать. Одно из классических решений заключается в формировании отсортированного массива и обработке запросов через бинарный поиск. Но можно ли добиться более высокой производительности, чем в классической реализации? В этой статье мне хотелось бы рассказать про Cache-Conscious Binary Search. В данном алгоритме предлагается переупорядочить элементы массива таким образом, чтобы использование кэша процессора происходило максимально эффективно.Читать полностью »

Не так давно наткнулся на статью о том, как Michael Kozakov не смог решить алгоритмическую задачу на собеседовании в Twitter. Решение этой задачи — почти в чистом виде один из самых стандартных алгоритмов на графах, а именно, алгоритм Дейкстры.
В этой статье я постараюсь рассказать алгоритм Дейкстры на примере решения этой задачи в несколько усложненном виде. Всех, кому интересно, прошу под кат. Читать полностью »

Привет!

Этой статьей мы начинаем серию публикаций о технологиях оптического распознавания (OCR, ICR) и понимания документов, разработанных специалистами компании Cognitive Technologies. Многие из этих решений более 10 лет успешно функционируют в разных организациях и помогают оптимизировать процессы обработки бланков Пенсионного фонда, анкет на получение загранпаспорта, платежных поручений Сбербанка РФ, результатов голосования акционеров Газпрома и десятки других документов.
Сегодня наш рассказ об одной из наиболее сложных и интересных с научной точки зрения проблем, которую приходится решать при распознавании деловых документов, это снятие помех или отделение полезной информации от «мусора».
Вначале необходимо определить, что речь идет о документах с рукопечатным заполнением, построенных по заранее известной форме.
Читать полностью »

Латентно семантический анализ и поиск на python

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

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

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


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