Научная статья на тему 'ОТДЕЛЬНЫЕ АЛГОРИТМЫ МАТЕМАТИЧЕСКОГО ОБЕСПЕЧЕНИЯ РАБОТЫ СУДОВОГО ВЫЧИСЛИТЕЛЯ'

ОТДЕЛЬНЫЕ АЛГОРИТМЫ МАТЕМАТИЧЕСКОГО ОБЕСПЕЧЕНИЯ РАБОТЫ СУДОВОГО ВЫЧИСЛИТЕЛЯ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
30
9
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АСПЕКТ / АЛГОРИТМ / ДИСТРИБУТИВНОСТЬ / МИКРО-РАСПАРАЛЛЕЛИВАНИЕ / ПРОЦЕССОР / КОММУТАТИВНОСТЬ / АССОЦИАТИВНОСТЬ / ШАГ / ОПТИМАЛЬНОСТЬ / ДЕРЕВО / ЭКВИВАЛЕНТНОСТЬ / ГЕНЕРАЦИЯ / РЕФЛЕКСИВНОСТЬ / СИММЕТРИЧНОСТЬ / ТРАНЗИТИВНОСТЬ / БИНАРИЗАЦИЯ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Лесковский И.В.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

SEPARATE ALGORITHMS FOR MATHEMATICAL SUPPORT OF THE SHIP’S COMPUTER

In modern shipping, the hardware and software complex of the ship’s computer as part of the integrated navigation bridge is comprehensively used for the management and handling of ships while following the course and processing. At the same time, basic programs often do not fully meet the configuration ofprocessing data arrays. The study presents one of the aspects ofparallel programming, as an effective algorithm for parallelizing mathematical expressions, in accordance with the rules of distributivity.

Текст научной работы на тему «ОТДЕЛЬНЫЕ АЛГОРИТМЫ МАТЕМАТИЧЕСКОГО ОБЕСПЕЧЕНИЯ РАБОТЫ СУДОВОГО ВЫЧИСЛИТЕЛЯ»

УДК 656.61.052:519.1

DOI 10.52375/20728689_2022_1_171

ОТДЕЛЬНЫЕ АЛГОРИТМЫ МАТЕМАТИЧЕСКОГО ОБЕСПЕЧЕНИЯ РАБОТЫ

судового ВЫЧИСЛИТЕЛЯ

Лесковский И.В., аспирант кафедры «Судовождение», ФГБОУВО «ГМУ им. адмирала Ф.Ф. Ушакова»

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

Ключевые слова: аспект, алгоритм, дистрибутивность, микро-распараллеливание, процессор, коммутативность, ассоциативность, шаг, оптимальность, дерево, эквивалентность, генерация, рефлексивность, симметричность, транзитивность, бинаризация.

SEPARATE ALGORITHMS FOR MATHEMATICAL SUPPORT OF THE SHIP'S

COMPUTER

Leskovskii I., the post-graduate student, FSBEIHE «Admiral UshakovMaritime University»

In modern shipping, the hardware and software complex of the ship's computer as part of the integrated navigation bridge is comprehensively used for the management and handling of ships while following the course and processing. At the same time, basic programs often do not fully meet the configuration ofprocessing data arrays. The study presents one of the aspects ofparallel programming, as an effective algorithm for parallelizing mathematical expressions, in accordance with the rules of distributivity.

Keywords: aspect, algorithm, distributivity, micro-parallelization, processor, commutativity, associativity, step, optimality, tree, equivalence, generation, reflexivity, symmetry, transitivity, binarization.

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

A da A го

Пусть ^ обозначает произвольное выражение; A - дерево выражения ^ ; - некоторый алгоритм распараллеливания. Опера-

da

торы в узлах , одного уровня взаимно независимы и могут вычисляться одновременно. При бесконечном числе процессоров вычис-

ГП ^^л

ление выражения выполнимо за - шагов, высоты л . Алгоритм микро-распараллеливания выполняет оптимизирующую функцию

da га

и эквивалентной перестройке с минимизацией высоты A . Обозначим дерево, генерируемое алгоритмом v 1 при обработке выражения

A D?.

A, B a

1. Примем, что выражения удовлетворяют отношению , если возможны преобразования в соответствии с законами комму-

