УДК 519.212
Программы рекурсивных аналитических вычислений в задачах анализа случайных точечных изображений*
А.Л. Резник, А.А. Соловьев, А.В. Торгов
Институт автоматики и электрометрии СО РАН (Новосибирск, Россия)
Programs of Recursive Analytical Calculations in Problems of Random Point Images Analysis
A.L. Reznik, A.A. Soloviev, A.V. Torgov
Institute of Automation and Electrometry SB RAS (Novosibirsk, Russia)
Обсуждается подход к решению сложных вероятностно-комбинаторных проблем, основанный на разработке и применении специализированных программных систем для проведения аналитических преобразований на ЭВМ. Рассмотрена одна из задач, связанная со случайным разбиением интервала, возникающая при исследовании надежности считывания дискретно-точечных полей и цифровых изображений, для которой удалось получить новые ранее неизвестные аналитические формулы. Эффективность разработанных программных систем обеспечивается двумя факторами: во-первых, разработкой высокоскоростных специализированных рекурсивно-комбинаторных алгоритмов; во-вторых, их программной реализацией на высокопроизводительных вычислительных кластерах с использованием современных инструментальных и языковых средств (в частности, С++ и MPI).
Приведены примеры частных решений задачи, полученных с помощью разработанных систем машинной аналитики. Продемонстрирован эффективный подход к решению сложных вероятностно-комбинаторных задач, когда компьютер выступает не просто в роли мощного вычислителя, а как эффективный помощник, обладающий обширным набором алгоритмов и программ для проведения сложных и разветвленных аналитических преобразований.
Ключевые слова: рекурсивные алгоритмы, аналитические преобразования, вычислительный кластер.
DOI 10.14258/izvasu(2020)4-18
The paper discusses an approach to solving complex probabilistic combinatorial problems. The approach is based on the use of specialized software systems for analytical transformations for computing systems. One of the problems associated with the partition of the interval (which arises in the study of the reliability of reading discrete-point fields and digital images) is considered in the paper, and new previously unknown analytical formulas have been successfully obtained. The efficiency of the developed software systems is ensured by two factors: firstly, the development of high-speed specialized recursive-combinatorial algorithms; secondly, the software implementation on high-performance computing clusters using modern programming and development tools (such as C ++ and MPI).
Examples of particular solutions to the described problem that are obtained with the help of constructed computer systems are presented. An effective approach to solving complex probabilistic combinatorial problems is demonstrated. For the proposed approach, a computer is not just a powerful "calculator", but is an effective assistant with a wide range of algorithms and programs for complex and branched analytical transformations.
Key words: recursive algorithms, analytical transformations, computing cluster.
Введение
В наших исследованиях, связанных с изучением надежности считывания случайных дискретно-точечных изображений, проводимых с помощью ин-
теграторов с ограниченным числом пороговых уровней [1-2], возникла необходимость в решении одной простой по постановке, но в действительности весьма сложной вероятностно-комбинаторной задачи, об-
*Работа выполнена при поддержке РФФИ (проект №19-01-00128 А) и Министерства науки и высшего образования (проект № ЛЛЛ-Л17-117052410034-6).
Программы рекурсивных аналитических вычислений...
щее решение которой на сегодняшний день неизвестно. Ее краткая формулировка такова:
«Требуется найти вероятность Pnk(e) события, состоящего в том, что при случайном бросании n точек на интервал (0,1) не будет образовано ни одной £-группировки, содержащей более k точек».
Аналитическое решение этой задачи известно [3-5] лишь для случая, когда k=1:
Рд(е) = (1 - (n — 1)е)", (0 < е < 1/(n-1)). (1)
Для k>1 решение усложняется настолько, что в общем виде его не удается получить даже для k=2. К сожалению, существующие методы решения проблем, связанных со случайным разбиением интервала [6-7], к которым относится эта задача, не позволяют вычислить вероятности Pnk(e, L) при произвольных значениях n и k. Поэтому для продвижения в решении этой задачи нами было разработано несколько методов и программных систем аналитических преобразований для ЭВМ, которые позволили получить частные решения данной задачи для фиксированных параметров n и k. Их быстродействие удалось существенно повысить с применением методов параллельных вычислений. В качестве языка программирования был выбран C++ для специализированного вычислительного кластера с использованием MPI [8-10].
Аналитический расчет формул на ЭВМ
Опишем один из наиболее эффективных узкоспециализированных алгоритмов вычисления вероятностей Pn k(e) для фиксированного значения k=2. В основе схемы лежит составление рекурсивных уравнений для дискретно-комбинаторной модели процесса регистрации случайных точечных изображений.
Итак, по аналогии с известным решением (1) для k=1 мы попытались найти общее аналитическое решение Pnk(e) для случая k=2. Отличительная особенность рекурсивного подхода от других использовавшихся нами алгоритмов программно-аналитического решения поставленной задачи — при его создании использовался принципиально другой математический аппарат. На первом этапе чисто комбинаторными методами строились рекурсивные соотношения, с помощью которых в дальнейшем рассчитывались дискретные прототипы формул Pn2(е). Затем для последовательно возрастающих значений целочисленного параметра n из таких дискретных аналогов-прототипов посредством предельного перехода вычислялись «непрерывные» вероятностные формулы Pn (е).
Краткая суть использованной комбинаторной модели такова. Интервал (0,L) интерпретировался как совокупность г равных дискретов. Случайное бро-
сание п точек на интервал (0,1) заменялось случайным бросанием п неразличимых шаров по г ящикам. Множество, объединяющее I смежных ячеек, служило аналогом подынтервала длиной е. Бросание, в результате которого ни один из таких /-подынтервалов, содержащихся внутри исходного г-интервала (0,1), не имел более 2 точек, считалось «успешным», а отношение общего числа «успешных» бросаний Q(г, п, I) к общему числу исходов опыта Q(г,п) принималось в качестве целочисленного аналога вероятности Рп2(е). Если бы имелась возможность найти замкнутое аналитическое выражение для общего числа «успешных бросаний» Q(г,п,I), то это было бы эквивалентно полному решению задачи для к=2. В этом случае вероятность Рп2(е) вычислялась бы простым предельным переходом
D ^ Г Q(r, n, l) Pn2(e) = lim
(l/r)
Q(r,n)
(2)
поскольку выражение для общего числа бросаний Q(r,n) известно [11]:
Q(r ,n) = Crn—r—1 =
(n + r — 1)! n!( r — 1)!
(3)
Прежде чем привести рекуррентно-рекурсивные соотношения, использовавшиеся нами для расчета числа «успешных» бросаний Q(г,n,l), введем ряд соглашений относительно дальнейших обозначений. Количество шаров п запишем в таком виде: п=2М+5; N=0, 1, 2,...; 5=1, 2. Общее число «удачных» бросаний п шаров по г ящикам при условии, что один шар попал в 1-й ящик, один шар — в ¡-й, а остальные попали в ящики с номерами, большими, чем i (¡<Т), обозначим q(i,г,n,l).
При фиксированном п функции q(i,г,n,l) и Q(г,n,l) представляют собой кусочно-полиномиальные выражения относительно остальных аргументов. Для полиномов, описывающих поведение этих функций на отдельных участках, введем такие обозначения:
q(i,r,n,l) = q(i,r,n,l) q(i,r,n,l) = q(i,r,n,l) q(i,r,n,l) = q(i,r,n,l) Q0(r,n,l) = Q(r,n,l) Q(r,n,l) = Q(r,n,l)
при (N+2)l < r; при (N+1)l < r <(N+2)l; при NL < r <(N+1)l; при (N+1)l < r; при NL < r <(N+1)l.
Тогда сами рекуррентные соотношения будут выглядеть следующим образом: для 3=2 (п четно):
^е
q0(i,г,п,/) = Q0(r -/ - ¡,п- 2,/) + ^Q0(r - 21 - ¡1,п- 3,/) +
¡1 =0 г I
+ ^ ^ ^¡^г-/ -il,п-2,0;
¡1 =0 ¡2 =¡-¡1 ¡ г-М-1
^(¡,г,п,/) = Qo(r -/ -¡,п-2,/) ^ q0(i2,г -/- ¡1,п-2,/);
¡1 =0 ¡2 =¡-¡1
q2(г, г ,п, /) = 0;
г к-М
Qo(r ,п, /) = к, п,/);
к=№ ¡=0
I
Q1 (г ,п, /) = Q1 (г -1, п, /) + Q1 (г - /,п -1, /) + ^ q0(г, г, п, /);
(4)
для 5=1 (п нечетно):
q0(i, г, п,/) = Q0 (г - / - ¡,п - 2,/) +
+^0(г - 2/ - ¡1,п- 3,/) + ]Т q0(i2,г - / - ¡1,п- 2,/);
¡1 = 0 ¡1 =0 ¡2
q1 (¡,г,п,/) = Q1 (г - / - ¡,п - 2,/) +
¡ ¡ г-М-1
+£ Ql(r - 2/ - ¡1, п - 3,/) + £ ^ ql (¡2, г - / - ¡1,п - 2,/)-
^ q2(i2,г - / - ¡1,п - 2/);
¡1 =0 ¡2=г-м-1 г-м г-м /
q2(i, г, п,/) = ^ Ql(r - 2/ - ¡1 ,п - 3, /) + ^ ^ q2(i2, г - / - ¡х, п - 2,/);
¡1 =0 ¡1 = 0 ¡2 =¡-¡1 г к-М
Qo(r, п,/) = к,п,/);
Ql(r, п,/) = £
Q1(k-/,п-1,/) + ^q1 (¡,к,п,/) + ^ q2(i,к,п,/)
(5)
По соотношениям (4) и (5) последовательно и Q1(r,n,/) как функций от г и / при фиксированном для п=3, 4, 5,... происходит расчет формул Q0(r,n,/) значении п. Затем вычисляются пределы
Нш
Qo(r, N, /) и Нш Ql(r, N, /)
Q(r, п) Q(r, п)
(6)
Начальные данные для инициации рекуррентно-ре- Анализ «компьютерных» формул
курсивного вычислительного процесса берутся из три- Полученные «компьютерные» формулы позволи-
виальных соображений, когда п=0,1,2. Из-за большого ли существенно продвинуться в решении сформули-
объема вычислений, необходимых для осуществления рованной выше задачи. Примеры таких формул при-
описанной рекурсии, весь алгоритм комбинаторного рас- ведены в таблицах 1 и 2. чета был реализован в виде компьютерной программы.
Таблица 1
Программно рассчитанные вероятностные формулы Рпк(е) для п=4 и к=2
£ £«М
(0,1/2) 1-24е2+12е3-14£4
(1/2,1) 2-8£+12£2-8£3+2£4
Программы рекурсивных аналитических вычислений.
Таблица 2
Программно рассчитанные вероятностные формулы Pnk(s) для n=8 и k=2
£ PM(£)
(0,1/4) 1-168£2+1232£3-1260£4-18480£5+85064£6-146640£7+91854£8
(1/4,1/3) 14-336£+3528£2-21168£3+79380£4-190512£5+285768£6-244944£7+91854£8
Необходимо отметить, что данные таблицы 1 еще возможно рассчитать «вручную», однако уже для п>4 объем требуемых вычислений возрастает настолько, что без применения ЭВМ провести все необходимые выкладки невозможно.
В качестве иллюстрации к этому утверждению уместно привести следующий факт: алгоритму, использующему параллельные вычисления на современном кластере, потребовалось более 20 часов, чтобы получить аналогичную таблицу для п=14. Пример одного из решений приведен в таблице 3.
Таблица 3
Пример частного решения для п=14 и к=2, полученного на специализированном кластере с использованием параллельных вычислений
£ P!4,2(£)
(1/7,1/6) 429-36036£+1405404£2-33729696£3+556539984£4-6678479808£5+601063182726-4121576110087+ +2163827457792£8-8655309831168£9+25965929493504£10-56652937076736£11-84979405615104£12- -78442528260096£13+3618226397184£14
С помощью компьютера нам удалось получить набор частных решений для всех возможных значений п и к до п=14 включительно. Анализ этих «компьютерных» формул позволил усмотреть общую закономерность и высказать гипотезу, заключающуюся в том, что при двух пороговых уровнях (т.е. при к=2) для четных п на интервале 1 / (п /2) < е < 1/ ((п /2) — 1)) справедлива формула
Рп,2 (е) = (2 / п)Сп,2)—1 (1 — ((п /2) — 1)е)п. (7)
Дальнейшее исследование полученных на ЭВМ формул показало, что входящие в них коэффициенты составляют последовательность Каталана, что в итоге помогло в проведении строгого математического до-
казательства формулы (7) и других формул, полученных с помощью программ машинной аналитики [12].
Заключение
Отличительная особенность представленной работы в том, что компьютер в нашем случае выполнял роль не просто мощного вычислителя, но «интеллектуального» помощника, способного осуществлять расчет неизвестных вероятностных соотношений, нахождение которых невозможно выполнить вручную, так как требует сверхбольшого объема аналитических выкладок. Достигнутый прогресс позволяет надеяться, что в ближайшей перспективе нам удастся с помощью оснащения компьютера дополнительными программно-интеллектуальными вычислительными средствами решить другие сложные вероятностно-комбинаторные задачи.
Библиографический список
1. Reznik A.L., Efimov V.M., Torgov A.V., Solov'ev A.A. Analytical computer calculations in problems with random division of an interval // Pattern Recognition and Image Analysis (Advances in Mathematical Theory and Applications). 2012. Vol. 22. № 2. DOI: 10.1134/S1054661812020125.
2. Reznik A.L., Efimov V.M., Solovev A.A., Torgov A.V. Errorless readout of random discrete-point fields // Optoelectronics, Instrumentation and Data Processing. 2012. Vol. 48. № 5. DOI: 10.3103/S8756699012050111.
3. Уилкс С. Математическая статистика. М., 1967.
4. Parzen E. Modern Probability Theory and Its Appli-
cations. New York, 1960. DOI: 10.1063/1.3056709.
5. Darling D.A. On Class Problems Related to the Random Division of an Interval // Annals of Mathematical Statistics. 1953. Vol. 24. DOI: 10.1214/aoms/1177729030.
6. Barton D.E., David EN. Combinatorial Extreme Value Distributions // Mathematika. 1959. № 6. DOI: 10.1112/ S0025579300001935.
7. Naus J.I. Some Probabilities, Expectations, and Variances for the Size of Largest Clusters and Smallest Intervals // The Journal of the American Statistical Association. 1966. Vol. 61. DOI: 10.1080/01621459.1966.10482203.
8. Gropp W., Lusk E., Skjellum A. Using MPI, 3rd edition: Portable Parallel Programming with the Message-Passing Interface. Cambridge, MA, 2014.
9. Оленев Н.Н. Основы параллельного программирования в системе MPI. М., 2005.
10. Pacheco P. Parallel Programming with MPI. Morgan Kaufmann, 1997.
11. Феллер В. Введение в теорию вероятностей и ее приложения. М., 1966.
12. Резник А.Л., Тузиков А.В., Соловьев А.А., Торгов А.В. Интеллектуальная программная поддержка в задачах анализа случайных цифровых изображений // Вычислительные технологии. 2018. Т. 23, № 5. DOI: 10.25743/ ICT.2018.23.5.007.