тативности и ассоциативности, вида : + и ^ , в также соотношений:

A + (- B )= Д - Bl, Д/B = Д * B-\-(Д + B )=(- Д )- Д, (A-1 )-1 = д,

-(- д )= д,-(д * в )=(- д )* д,-(д-1 )=(д-> )-1, (д * в )-1 = д-1 * в-1, (1)

A, B

где: 11 - произвольные подвыражения преобразуемого выражения.

Примем, что отношения а' в рефлексивны, симметричны, транзитивны, эквивалентны.

В исследовании примем, что выражения A' Bудовлетворяют отношению а' в и эквивалентны. Соответственно обозначив по-

PA

лучим: .

га а

Для характеристики произвольного алгоритма микро- распараллеливания по качеству работы введем степени, относительно

(" «) ß (т")

4 ' И 1 .ГЛСПИПИ ИРПТПЛРТИ 4 '

-эквивалентности и -эквивалентности , тогда:

« . h (DJ) я , h (DA)

а « = inf ) «' т« = inf ) «(

Ah (D?) Ah (D?) 0 < т «< а «< 1 (2)

4 х и 4 х при условии: _ _ _ , (2)

« .>« Í(T >Т )V((T «1 >т )& (у «1 >а ))

Исследуем: V / W / V // (3) (>)

интуитивное качество микро- распараллеливания.

Ап _ Х,/ /.../Хп Ю

Для выражения , алгоритм 1 сгенерирует дерево п , с высотой

h D >

1= п I?

. В классе А , также

Г^ л]+1 т 0

существует дерево с 1 1 уровнями, следовательно ^ _ и .

В судовом вычислителе, одновременно с показателями степени распараллеливания, эффективность работы характеризуется комплекс-

гп к

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

2. Линейная сводимость задач в - полного микро-распараллеливания и минимальной бинаризации. Пусть бинарное объединение

множества деревьев К, может быть получено путем пошаговой процедуры, вида: из множества Квыбираются два дерева и объединяются в одно, как поддеревья бинарного корня результирующего дерева, процедура итерируется до одноэлементного множества, выстраиваем минимальное бинарное объединение:

Пусть

K ={Ц, A,..., Dn}

P

множество объединяемых деревьев, сортируем и получаем упорядоченную по Хаффмэну, последо-

вательность . Для постройки минимальной бинаризации дерева примем алгоритм восходящего обхода. Для каждого внутреннего узла

а. п(п > 2) А

1, арности , строим алгоритм 1, как минимальное объединение его поддеревьев [1].

Пусть при построении минимального бинарного объединения для упорядоченного построения деревьев, применим алгоритм сортировки, вида: сравнения и.

ГиА (т) Ти2 (п) А1, А2 ш б

Обозначим 1 и 2 , сигнализирующие времени алгоритмов , где: - суммарное количество узлов в объеди-

А1 п А2

няемых и - число узлов в дереве бинаризуемом .

и

Тогда для любого алгоритма сортировки сравнениями:

Т^ (т) у т^2 т, ТиАг (п) > пп

Необходимое для сортировки такого множества, удовлетворяющее неравенству:

Iк)> 1ое2 1!

\<ш { 1

(4)

(5)

где: ^ ^ - число Стирлинга 2-го рода. Используем равенство, вида:

тогда оценим правую часть:

Поскольку: получаем:

модифицируем:

log2 l!

1 <i<t

L(t,k>> log2 (f -tt!> L(t,k>>(k-1>log21

Пусть

L (m> -

(6)

(7)

(8)

(9)

(10)

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

число узлов в которых равно

m

, тогда:

Построим для произвольного т множества деревьев

L(m> > mlog2 m

(ii)

K„

, в котором содержится :

m -

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

vm 2 + 4m -2 (yfm\-iV([vm\+2>

:-\---\--ь —-- = m

y[m + y[m

K_

2

■\[m

где: - содержится деревьев с

- различных высот.

Количество операций сравнения при сортировке т не меньше, вида:

т -

4т + у/т

х

тогда :

следовательно: примем:

Ь (т )> Ь(т) У т\оц2 т

т -

4т + 4т

(13)

Т1 (ш) > 1 (ш) Тм (т) У т 1о82 т

Б К , А2 и

Пусть дерево п, построено путем подчинения деревьев из п 1, одному корневому узлу. При работе алгоритма ^^ над п к

К.

(14)

(15) и

К

деревьям из п 1 применим алгоритм , следовательно:

ти (п)>(п- 1)1св2 (п-1) (п) У (п)1о§2 (п)

Существует алгоритм сортировки сравнениями и, для которого :

7и (ш)-< т^2 т; ТиАг (п)< пп

(16)

(17)

(18)

Примем в исследовании, что имеется несколько алгоритмов сортировки, используемых при упорядочении элементов не более

ск к

сравнений [2].

и (т)

Пусть выбран алгоритм , число сравнений ,

для сортировки по высотам множества деревьев с суммарным количеством

узлов т, удовлетворяющих неравенству:

где: - положительная константа.

1У (т) < ст \og2 т

(19)

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

Зву > 0Ут е N У к е N (к < т)

откуда:

следовательно

ТЦ (т) < стlog2 т + с1к Зс2 > 0, Ут е N(т > 1) Т42 (т) < с2т\о%2 т

, тогда: : ,

(т) ^ т 1°ёг т

ЗЬ> 0; Ь> 0Упе N

(20)

(21)

П

Обход дерева выполняется за линейное относительно время, тогда

ТАг (п) < Ьп + та* , тах Ь1п1 п1

^ п1 _п,п]>1 I

Т ф ^(П)_ П

Так как, для функции натурального аргумента ,

/(п + 2)- /(п+1)> /(п +1)- /(п)

, справедливо неравенство:

тогда:

Тогда:

к шах ^АА1о§2 п\_ ь (п-к+^^ (п-к+1)

^ п, _ п ,пу >1 I '_1 1=1

и (п)< Ьп + тах Ь (п- к + 1)1о§2 (п- к +1)

(22)

(23)

(24)

(25)

или модифицируем:

г_1

(п) < Ьп + Ь1п\о%г п Щ > 0; Уп е N(п > 1) 1%г (п) < Ь2п\оц2 п

^ ' , значит: V /: V / , следовательно:

ТМ (П) 4 П 1о§2 П, (26)

П А1, А2 у Об ?! (л,) Т^ (/2)

Примем, что при упорядочивании деревьев в алгоритмах используется сортировка " . Обозначим и

А1, А2 у З Ь¥ (к, р)

, сигнализирующие времени использующие -алгоритм сортировки. За время

к Р

для - элементов с максимальным значением ключа 1 , удовлетворяет соотношению:

затрачиваемое алгоритмом

V

4 (к + р )< Ьу (к, р )< ё2(к + р)

где Тогда:

> 0 ёг > 0

(27)

^ (т)х т ТМ (П)«

(28)

При выполнении сортировки методом ^ (вычерпыванием), дерево л имеет 1 + 1 уровень и содержит П = 31 + 1 узлов. При

выполнении сортировки для поддеревьев на ^ - уровне п нужно не менее 1 + 2 ^ операций [3]. Тогда общее время обработки ^ , удовлетворяет неравенству:

1+1

^ (А >1(1 + 2 - У)

У=2

1 =

Л -1

поскольку :

-;^> 0 (Я)> dn

и ТПГТТЯ ■

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

, тогда:

(29)

Покажем, что

(п) ч

о

л

Б

Рис. 1. Дерево выражения программы «вычерпывания» при л.

П

п

, поскольку при обработке дерева с узлами, алгоритм построения минимального бинарного объеди-

вс

2

П П

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

модифицируем:

3^ > 0:7^2 (п)> о^2, ГА2 (п)ч пП ГА2 (п)х П

(30)

или - ' , (31)

Примем соотношение, которое сортируется с повышением эффективности, применением комбинированного метода сортировки, на

два подмножества, одно из которых сортируется по ^ а другое по и - алгоритмам [4].

Пусть ^- алгоритм сортировки элементов с ключами из множества ^ , работает, как множество сортируемых элементов

К ={(1,62,..., еш}

разделяются на два подмножества:

К = { е К||еу| < т} = { е к||е,| > ш}

(32)

Ка К и К"

подмножество сортируется - алгоритмом, , - алгоритмом и к последовательности упорядоченных приписы-

вается последовательность упорядоченных элементов

кв

к (гР)

^ ' I

Пусть множество узлов дерева

подчиненных сопрягаемым узлам

гР

/) М

множество поддеревьев

еР

Ф /+1

множество поддеревьев , для которых строится минимальное бинарное объединение на -м шаге, и

мв (еР) щ я (я®) е* (е(')) А3

^ , разбиение согласно - алгоритму; ^ ' , ^ ', ^ '

м(т^) № мв (е^)

ма (Е})

- множество узлов, поддеревьев входящих

, соответственно [5]. Тогда:

при условии:

У(0< 1 < 1 -\)У(^с V(Ь^) |к (Я)< 21К (Я) = 2п

Узел

а еУ (П) в г

будет - узлом ранга , если выражение, вида:

3(0 < 1 < 1-1): ае ^ (£'>) ^ = г

(33)

(34)

(35)

я г(') г

Для узла в дереве существует путь длиной не менее .

Пусть

Т (а )

множество узлов, отнесенных к а, тогда:

Т (е^))= и Т (а )

ае^в (дм) Ь е Т(а)

а е

, узла

, где:

А3 (#>)

собственный узел ^ , если:

А] > /Усе Е3 (Ь^) Ь г Т(с)

5 (а )

Пусть - множество собственных узлов:

(36)

(37)

5(^)= и ЭД

ае^ (Ь»)

3 Я

Примем, условие для - узла, как ближайший к в

Т(а) „ и

, включив узлы образующие путь от к и узлы из

Т (Ь)

(38)

Примем,

что среди узлов из

Поскольку :

& ))(0 < 1 < 1 -1)

, существует не более одного имеющего несобственные отнесенные узлы [6]. Тогда:

))> (^(^)))-1)

У(0 < 1,7< 1 -1): (1 * Б(Еу))п Б(Е-/))=0

получили выражение соответствующее принятому, тогда:

1-1

1-1 | /-1 .2 X^ (д^ л $ (Я«) < 3л

, откуда

(39)

(40)

(41)

(42)

3с > 0УП(к(П))= п): 7% (П)< сп+ 7 (П)+ 7 (П)

- верхняя граница временных затрат на обход дерева ^^

ченны

Т (Б). Т (Б)

- общее время затрачиваемое V и и - сортировками при работе алгоритма.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

(43)

где: - верхняя граница временных затрат на обход дерева ^, разделения сортируемых множеств поддеревьев, конкатенацию

упорядоченных последовательностей поддеревьев,

Положим, что :

Ъсг >

0: Т (Я)< £ (а* (^)+| А )))< с2 X 2 А (^)< 2

с2 п

(44)

на основании:

Т (.D>< ± Сз R (d«> < 3c3n

'=° , модифицируем и получим:

WD(V(D> = л> TW(D>< cn

(45)

с _ с + 2 с, + 3с3

где: 1 2 3.

Таким образом, применяемый алгоритм сортировки будучи оптимальным по порядку быстродействия, его сигнализирующая не пре-2

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

Литература:

1. Ахо А., Хопкрофт Дж., Ульман Дж. Построение и анализ вычислительных алгоритмов. М.: Мир, 2009. - 536 с.

2. Кнут Д. Искусство программирования для ЭВМ. - М.: Мир,2008. - 736 с.

3. Towle R. A., Brent R.P. On the time requiered to parse an arithmetic expression for parallel processing. - In: Proc. intern. conf. parallel process., 2007. New York, p 254.

4. Долматов Б.М., Попов В.В. Информатика. Компьютерный практикум. - Новороссийск: МГА им. адм. Ф.Ф.Ушакова, 2010. - 86 с.

5. Поспелов Д.А. Введение в теорию вычислительных систем. - М.: Сов. радио, 1972. - 280 с.

6. Лицкевич А.П., Старжинская Н.В., Попов В.В. Математические методы в электродинамике. - Новороссийск: МГА им. адм. Ф.Ф.Ушакова, 2009. - 60 с.

i Надоели баннеры? Вы всегда можете отключить рекламу.