Министерство образования и науки Донецкой народной республики ГОУ ВПО «Донецкий национальный технический университет» Факультет компьютерных наук и технологий Кафедра «Прикладная математика»
МАТЕРИАЛЫ VI Международной научно-технической конференции «Современные информационные технологии в образовании и научных исследованиях» СИТОНИ-2019 26 ноября 2019 г.
Донецк 2019
УДК 004.37 М34 М34
Материалы VI Международной научно-технической конференции «Современные информационные технологии в образовании и научных исследованиях» (СИТОНИ2019). – Донецк: ДонНТУ, 2019. – 435 с.
Сборник подготовлен по результатам VI Международной научно-технической конференции «Современные информационные технологии в образовании и научных исследованиях» (СИТОНИ-2019). В конференции принимали участие представители 12 организаций из ДНР, ЛНР, России и Белоруссии. Материалы, вошедшие в сборник, посвящены применению информационных технологий в образовании и научных исследованиях. Статьи издаются в авторской редакции. Сборник предназначен для специалистов в области информационных технологий, аспирантов, магистрантов и студентов вузов. Под общей редакцией В.Н. Павлыша Редакционная коллегия: В.Н. Павлыш, В.И. Зензеров, Д.В. Бельков Рекомендовано к печати на заседании совета факультета компьютерных наук и технологий. Протокол №8 от «22» ноября 2019г. Председатель оргкомитета конференции: Павлыш Владимир Николаевич – зав. кафедрой ПМ, д.т.н., профессор Заместитель председателя: Бельков Дмитрий Валерьевич – доцент кафедры ПМ, к.т.н, доц. Члены оргкомитета: Анохина Инна Юрьевна – доцент кафедры ПМ, к.т.н, доц. Ефименко Константин Николаевич – доцент кафедры ПМ к.т.н., доц. Прокопенко Елена Васильевна – доцент кафедры ПМ к.т.н., доц. Ответственный секретарь: Лазебная Людмила Александровна – ст. преп. кафедры ПМ Адрес оргкомитетa: г. Донецк, ул. Артема, 131, Донецкий национальный технический университет, 11-й учебный корпус, факультет компьютерных наук и технологий, кафедра «Прикладная математика», ком. 11.516. Справки по телефонам: (062)301-09-51; (062)301-03-91 e-mail: pm_donntu@mail.ru Web-сайт конференции: http://pm.conf.donntu.org/index.php
©
ДонНТУ, 2019
Секция 1. «Теоретическая и прикладная математика»
Председатель: Павлыш Владимир Николаевич Сопредседатель: Кожухов Игорь Борисович (Москва, МИЭТ) Секретарь: Зинченко Татьяна Анатольевна
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
УДК 519.612
ОБ ОБЛАСТЯХ ГАРАНТИРОВАННОЙ СКОРОСТИ СХОДИМОСТИ ИТЕРАЦИОННЫХ МЕТОДОВ РЕШЕНИЯ СИСТЕМ ЛИНЕЙНЫХ АЛГЕБРАИЧЕСКИХ УРАВНЕНИЙ Беловодский В.Н., Климко Г.Т. ГОУ ВПО «Донецкий национальный технический университет» (г. Донецк) e-mail: v.belovodskiy@gmail.com
Беловодский В.Н., Климко Г.Т. Об областях гарантированной скорости сходимости итерационных методов решения систем линейных алгебраических уравнений. Ранее, на примере системы двух уравнений авторами было замечено, что одна из итерационных процедур решения систем линейных уравнений, основанная на методе Зейделя, при выбранных определенным образом начальных условиях сходится за один шаг. В настоящей статье это явление обсуждается и обобщается для систем вида x Bx d , у которых матрица B имеет одно или несколько нулевых собственных значений. Отмечено наличие прямой наилучшей сходимости при простом нулевом корне и увеличение размерности такой области при увеличении кратности нулевого значения. Показано, что при наличии нулевой жордановой клетки размерности r в нормальной форме матрицы B сходимость к точному решению осуществляется за r шагов. Теоретические результаты подтверждены численными расчетами. Ключевые слова: система линейных уравнений, метод Зейделя, сходимость, матрица, собственное значение, каноническая форма, итерация.
Введение Более десяти лет назад при изложении итерационных методов решения систем линейных алгебраических уравнений в курсе численных методов один из авторов обратил внимание студентов на вероятную возможность влияния начального приближения на число итераций, необходимых для получения решения системы линейных уравнений с заданной точностью. Один из присутствующих в аудитории студентов на примере системы двух уравнений провел вычислительные эксперименты для метода Зейделя, варьируя начальные условия в заданной прямоугольной области начальных условий, и вскрыл возможность получения решения за одну итерацию при выбранных, определенным образом, начальных условиях, которые, вообще говоря, могут быть весьма далеки от решения. Построенная, по результатам исследования, иллюстрация приводится на рисунке 1 [1]. На ней жирной линией, в данном случае это прямая, выделена область таких начальных условий. Целью данной работы является обобщение этого факта для систем произвольной размерности. Выполненный анализ литературы, посвящённой решению систем линейных уравнений итерационными методами показал, что центральное внимание при их изложении уделялось [2 - 4] и продолжает уделяться [5-8] установлению критериев сходимости. 4
Секция 1. «Теоретическая и прикладная математика»
Рисунок 1 – Иллюстрация из работы [1] Как правило, обычно, подчёркивается факт сходимости описанных методов при любом выборе начального приближения. Пожалуй, наиболее близкой из просмотренных, по существу рассматриваемого вопроса, является задача об оптимизации скорости сходимости итерационных процедур и один из основных подходов в этом направлении состоит в следующем. Последовательные приближения генерируются по правилу x( n1) x( n ) ( Ax( n ) b) . Очередное приращение к решению выбирается пропорциональным невязке n -го приближения с коэффициентом пропорциональности и оптимальное значение параметра, обеспечивающее наивысшую скорость сходимости, для положительно-определенных матриц A оказывается равным 2 , min max
где min , max – наименьшее и наибольшее, соответственно, собственные значения матрицы A [5-8]. Отмечается влияние на скорость сходимости спектрального радиуса матрицы системы уравнений. Поэтому в ряде вычислительных процедур первоначальную систему предварительно подготавливают или предобуславливают [6], например, умножая ее на матрицу близкую к обратной отдельной части системы уравнений, в частности, ее главной диагонали. На использовании предобуславливателей делается акцент и в монографии [9], а в руководстве [10] предлагаются итеративные подходы по повышению точности уже полученных решений. Более близких результатов, как в отечественной, так и в зарубежной литературе, к явлению, затрагиваемому нами в данной статье, и, тем более, его описание, обнаружено не было. Зависимость n-го приближения от начального, выбор начального приближения Рассмотрим систему линейных уравнений, представленную в нормальной форме x Bx d , где det B 0 . Отметим, что к такому виду 5
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
приводится система
Ax b (1) при det A 0 и эта процедура заключается в следующем [4]. Первоначально, умножая обе части уравнения (1) на AT , получим A1x b1 , (2) где A1 AT A, b1 AT b . Матрица A1 оказывается симметричной, а её диагональные элементы cii ( A1 )ii 0 , в силу det A 0 . Деля, теперь, каждое из уравнений системы (2), последовательно, на соответствующий диагональный элемент cii и, разрешая их относительно x1 , x2 , ... , получим
x B1x d1 . (3) Оказывается, что для нормальной системы, полученной таким образом, метод Зейделя сходится при любом начальном приближении. В силу особенностей описанной процедуры, диагональные элементы матрицы B равны нулю. Представляя ее в виде суммы двух треугольных, т.е. B1 Bl Bu , где Bl нижняя, а Bu верхняя треугольные матрицы и det Bl det Bu 0 , метод Зейделя можно представить в виде x ( m1) Bl x ( m1) Bu x ( m ) d или, после преобразований, в виде x ( m1) ( E Bl ) 1 Bu x ( m ) ( E Bl ) 1 d , т.е. в форме простой итерации x ( m 1) Bx ( m ) d , (4) 1 1 где B ( E Bl ) Bu , d ( E Bl ) d1 . Т.к. det B 0 , то, по крайней мере, одно из собственных значений матрицы B равно нулю. Дальнейшие соображения изложим на примере системы трех уравнений, сделав обобщения и на общий случай. Вариант 1. Кратность собственного значения 1 0 равна единице и нормальная форма матрицы имеет диагональный вид. Т.е. B THT 1 ,
где
1 1 0 H T 1BT 0 1 0 0 0 , 3 T – матрица перехода, составленная из собственных векторов матрицы B . Тогда система (4) может быть представлена в виде x ( m 1) THT 1 x ( m ) d или y ( m 1) Hy ( m ) d 2 .
где y T 1 x , d 2 T 1d . Пусть y(0) – начальное приближение к решению системы и выразим через него последующие. Имеем 6
Секция 1. «Теоретическая и прикладная математика»
y (2)
y (1) Hy (0) d2 , H 2 y (0) Hd 2 d 2 ,
y (3) H 3 y (0) H 2 d 2 Hd 2 d 2 ,
……………………………………… y ( m 1) H m 1 y (0) H m d 2 H m1d 2 ... d 2 .
(5)
Учтем, что 1k Hk 0 0
0
2 k 0
0 0 3k
и после покомпонентного сложения в ( m 1) -ом приближении получим
y
( m 1)
1m1 0 2m1 0 0 0
1 1m1 1 1 0 0 y (0) 0 3m1 0
0 1 2m1 1 2 0
0 d2 , m 1 1 3 1 3 0
Разбивая, теперь, матрицу в скобках второго слагаемого на две 1m 1 1 0 0 0 0 1 1 1 1 1m 1 0 0 m 1 2 1 0 d2 0 0 d2 y ( m 1) 0 2m 1 0 y (0) 0 1 2 1 2 m 1 0 0 3 m 1 1 3 0 0 0 0 1 1 3 3 и, представляя матрицу второго слагаемого правой части последнего выражения в виде произведения, получим y ( m1)
1m1 1m 1 0 0 0 0 0 2 m 1 0 y (0) 0 2 m1 0 0 0 0 3m 1 0 3m 1 )
0 0 1 / (1 1 ) 0 1 / (1 2 ) 0 d2 0 0 1 / (1 3 )
0 0 1 / (1 1 ) 0 1 / (1 2 ) 0 d2 . 0 0 1 / (1 3 )
Наконец, группируя и вынося общий матричный множитель, получим 7
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
1 1 0 0 0 0 1 1 1 1 1m1 0 0 1 1 0 d2 0 0 d2 .(6) y ( m1) 0 2m1 0 y (0) 0 1 2 1 2 0 0 m1 3 1 1 0 0 0 0 1 1 3 3
Соотношение (6) и описывает зависимость ( m 1) -го приближения от начального y (0) . Пусть вектор d 2 имеет координаты
d 21 d 2 d 22 d 23
,
тогда (6) можно представить в виде
y ( m1)
1m1 0 0 d 21 / (1 1 ) d 21 / (1 1 ) (0) m 1 0 y d 22 / (1 2 ) d 22 / (1 2 ) 2 0 d / (1 ) d / (1 ) 0 3m1 0 3 3 23 23
Отсюда следует, что при 1 0 и любой величине y1
0
значение первой
компоненты y1 m1 очередного приближения не меняется и равно d21 . Таким образом, для начального приближения
y (0)
y1(0) d 22 / (1 2 ) , d 23 / (1 3 )
где y1(0) – произвольное значение, все остальные приближения (6) равны d 21 ( m 1) y d 22 / (1 2 ) , m 0,1,2,... . d / (1 ) 3 23 Т.е. за одну итерацию определяется решение системы. Выполняя обратный переход к первоначальным переменным, имеем
x (0)
y1(0) T d 22 / (1 2 ) , d 23 / (1 3 )
(7)
где параметр y1(0) принимает произвольные значения. В геометрическом плане, соотношение (7) описывает прямую линию в пространстве R 3 . 8
Секция 1. «Теоретическая и прикладная математика»
Таким образом, взяв в качестве начальной произвольную точку прямой (7) за одну итерацию определяется решение системы. По этим причинам прямая (7) является линией наилучшей сходимости. Обобщение полученного результата на n-мерный случай очевидно и, на наш взгляд, в дополнительных пояснениях не нуждается. Варианты появления жордановых ящиков, соответствующих ненулевым собственным значениям, оставим для дальнейшего рассмотрения. Вариант 2. Кратность собственного значения 1 0 равна два и нормальная форма матрицы B остается диагональной. В этом случае соотношение (7) принимает вид y1(0) x (0) T y2(0) , d 23 / (1 3 ) (0) (0) где y1 , y2 произвольны. Это означает появление плоскостей наилучшей сходимости, а в n-мерном случае при нулевом корне кратности r – областей наилучшей сходимости такой же размерности. Вариант 3. Кратность собственного значения 1 0 равна два и ему в канонической форме матрицы B соответствует жорданов ящик размерности два. Таким образом, в данном случае 1 1 0 H T 1BT 0 1 0 . 0 0 3 Для определения (5) учтем [11], что для k 2
k 1 ( H k )1 0 0 0
(1k ) 1!
1k 0
0 0 0 0 0 0 0 0 . 0 0 k 3k 3 1 0
Тогда, после покомпонентного сложения в ( m 1) -ом приближении (5) и суммирования геометрической прогрессии для m 1 , получим
0 1 1 0 0 0 ( m 1) (0) 0 y 0 1 0 d2 . y 0 0 (8) m 1 0 0 m 1 3 0 0 1 3 1 3 Подчеркнем, что соотношение (8) справедливо, начиная со второй итерации. Выполняя, теперь, преобразования, аналогичные предыдущим случаям, имеем 9
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
y ( m1)
0 0 1 1 0 0 0 0 0 0 y (0) 0 0 0 d2 0 1 0 d2 0 0 0 0 m1 m 1 1 3 0 0 3 0 0 1 1 3 3
или
y ( m1)
0 0 0 0 0 0 0 1 1 0 0 0 y (0) 0 0 0 d2 0 1 0 d2 , 0 0 m1 1 1 3 0 0 0 0 1 1 3 3 2
или 0 0 d 21 d 22 0 0 y ( m1) 0 0 0 y (0) 0 d 22 . 0 0 m1 d d 3 23 23 1 1 3 3 y (0) 1(0) (0) Отсюда следует, что при начальном приближении y y2 , где y1(0) , d 23 1 3 y2 (0) имеют произвольные значения, получим вектор
d d 22 21 ( m 1) d 22 , y d 23 1 3 для любого m 1 . Это и означает достижение решения за две итерации. Выполняя переход к первоначальным переменным получим x (0) T 1 y (0) , что описывает плоскость в пространстве R 3 . Таким образом, из любой начальной точки x (0) этой плоскости метод сходится за два шага. Сделаем обобщения на общий случай. Предположим, что собственному значению 0 в канонической форме матрицы соответствует жорданов ящик H r размерности r . Учитывая блочный вид нормальной формы матрицы, отметим особенности изменения 10
Секция 1. «Теоретическая и прикладная математика»
ее жордановой клетки при последовательном возведении матрицы в степень. Так как 1 0 ... 0 0 1 ... 0 , Hr ... 0 0 0 ... 1 0 0 0 ...
Hrm
то [11]
m 0 ... 0 0
( m ) 1!
m
0 0
( m ) ... 2!
( m )( r 1) (r 1)! ( m ) ( m )( r 2) ... 1! (r 2)! , ... ... ( m ) 0 ... 1! 0 ... m
и при 0 0 0 0 H r ... 0 0 0
1 0 0 ... 0 1 0 0 0 1 ... ... 0 0 0 ... 0 0 0 0 0 0 ...
0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 ... ... , H r 2 ... 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0
0 0 0 ... 0 0 0
0 0 0 ... 0 0 0 0 0 0 ... ... 0 0 0 ... 0 0 0 0 0 0 ...
1 0 0 0 0 1 0 0 0 ... , H r r 1 ... 0 0 0 0 0 0 0 0 0
H r r 2
... 0 0 0 0 ... 0 0 ... , ... 0 1 0 0 ... 0 0
0 0 0 ... 0 0 0 0 0 0 ... ... 0 0 0 ... 0 0 0 0 0 0 ...
0 1 0 0 0 0 ... . 0 0 0 0 0 0
Таким образом, с повышением на единицу степени жордановой клетки единичная поддиагональ, параллельная главной, сдвигается вправо на одну позицию и для m r степень жордановой клетки становится равной нулю, т.е. H r m 0 при 0 . Поэтому, для m r 1 11
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
1 1 1 1 ... 1 1 0 1 1 1 1 1 0 0 1 1 ... 1 1 m m 1 ... ... , H r m 1 0 , а H r H r ... Er ... 0 0 0 0 ... 1 1 0 0 0 0 1 1 0 0 0 0 ... 0 1 и выводы о существовании области гарантированной сходимости, но уже размерности r , остаются справедливы и здесь. А именно, для начального 0T приближения (9), записанного для x , так компактнее, d d T x 0T y1(0) ,..., yr(0) , 2, r 1 ,..., 2, n T 1 , 1 r 1 1 n
(9)
где y1(0) ,..., yr(0) произвольные числа, метод итераций сходится за r шагов. Таким образом, данная область является областью начальных условий гарантированной скорости сходимости, хотя и не является наилучшей. Численные эксперименты
Проведены в среде Mathcad [12] . Пример 1. Для системы (1) с матрицами 2 3 5 0 8 3 1 2 5 10 , , A b 4 5 3 1 11 11 2 7 4 2 решение методом Зейделя нормализованной системы (3) с нулевым начальным вектором x (0) потребовало 9609 итераций для достижения точности равной 0.00005. Матрица перехода Т, каноническая форма H и вектор d 2 T 1d , в этом случае, имеют вид 1 0.647833 0.740836 0.15616i 0.740836 0.15616i 0 0.323795 0.037775 0.412876i 0.037775 0.412876i , T 0 0.471674 0.20022 0.257611i 0.20022 0.257611i 0 0.502984 0.247892 0.294923i 0.247892 0.294923i
0 0 0 2.6 0 3 0 0.998939 0 0 3.01532110 H= , d2 0 2.5031921.603798i 0 0.891610.23949i 0 2.5031921.603798i 0 0 0.891610.23949i 0 12
Секция 1. «Теоретическая и прикладная математика»
Начальное приближение x (0) , полученное по формулам (7) произвольного значения y1(0) , например, для y1(0) 2 оказалось равным
y (0) T 1 x (0)
для
2 y1(0) 3 d 22 / (1 2 ) 3.015321 10 , d 23 / (1 3 ) 2.503192 1.603798i d 24 / (1 4 ) 2.503192 1.603798i
а начальный вектор x (0) , дающий точное решение системы x за одну итерацию – равным 1.206061 2 0 0 1.51443 1 3 , x x . x T y 0.177489 1 2.185522 1
Обратим внимание, что в данном случае расстояние начального 1 приближения x (0) от точного решения x x по евклидовой метрике [11] составляет x (0) x 3.8168 , в то время, как расстояние точки x (0) 0 , исходя из которой метод Зейделя сходится за 9609 итераций, равно 0 x 3.8730 . Пример 2. Имеется итерационный процесс (4) в виде 0 0 1 0 1 6 0 0 1 0 2 5 ( m 1) ( m ) ( m ) y H y d , y* H y * d . y 2 2 0 0 0 3 3 0 0 0 0 0.9999 4 40000 Он сходится и имеет неподвижную точку y * . Использование метода простой итерации с начальным приближением 0 y d 2 для достижения точности равной шести верным значащим цифрам потребовало 128985 шагов. Если же за начальное приближение взять, согласно (9), вектор y 0 с произвольными значениями y1(0) , y2(0) и y3(0) , то
точное решение получается за три итерации, например, с такими y : 0
y (0)
y (1)
y (2)
y (3)
y (0)
y (1)
y (2)
y (3)
346
6
2401
3126
-1021
6
345
5
5
3125
-1022
5
5
3
3
3
-1024
3
3
3
y1(0) =
625
-511
y2(0) =
-512
y3(0) =
343
y4(0) =
40000 40000 40000
40000 40000 40000 40000 13
40000
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Процесс сходимости очевиден. Подчеркнем, что выбор начального приближения указанным образом гарантирует сходимость за три шага, хотя данная область начальных условий и не является наилучшей. Действительно, взяв в качестве начального результат второй итерации, т.е. положив, например, y (0) y (2) , решение можно получить за один шаг. Заключение
Изложенные результаты не только показывают возможность влияния начального приближения на скорость решения системы линейных уравнений методом итераций, но и вскрывают причину такого явления, состоящую в наличии нулевых собственных значений у матрицы нормальной формы системы уравнений. Рассмотрены варианты разной кратности таких корней и описаны области начальных приближений, обеспечивающих сходимость за один шаг – при условии, что матрица B имеет простую структуру, и за r шагов, где r – это размер жордановой клетки, соответствующей ее нулевому собственному значению. Идея существенно снизить вычислительные затраты в применениях итерационных процедур за счет удачного выбора начального приближения делает разработку алгоритмов минимальной трудоемкости, с учётом направлений наилучшей сходимости, весьма актуальной задачей. Отметим, что случаи наличия жордановых клеток, соответствующих ненулевым собственным значениям у матриц нормальной формы системы уравнений пока не рассмотрены. Учет этих особенностей остается открытым. Литература
1. Беловодский, В. Н. О скорости сходимости метода Зейделя в зависимости от начальных условий / В. Н. Беловодский, Р. Л. Варзар // Збiрник науково-методичних робiт. – Донецьк : ДонНТУ, 2006. - Вип. 4. – С. 132-137. 2. Самарский, А. А. Численные методы : учеб. пособие для вузов / А. А.Самарский, А. В. Гулин. – Москва : Наука, 1989. – 432 с. Петров, И. Б. Лекции по вычислительной математике : учеб. 3. пособие / И. Б. Петров, А. И. Лобанов. – Москва : БИНОМ. Лаб. знаний, 2006. – 523 с. Фаддеев, Д. К. Вычислительные методы линейной алгебры : 4. монография / Д. К. Фаддеев, В. Н. Фаддеева. - Изд. 3-е, стер. – СанктПетербург : Лань, 2002. – 736 с. - (Учебники для вузов. Специальная литература). 5. Глазырина, Л. Л. Введение в численные методы : учеб. пособие / Л. Л. Глазырина, М. М. Карчевский. – Казань : Изд-во Казан. ун-та, 2017. – 122 с. Шарый, С. П. Курс вычислительных методов [Электронный 6. ресурс] / С. П. Шарый ; РАН, Сиб. отд-ние, Ин-т вычислит. технологий. – Электрон. дан. (1 файл). – Новосибирск : [б.и.], 2017. – Систем. требования: Acrobat Reader. 14
Секция 1. «Теоретическая и прикладная математика»
7. Баркалов, К. А. Методы параллельных вычислений / К. А. Баркалов. – Нижний Новгород : Изд-во Нижегор. ун-та им. Н. Лобачевского, 2012. – 124 с. Бахвалов, Н. С. Численные методы / Н. С. Бахвалов, 8. Н. П. Жидков, Г. М. Кобельков. – Москва : БИНОМ. Лаб. знаний, 2008. – 636 с. 9. Burden, R. L. Numerical Analysis / R. L. Burden, J. D. Fairs. – Brook Cole : [s. n.], 2010. – 877 p. 10. Numerical recipes. The Art of Scientific Computing / W. H. Press, S. A. Teukolsky, W. T. Vetterling, B. P.Flannery. – Cambridge : Cambridge University Press, 2007. – 1262 p. 11. Блох, Э. Л. Основы линейной алгебры и некоторые ее приложения : учеб. пособие для втузов / Э. Л. Блох, Л. И. Лошинский, В. Я. Турин. – Москва : Высш. шк., 1971. – 256 с. 12. Макаров, Е. Г. Инженерные расчеты в Mathcad 15 [Электронный ресурс] : учеб. курс / Е. Г. Макаров. – Электрон. дан. (1 файл). - Санкт Петербург : Питер, 2011. - Систем. требования: Просмотрщик djvu-файлов. Беловодский В.Н., Климко Г.Т. Об областях гарантированной скорости сходимости итерационных методов решения систем линейных алгебраических уравнений. Ранее, на примере системы двух уравнений авторами было замечено, что одна из итерационных процедур решения систем линейных уравнений, основанная на методе Зейделя, при выбранных определенным образом начальных условиях сходится за один шаг. В настоящей статье это явление обсуждается и обобщается для систем вида x Bx d , у которых матрица B имеет одно или несколько нулевых собственных значений. Отмечено наличие прямой наилучшей сходимости при простом нулевом корне и увеличение размерности такой области при увеличении кратности нулевого значения. Показано, что при наличии нулевой жордановой клетки размерности r в нормальной форме матрицы B сходимость к точному решению осуществляется за r шагов. Теоретические результаты подтверждены численными расчетами. Ключевые слова: система линейных уравнений, метод Зейделя, сходимость, матрица, собственное значение, каноническая форма, итерация. Belovodskiy V.N., Klimko G.T. On areas of guaranteed convergence rate of iterative methods for solving systems of linear algebraic equations. Earlier, on the example of a system of two equations, the authors observed, that one of the iterative procedures for solving systems of linear equations based on the Seidel method, converges in one step for initial conditions chosen in a certain way. In this paper, this phenomenon is discussed and generalized for systems of the form x Bx d in which the matrix B has one or more zero eigenvalues. It is discovered the presence of a straight line of best convergence for the simple zero root and is noted an increase of the dimension of such a region with an increase in the multiplicity of the zero eigenvalue. It is shown that in the presence of a zero Jordan cell of dimension r in the normal form of the matrix B , convergence to the exact solution takes place in r steps. Theoretical results are confirmed by numerical calculations. Keywords: system of linear equations, Seidel method, convergence, matrix, eigenvalue, canonical form, iteration. 15
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
УДК 004.382.2
КВАНТОВЫЙ КОМПЬЮТЕР – РЕАЛЬНОСТЬ БЛИЖАЙШЕГО ВРЕМЕНИ? Букша Д.Р.1, Ваденин С.В.1, Ефименко К.Н.2 студенты гр. ПМК-181, доцент кафедры прикладной математики2 ГОУ ВПО «Донецкий национальный технический университет» (г. Донецк) e-mail: d_buksha@inbox.ru Букша Д.Р., Ваденин С.В., Ефименко К.Н. Квантовый компьютер – реальность ближайшего времени? Рассмотрены общие теоретические основы принципов функционирования квантовых компьютеров и последние разработки в этой области. Проанализированы особенности вычислительного процесса и возможные области применения квантовых вычислительных систем. Ключевые слова: квантовый компьютер, Q-бит, направления разработки, квантовое превосходство.
Введение В настоящее время перспектива разработки полноценного квантового компьютера становится все более реальной и обещает небывалый прорыв в области IT-технологий и компьютерной техники. Квантовый компьютер – вычислительное устройство, которое использует явления квантовой суперпозиции и квантовой запутанности для передачи и обработки данных. Однако универсальный квантовый компьютер остается в большей части гипотетическим устройством, сама возможность построения которого связана с серьёзным развитием квантовой теории в области многих частиц и сложных экспериментов. Разработки в данной области связаны с новейшими открытиями и достижениями современной физики [1]. Цель данной работы – анализ современного состояния вопроса разработки реального квантового компьютера. Принцип работы квантового компьютера С помощью квантовых компьютеров можно оптимизировать множество процессов: от медицины и до машиностроения. Например, у людей появится возможность диагностировать рак на более ранних стадиях, или делать более сложные автопилоты. Как упоминалось ранее, с помощью квантового компьютера будет возможно быстро раскладывать большие числа на множители и моделировать молекулы ДНК. Также существует теория того, что квантовый компьютер будет справляться с задачами, которые обычный компьютер решить не в состоянии или потратит на это тысячи лет вычислений. Это, допустим, создание искусственного интеллекта или поиск разумных существ во Вселенной, кроме человека. Одной из главных задач квантовых компьютеров станет усиление искусственного интеллекта. В любом случае все ученные сходятся на том, что это создание такого компьютера будет 16
Секция 1. «Теоретическая и прикладная математика»
настоящим прорывом, возможно, главным в истории человечества [2]. Обычные компьютеры обрабатывают бинарную информацию, основой представления которой является принцип двоичного кодирования. Один двоичный разряд – бит может принимать значения 0 или 1, что очень удобно для выполнения математических и логических операций, и самое главное, позволяет наиболее экономично реализовать аппаратную часть ЭВМ. Квантовый компьютер использует для обработки данных квантовомеханические эффекты: квантового параллелизма, квантовой суперпозиции и квантовой запутанности. Такое устройства оперирует кубитами (Q-биты – квантовые биты), которые в отличие от обычного бита, в любой момент времени могут одновременно принимать значение, как логического ноля, так и логической единицы [1-3]. Если в системе находится несколько кубитов, то изменение одного также влечет за собой изменение всех остальных кубитов. Это позволяет одновременно просчитывать все возможные варианты решения задачи. Обычный процессор с его бинарными вычислениями, фактически просчитывает варианты последовательно. Для ускорения этого процесса применяются технологии конвейерной обработки команд, суперскаляризации, динамического исполнения (предсказание ветвлений, внеочередное выполнение, ротация регистров, выполнение по предположению и т.п), а также многопоточность, параллелизм вычислений, предвыборку и т.д. В квантовом компьютере это все делается параллельно. Существует несколько теоретических моделей квантового компьютера, которые базируются на том, что квантовая система из N двухуровневых кубитов имеет 2N линейно независимых состояний, и таким образом, квантовое вычислительное устройство может выполнять параллельно 2N операций. Отличается и принцип вычислений. В каком-то смысле квантовый компьютер уже содержит все возможные варианты решения задачи, и нашей задачей только является считать состояние кубитов и выбрать из них правильный вариант. Первые кубиты были построены в начале XXI века. В дальнейшем процесс ускорился и на настоящий момент разработчики уже в состоянии изготовить процессор с десятками кубитов. Однако одной из основных проблем при работе квантового компьютера является количество ошибок, которые возникают при вычислениях, считывании и записи информации в кубиты. В июне 2016 года исследователи из Google объявили о создании процессора из 9 кубитов, который показал высокую надёжность. В марте 2018 года корпорация представила 72-кубитный квантовый процессор Bristlecone (рис. 1). Новый квантовый процессор Google построен по принципу, который позволил в предыдущем 9-кубитном процессоре показать низкую частоту ошибок при считывании данных (1%). Для тестирования процессора команда разработчиков создала инструмент, проверяющий его на ошибки, с помощью решения идентичных задач на квантовом процессоре и в классической симуляции. На каких физических принципах построен Bristlecone Google не сообщает. Однако считается, что для достижения «квантового превосходства», 17
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
когда квантовый компьютер начинает превосходить обычный, достаточно 49 кубитов. Google удалось выполнить это условие, но уровень ошибок в 0,6% пока выше требуемого в 0,5%.
Рисунок 1 – Квантовый процессор Bristlecone В сентябре 2019 года компания Google объявила, что ей удалось построить 54-кубитный (53 из которых функционировали) квантовый процессор Sycamore и продемонстрировать «квантовое превосходство» над обычными компьютерами. Google сообщила, что созданный квантовый процессор смог за 3 минуты и 20 секунд произвести вычисления, которые требуют около 10 тысяч лет работы самого современного суперкомпьютера компании IBM Summit [4]. На данный момент квантовыми компьютерами также занимается ряд исследовательских команд, в том числе – IBM [1]. В марте 2017 года компания объявила о запуске проекта IBM Q, и к июню представила два процессора: 16-кубитный для работы в научной сфере и 17-кубитный для коммерческого использования (рис. 2). Осенью 2017 года IBM объявила о создании прототипа 50-кубитового квантового процессора. Он проходит тестирование. Также в 2017 году IBM открыла свой 20-кубитовый процессор для облачных вычислений. В марте 2018 года была запущена меньшая версия IBM Q. Ставить эксперименты на таком компьютере могут все желающие. По их результатам уже вышло 35 научных работ.
Рисунок 2 – Первый коммерческий квантовый компьютер IBM В июле 2017 года команда российских и американских учёных из Гарвардского университета, возглавляемая сооснователем Российского кванто18
Секция 1. «Теоретическая и прикладная математика»
вого центра (РКЦ) Михаилом Лукиным, сообщила о создании 51-кубитного квантового компьютера [1]. Еще вначале десятилетия на рынке появилась шведская компания DWave, которая позиционировала свои компьютеры как квантовые. Она породила множество споров, так как объявляла о создании 1000-кубитных машин, в то время как признанные лидеры работали всего лишь с парой кубитов. Как оказалось компьютеры D-Wave не являются квантовыми в прямом смысле этого слова, но используют некоторые квантовые эффекты, которые можно применять для решения некоторых задач оптимизации. Иначе говоря, не все алгоритмы, которые могут быть выполнены на квантовом компьютере, получают на D-Wave квантовое ускорение. Google приобрела одну из систем шведов. В результате ее исследователи признали компьютеры «ограниченно квантовыми». При этом выяснилось, что кубиты сгруппированы кластерами по восемь, то есть их реальное число заметно меньше, чем декларируемое. Основные трудности при реализации квантовых вычислений Существует два основных типа проблем с извлечением базового состояния из кубита [1-3]. Во-первых, на самом деле измеряется квантовая суперпозицию, а не классическая физическая величина. Предполагая, что кубит остался когерентным, можно получить одно или другое из базовых состояний, но нельзя заранее быть уверенным какое именно из них получено: можно быть уверенным только в том, что вероятность того, что будет получено определенное состояние и оно будет квадратом коэффициента этого состояния в суперпозиции. Если измерить кубит в точно таком же состоянии сто раз, то получится распределение нулей и единиц, которое сходится к квадратам коэффициентов. Таким образом, неизвестно, действительно ли то базовое состояние, которое было измерено в некоторой попытке, имеет наибольшую вероятность. Это верно даже для теоретически совершенного квантового компьютера. В действительной реализации есть еще одна проблема – это шум, который присутствует при измерении очень маленьких физических величин в процессе наблюдения за кубитами. Единственным решением является либо обнаружение ошибки путем дальнейших вычислений, либо выполнение вычислений столько раз, чтобы в итоге принять любую оставшуюся в результате этого неопределенность. Концепция гарантированного правильного ответа чужда самой сути квантовых вычислений. Идут поиски наилучшего выбора для реализации кубитов, хотя ответ может оказаться зависящим от алгоритма. Специалисты по микроэлектронике работают над миниатюризацией квантовых компонентов на основе новых материалов и структур, которые позволили бы создавать очень большие массивы квантовых вычислительных устройств, и которые могли бы массово производиться подобно чипам традиционных процессоров. Компьютерные специалисты разрабатывают прототипы ассемблеров и компиляторов, которые могут преобразовать алгоритм в расположение квантовых регистров и 19
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
квантовых вентилей в конкретной технологии. Заключение Итак, квантовые компьютеры пока все еще остаются экспериментальными. Маловероятно, что полноценный квантовый компьютер, обеспечивающий действительно высокую вычислительную мощность, появится раньше следующего десятилетия. Производство кубитов и построение из них стабильных системы все еще далеко от совершенства. Судя по тому, что на физическом уровне квантовые компьютеры имеют несколько решений, которые отличаются технологиями и, вероятно, стоимостью, они не будут унифицированы еще лет 10. Процесс стандартизации может растянуться надолго. Кроме того, уже сейчас понятно, что квантовые компьютеры и в течение следующего десятилетия, скорее всего, будут «штучными» и очень дорогими устройствами. Вряд ли они окажутся в кармане у простого пользователя, но списке суперкомпьютеров можно ожидать их появления. Вероятно, что квантовые компьютеры будут предлагаться в «облачной» модели, когда их ресурсы смогут задействовать заинтересованные исследователи и организации. Эксперты полагают, что при появлении хотя бы одного реального квантового компьютера мощность новых моделей будет расти вдвое быстрее экспоненциального роста, определяемого законом Мура для традиционных вычислительных устройств. Литература 1. Хабр. Сообщество IT-специалистов. Режим доступа: https://habr.com/ ru/company/ua-hosting/blog/377533. – Заглавие с экрана. 2. Интернет-издание XDreamView. Режим доступа: https://xdrv.ru/ articles/technologies/454/full. – Заглавие с экрана. 3. Electronic society. Режим доступа: https://esociety.ru/poznavatelnoe/ kvantovye-kompyutery-i-kvantovye-vychisleniya. – Заглавие с экрана. 4. TADVISER. Государство, бизнез IT. Режим доступа: http://www. tadviser.ru. – Заглавие с экрана. Букша Д.Р., Ваденин С.В., Ефименко К.Н. Квантовый компьютер – реальность ближайшего времени? Рассмотрены общие теоретические основы принципов функционирования квантовых компьютеров и последние разработки в этой области. Проанализированы особенности вычислительного процесса и возможные области применения квантовых вычислительных систем. Ключевые слова: квантовый компьютер, Q-бит, направления разработки, квантовое превосходство. Buksha D., Vadenin S., Efimenko K. Is a Quantum computer reality of the nearest time? General theoretical bases of principles of functioning of quantum computers and last developments are considered in this area. The features of calculable process and possible application of the quantum computer systems domains are analysed. Keywords: quantum computer, Q-bits, direction of development, quantum supremacy.
20
Секция 1. «Теоретическая и прикладная математика»
УДК 004.8
ПРОГРАММЫ ДЛЯ ИЗУЧЕНИЯ ИГРЫ «ЖИЗНЬ» И ДРУГИХ КЛЕТОЧНЫХ АВТОМАТОВ Букша Д.Р., Лазебная Л.А., Бельков Д.В. ГОУВПО «Донецкий национальный технический университет» (г. Донецк) e-mail: belkovdv@list.ru Букша Д.Р., Лазебная Л.А., Бельков Д.В. Программы для изучения игры «Жизнь» и других клеточных автоматов. Одним из эффективных методов моделирования различных сред, полей, живых организмов является метод клеточных автоматов. Это метод создания универсальной вычислительной среды для исследования алгоритмов. Наиболее известным из двумерных клеточных автоматов является автомат, моделирующий игру «Жизнь». Цель данной статьи – обзор программного обеспечения для изучения игры «Жизнь» и других клеточных автоматов. Задачей является анализ возможностей программ The Game of Life, FAM Life, Golly. Ключевые слова: клеточный автомат, игра «Жизнь», программы The Game of Life, FAM Life, Golly.
Введение Клеточный автомат – это дискретная динамическая система, представляющая собой решетку одинаковых клеток. Каждая клетка является конечным автоматом, состояния которого определяются состояниями соседних клеток. Клеточные автоматы характеризуются следующими свойствами: изменения значений всех клеток происходят одновременно после вычисления нового состояния каждой клетки решетки; решетка однородна; взаимодействия между клетками локальны; множество состояний клетки конечно. В двумерном клеточном автомате решетка реализуется двумерным массивом. В ней каждая клетка имеет восемь соседей. Для устранения краевых эффектов решетка «заворачивается» в тор [1]. Наиболее известным из двумерных клеточных автоматов является автомат, моделирующий игру «Жизнь». Основная идея состоит в том, чтобы, начав с какого-то простого расположения фишек, расставленных по одной в клетке, проследить за эволюцией исходной конфигурации под действием правил Джона Конвея. Они управляют рождением, гибелью и выживанием фишек. Конвей составил правила игры так, чтобы поведение популяции было непредсказуемым и выполнялись три условия:
21
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
не должно быть ни одной исходной конфигурации, для которой существовало бы простое доказательство возможности неограниченного роста популяции; должны существовать такие начальные конфигурации, которые заведомо обладают способностью беспредельно развиваться; должны существовать простые начальные конфигурации, которые в течение значительного промежутка времени растут, претерпевают разнообразные изменения и заканчивают свою эволюцию одним из следующих трех способов: полностью исчезают (либо из-за перенаселенности, то есть слишком большой плотности фишек, или наоборот, из-за разреженности фишек, образующих конфигурацию), переходят в устойчивую конфигурацию и перестают изменяться вообще или же, наконец, выходят на колебательный режим, то есть бесконечный цикл превращений с определенным периодом. Каждую клетку на поле окружают восемь соседних клеток. Четыре имеют с ней общие стороны, еще четыре – общие вершины. Правила игры сводятся к следующему: выживание - каждая фишка, имеющая вокруг себя две или три соседние фишки, выживает и переходит в следующее поколение; гибель - каждая фишка, у которой больше трёх соседей, погибает, то есть снимается с доски из-за перенаселённости. Каждая фишка, вокруг которой свободны все соседние клетки или занята всего одна клетка, погибает от одиночества; рождение - если число фишек, с которыми граничат какаянибудь пустая клетка, равно трём, то на этой клетке происходит рождение нового «организма», то есть на следующем шаге там появляется одна фишка. Рождение и гибель всех «организмов» происходит одновременно. Совместно они образуют одно поколение в эволюции начальной конфигурации [2]. Закономерности, обнаруженные в игре «Жизнь» за многие годы ее исследования, имеют аналогии в кибернетике, биологии, физике, химии [3]. Цель данной статьи – обзор программного обеспечения для изучения игры «Жизнь» и других клеточных автоматов. Задачей является анализ возможностей программ The Game of Life, FAM Life, Golly. Программа The Game of Life Программа позволяет выбрать случайное заполнение игрового поля или прочитать первоначальную конфигурацию из файла. Конфигурация располагается на игровом поле. Размер поля фиксирован и составляет 1000×1000 клеток, что связано с особенностями алгоритма. Редактирование конфигураций осуществляется следующими инструментами: карандаш, ластик, линия, прямоугольник, эллипс. Конфигурации можно сохранять в 22
Секция 1. «Теоретическая и прикладная математика»
файлы различных форматов. Доступна работа с буфером обмена. Это упрощает обмен текстовой информации с другими программами. Чтобы проследить за эволюцией конфигурации, необходимо выполнить команду «Запуск». Для максимального быстродействия основной цикл написан на ассемблере. Программа может выводить графику в двух режимах: стандартном и OpenGL. Использование режима OpenGL дает большую производительность, работа будет быстрее, если не прорисовывать эволюцию на экране. В программе такая возможность предусмотрена. В строке состояния отображается: номер шага эволюции; число живых ячеек в конфигурации; координаты курсора (отсчитываются от верхнего левого угла поля). Конфигурации рекомендуется сохранять в формате RLE, поскольку на выходе получаются файлы небольшого размера и этот формат распознается большинством программ, моделирующих игру «Жизнь». Имеется возможность открывать и сохранять файлы BMP. Каждый пиксель соответствует одной ячейке. Считается, что верхний левый пиксель имеет фоновый цвет, а пиксели с отличающимся цветом – заняты. Пример эволюции конфигурации в программе The Game of Life показан на рисунке 1. Программу можно скачать с сайта [4].
Рисунок 1– Пример эволюции конфигурации в программе The Game of Life 23
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Программа FAM Life К достоинствам программы относятся: оптимизированный алгоритм, увеличивающий быстродействие; использование технологии DirectX; возможность изменять правила эволюции, задавая число соседей живой и мертвой клетки; богатые возможности масштабирования и управления конфигурациями клеток; наличие разных режимов рисования конфигураций; наличие встроенных стандартных фигур и возможность их вставки на игровое поле; множество возможностей настройки интерфейса, наличие готовых палитр оформления; корректная реализация эволюции клеток по краям игрового поля; возможность сохранения и загрузки конфигураций клеток в файлы формата .lif (собственный формат программы). При первом запуске программы основное окно раскрыто на весь экран. Выбор пункта главного меню «Настройки / Настроить поле…» позволяет установить параметры: размер поля по вертикали и горизонтали в пикселах, размер клеток в пикселах. Существует три стандартных размера игрового поля: «Большой» – поле растягивается на весь экран, «Средний» – размер поля составляет 3/4 от размера экрана и «Маленький» – размер поля устанавливается равным 500х400 пикселей. Размер клеток устанавливается, исходя из необходимости. Большие клетки лучше наблюдаются визуально, но с мелкими клетками удобно изучать большие конфигурации исходных состояний. Минимальное значение – 1 пиксель, максимальное – 22. По умолчанию размер клетки устанавливается равным 9 пикселей. Программа позволяет менять цвет различных элементов игрового поля. Для этого необходимо выбрать пункт главного меню «Настройки / Цвет» и выбрать необходимый пункт. Можно воспользоваться готовыми палитрами оформления, выбрав пункт главного меню «Настройки / Цвет / Палитра». Пункт главного меню «Настройки / Скорость» предоставляет 5 уровней скоростей. Первоначально при запуске программы установлены правила Конвея. Можно установить свои правила рождения и выживания. Для этого необходимо выбрать пункт «Настройки / Установить правила…» главного меню и задать новое число соседей для живой и мертвой клетки. Пункт главного меню «Настройки / Язык» позволяет изменить язык интерфейса. Пункт главного меню «Настройки / По умолчанию» устанавливает настройки, заданные разработчиками. Все настройки при выходе из программы сохранятся в конфигурационном файле. Пример эволюции конфигурации в программе FAM Life показан на рисунке 2. Программу можно скачать с сайта [5]. 24
Секция 1. «Теоретическая и прикладная математика»
Рисунок 2 – Пример эволюции конфигурации в программе FAM Life Программа Golly Программа позволяет моделировать не только игру «Жизнь», но и другие клеточные автоматы. Можно использовать следующие группы алгоритмов. QuickLife – быстрые алгоритмы для изучения игры «Жизнь». Их правила определяются с помощью нотации «B0...8/S0...8», где цифры после B указывают количество живых соседей, необходимых для рождения ячейки в следующем поколении. Цифры после S указывают количество живых соседей, необходимых для выживания ячейки. Ниже приведены некоторые примеры правил: B3/S23 – правила Джона Конвея, B35678/S5678 – правило создает на поле ромбовидную каплю с непредсказуемым поведением, B234/S – одиночный блок размером 2 x 2 превращается в набор персидских ковров. HashLife – алгоритм хеширования для достижения больших скоростей при генерации регулярных моделей. В случае хаотичной первоначальной конфигурации алгоритм работает плохо. Generations – алгоритм поддерживает правила с дополнительной историей клеток, которые позволяют клеткам иметь до 256 состояний. Правила имеют обозначения «0..8/1..8/n», где первый набор цифр указывает количество живых соседей, необходимых для выживания ячейки, второй набор цифр указывает количество живых соседей, необходимых для рождения ячейки в следующем поколении. Число n указывает максимальное количество состояний ячейки (от 2 до 256). Larger than Life (LtL) – семейство правил клеточных автоматов, которые обобщают правила Джона Конвея на большое количество соседних клеток с общим поведением при рождении и выживании. 25
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
JvN – алгоритм поддерживает 3 правила для первых клеточных автоматов, созданных Джоном фон Нейманом. RuleLoader – алгоритм позволяет указать правила во внешнем файле с названием Foo.rule. Пример эволюции конфигурации в программе Golly показан на рисунке 3. Первоначальная конфигурация совпадает с конфигурацией из примера, показанного на рисунке 1. Программу можно скачать с сайта [6].
Рисунок 3 – Пример эволюции конфигурации в программе Golly Выводы В работе выполнен обзор программного обеспечения для изучения игры «Жизнь» и других клеточных автоматов. Проанализированы возможности программ The Game of Life, FAM Life, Golly. Получены следующие результаты: 1. Программа The Game of Life имеет удобный графический интерфейс для ввода начальных игровых конфигураций с помощью инструментов «линия», «прямоугольник», «эллипс». Однако она не позволяет задавать конфигурации несвязанными точками. Пользователю доступно большое число примеров моделирования, но поменять правила игры невозможно. 2. Графический интерфейс программы FAM Life дает возможность задавать конфигурации несвязанными и связанными точками. Есть большое количество примеров моделирования игры. Пользователь может изменять правила игры, задавая число соседей живой и мертвой клетки.
26
Секция 1. «Теоретическая и прикладная математика»
3. Программа Golly, в отличие от предыдущих, позволяет моделировать не только игру «Жизнь», но и многие другие клеточные автоматы. Графический интерфейс программы дает возможность задавать конфигурации несвязанными и связанными точками. Есть большое количество примеров моделей и правил взаимодействия клеток. 4. Файлы типа «*.lif», созданные программой FAM Life для сохранения конфигураций, не совместимы с файлами типа «*.lif», созданными в программах The Game of Life и Golly. Литература 1. Наумов Л., Шалыто А. Клеточные автоматы. Реализация и эксперименты. – Режим доступа: http://is.ifmo.ru/download/klet.pdf 2. Математическая игра «Жизнь». – Режим доступа: http://www.denvo.ru/projects/life-game 3. Игра «Жизнь» – Режим доступа: https://ru.wikipedia.org/wiki/Игра_«Жизнь» 4. The Game of Life – Режим доступа: https://life.written.ru 5. FAM Life. – Режим доступа: https://thejam.ru/games/matematicheskaya-igra-zhizn.html 6. Golly. – Режим доступа: http://golly.sourceforge.net Букша Д.Р., Лазебная Л.А., Бельков Д.В. Программы для изучения игры «Жизнь» и других клеточных автоматов. Одним из эффективных методов моделирования различных сред, полей, живых организмов является метод клеточных автоматов. Это метод создания универсальной вычислительной среды для исследования алгоритмов. Наиболее известным из двумерных клеточных автоматов является автомат, моделирующий игру «Жизнь». Цель данной статьи – обзор программного обеспечения для изучения игры «Жизнь» и других клеточных автоматов. Задачей является анализ возможностей программ The Game of Life, FAM Life, Golly. Ключевые слова: клеточный автомат, игра «Жизнь», программы The Game of Life, FAM Life, Golly. Buksha D.R., Lazebnaya L.A., Belkov D.V. software for exploring “Life” and other cellular automata. One of the most effective methods of modeling different environment, fields of living organisms is the method of cellular automata. This is method of creating a universal computing environment for investigation of algorithms. The most famous of two-dimensional cellular automata is automatic, simulating game “Life”. The purpose of this article is to review software for exploring “Life” and other cellular automata. The task is to analyze the opportunities The Game of Life, FAM Life, Golly. Keywords: cellular automata, game of “Life”, The Game of Life, FAM Life, Golly programs
27
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
УДК 004.8
ОДНОМЕРНЫЕ КЛЕТОЧНЫЕ АВТОМАТЫ И ПОСТРОЕНИЕ ФРАКТАЛОВ ПО ПРАВИЛАМ ВОЛЬФРАМА Ваденин С.В., Тарабаева И.В., Бельков Д.В. ГОУ ВПО «Донецкий национальный технический университет» (г. Донецк) e-mail: belkovdv@list.ru Ваденин С.В., Тарабаева И.В., Бельков Д.В. Одномерные клеточные автоматы и построение фракталов по правилам Вольфрама. Фракталы нашли применение в различных областях науки и техники. Фрактальные изображения создаются путем математических расчетов, базовым элементом фрактальной графики является формула. Существует ряд клеточных автоматов, которые порождают фрактальные изображения. Цель данной статьи – обзор правил Вольфрама, применяющихся при создании фрактальных изображений. Задачей является разработка на языке C++ одномерных клеточных автоматов, строящих фрактальные изображения по правилам 22, 30, 110, 184, 210. Ключевые слова: одномерный клеточный автомат, правила Вольфрама, построение фрактальных изображений.
Введение В различных областях науки и техники нашли широкое применение фракталы. Например, в компьютерной графике они применяются для построения реалистичных изображений природных объектов. В физике фракталы возникают при моделировании нелинейных процессов, таких, как пламя или турбулентное течение жидкости. Создаются фрактальные изображения путем математических расчетов, базовым элементом фрактальной графики является формула. Есть целый ряд клеточных автоматов, которые порождают фрактальные изображения. Клеточный автомат – это дискретная динамическая система, представляющая собой совокупность одинаковых клеток. Все клетки образуют решетку клеточного автомата. Решетки могут отличаться по размерности и по форме клеток. Каждая клетка является конечным автоматом, состояния которого определяются состояниями соседних клеток и, возможно, ее собственным состоянием. В клеточных автоматах, как моделях вычислений, не рассматриваются входные и выходные воздействия. Клеточные автоматы в общем случае характеризуются следующими свойствами [1]. 1. Изменения значений всех клеток происходят одновременно после вычисления нового состояния каждой клетки решетки. 2. Решетка однородна. Невозможно отличить никакие два места на решетке по ландшафту.
28
Секция 1. «Теоретическая и прикладная математика»
3. Взаимодействия локальны. Только соседние клетки (клетки окрестности) способны повлиять на данную клетку. 4. Множество состояний клетки конечно. Одномерный клеточный автомат – это клеточный автомат с одномерным массивом ячеек в форме бесконечной ленты. Он имеет два возможных состояния ячеек и правило для определения состояния ячейки на следующем шаге, использующее только состояние ячейки и её двух соседей на текущем шаге. Всего существует 8 23 возможных комбинаций состояния ячейки и состояний её двух соседей. Правило, определяющее одномерный клеточный автомат, должно указывать следующее состояние для каждого из
этих возможный случаев, поэтому всего имеется 256 83 правил, предложенных Стивеном Вольфрамом [2]. По типу поведения он разделил клеточные автоматы на четыре класса: 1 класс: все клетки быстро принимают одинаковое состояние, которое становится стабильным, например, правило 40. 2 класс: состояние всех клеток быстро стабилизируется или возникают периодические колебания, например, правила 3 и 33. 3 класс: автомат порождает хаотические, непериодические структуры. Небольшие изменения исходного состояния приводят к значительным изменениям динамики автомата, например, правило 22. 4 класс: автомат порождает сложные, взаимодействующие между собой структуры, способные выживать длительное время, однако не достигает стабильности, например, правило 193. Цель данной статьи – обзор правил Вольфрама, применяющихся при создании фрактальных изображений. Задачей является разработка на языке C++ одномерных клеточных автоматов, строящих фрактальные изображения по правилам 22, 30, 110, 184, 210. Одномерный клеточный автомат
В одномерном клеточном автомате решетка представляет собой массив клеток, в котором для каждой из них, кроме крайних, имеется по два соседа. Для устранения краевых эффектов решетка «заворачивается» в тор. Это позволяет использовать следующее соотношение для всех клеток автомата: yi f ( yi 1, yi , yi 1) , где f – функция переходов клетки, yi – состояние i–й клетки в следующий момент времени, yi 1 – состояние (i-1)–й клетки в данный момент времени yi – состояние i–й клетки в данный момент времени, yi 1 – состояние (i+1)–й клетки в данный момент времени. Клеточные автоматы можно реализовать разными способами. В данной работе используется следующий подход [3]. 1. Вводятся два массива для хранения состояний клеток. Первый массив содержит текущее состояние каждой клетки, второй массив нужен для хранения ее нового состояния. 29
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
2. Определяется функция переходов клетки решетки. Для определения следующего ее состояния в качестве параметров в функцию переходов передаются текущие значения состояний клеток окрестности, возможно, включая ее саму. Эту функцию можно задавать в виде булевой формулы [4]. 3. На нулевом шаге производится заполнение первого массива первоначальными данными. 4. Для вычисления новых состояний открывается цикл. На каждой итерации для каждой клетки, используя в качестве переменных элементы первого массива, вычисляется ее новое состояние и помещается во второй массив. Значения аргументов функции переходов при этом берутся из первого массива. 5. При завершении итерации значения из всех элементов второго массива переносятся в первый массив. Этим обеспечивается псевдопараллельное изменение значений состояний всех клеток решетки. 6. Выполняется вывод содержимого решетки: после каждой итерации выводится соответствующая ей строка. Расположение этих строк одна под другой позволяет наблюдать динамику системы во времени (ось времени направлена вертикально вниз). 7. При нажатии клавиши <Enter> выполняется переход к пункту 4, а нажатие на клавишу <q> приводит к завершению работы программы. Примеры построения фракталов по правилам Вольфрама Правило 22. Автомат, работающий по этому правилу, строит треугольник Паскаля по модулю 2, который является примером нулевой фрактальной обобщенной матрицы Паскаля [5].
Рисунок 1– Пример работы автомата по правилу 22
30
Секция 1. «Теоретическая и прикладная математика»
Правило 30. Автомат, работающий по этому правилу, имеет апериодическую динамику. Правило принадлежит к третьему классу. В зависимости от начального состояния, оно используется как генератор псевдослучайных чисел, применяется при генерации сложных структур и моделировании хаотического поведения различных природных объектов. На рисунке 2 показан пример построения фрактала.
Рисунок 2 – Пример работы автомата по правилу 30 Правило 110. Автомат, работающий по этому правилу, относится к четвертому классу. Его динамика не является полностью случайной, но периодичность отсутствует. Правило используется при моделировании фрактальных структур, которые взаимодействуют друг с другом сложным образом. На рисунке 3 показан пример работы автомата по правилу 110.
Рисунок 3 – Пример работы автомата по правилу 110 Правило 184. Это правило применяется в математическом моделировании транспортных потоков, моделировании осаждения аэрозолей 31
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
на поверхность и моделировании аннигиляции частиц. Правило обладает следующими особенностями: После каждого шага количество «живых» клеток остается неизменным; В зависимости от начального состояния правило можно отнести к классу 2 или классу 4; Чем меньше «живых» клеток в начальном состоянии, тем быстрее автомат стабилизируется. Пример работы автомата по правилу 184 при моделировании транспортного потока показан на рисунке 4. Автомобили движутся в однополосном потоке слева направо и попадают в затор. Плотный транспортный поток с заторами на дороге является фрактальным [6].
Рисунок 4 – Пример работы автомата по правилу 184 Правило 218. Это правило, развиваясь из одной точки, порождает фрактальное изображение, показанное на рисунке 5.
Рисунок 5 – Пример работы автомата по правилу 218
32
Секция 1. «Теоретическая и прикладная математика»
Выводы
В работе выполнен обзор правил Вольфрама, применяющихся при создании фрактальных изображений. На языке C++ разработаны одномерные клеточные автоматы, строящие фрактальные изображения по правилам 22, 30, 110, 184, 210. Литература
1. Клеточный автомат. – Режим доступа: http://www.denvo.ru/projects/lifegame/ https://ru.wikipedia.org/wiki/Клеточный_автомат 2. Простейшие клеточные автоматы и их практическое применение. – Режим доступа: https://habr.com/ru/post/273393/ 3. Наумов Л., Шалыто А. Клеточные автоматы. Реализация и эксперименты. – Режим доступа: http://is.ifmo.ru/download/klet.pdf 4. Elementary cellular automata. – Режим доступа: http://atlas.wolfram.com/01/01/views/172/TableView.html 5. Бурлаченко Е.В. Треугольник Паскаля по модулю 2 как нулевая обобщенная матрица Паскаля. – Режим доступа: http://314159.ru/burlachenko/burlachenko22.pdf 6. Fractal Characteristics of Mountain Cities Traffic Flow Based on EMD and Multifractal. – Режим доступа: https://www.scientific.net/AMR.831.430 Ваденин С.В., Тарабаева И.В., Бельков Д.В. Одномерные клеточные автоматы и построение фракталов по правилам Вольфрама. Фракталы нашли применение в различных областях науки и техники. Фрактальные изображения создаются путем математических расчетов. Базовым элементом фрактальной графики является формула. Существует ряд клеточных автоматов, которые порождают фрактальные изображения. Цель данной статьи – обзор правил Вольфрама, применяющихся при создании фрактальных изображений. Задачей является разработка на языке C++ одномерных клеточных автоматов, строящих фрактальные изображения по правилам 22, 30, 110, 184, 210. Ключевые слова: одномерный клеточный автомат, правила Вольфрама, построение фрактальных изображений. Vadyenin S.V., Tarabaeva I.V., Belkov D.V. One-dimensional cellular automata and construction of fractals on rules of Wolfram. Fractals have found application in various fields of science and technology. Fractal images are generating by mathematical calculations. The base element of the fractal graphics is the formula. There are a number of cellular automata that generates fractal images. The purpose of this article is to review the rules of Wolfram that used in the production of fractal images. The task is to develop C++ one-dimensional cellular automata, that builds fractal images by rules 22, 30, 110, 184, 210. Keywords: one-dimensional cellular automaton rules, construction of fractal images
33
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
УДК 004.421.2
ПРИМЕНЕНИЕ ТЕОРИИ АЛГОРИТМОВ К СИТУАЦИЯМ В ПРОФЕССИОНАЛЬНОЙ ДЕЯТЕЛЬНОСТИ ЧЕЛОВЕКА Ефименко К.Н., Добровольский Ю.Н. ГОУ ВПО «Донецкий национальный технический университет» (г. Донецк) e-mail: dyn_don_20.14@mail.ru Ефименко К.Н., Добровольский Ю.Н. Применение теории алгоритмов к ситуациям в профессиональной деятельности человека. Рассматривается реализация теории алгоритмов при помощи машины Тьюринга и нормального алгоритма Маркова в профессиональной деятельности человека. Приведены примеры программ в виде таблицы и команд для машины Тьюринга, а так же подстановки для нормального алгоритма Маркова. Ключевые слова: машина Тьюринга, алгоритм Маркова, команда, подстановка, выборка, сортировка, цикл, программа.
Введение Бытует мнение, что математический аппарат применяется только в математике и в дисциплинах естественно-технического цикла. Однако это не так. Математический аппарат весьма удачно применяется к ситуациям, с которыми мы сталкиваемся ежедневно. В повседневной жизни мы не замечаем, как используем те или иные алгоритмы. Приготовить еду, собраться на работу, закрыть, открыть дверной замок, перейти дорогу – все эти действия выполняются в определенной последовательности. Человек ежедневно пользуется различными алгоритмами. При помощи математических методов можно описать многие процессы в обществе, в физике, химии, экономике, медицине и многих других дисциплинах. Конечно, в жизни нельзя формализовать все её аспекты и проработать модель поведения для любого случая. Однако, многие действия, которые мы совершаем, не задумываясь о том, насколько они поддаются математическому описанию, можно представить в виде алгоритмов. Цель работы: выбрать несколько ситуаций из повседневной жизни и описать их с помощью теории алгоритмов. Узнать, какова их роль в жизни человека. Задачи: изучить историю возникновения теории алгоритмов, изучить способы формального определения понятия алгоритма, применить выбранные способы к ситуациям из повседневной жизни. Актуальность: применение теории алгоритмов к, казалось бы, далёким от математики ситуациям поможет лучше понять саму теорию и поспособствует более широкому взгляду на обыденные вещи, прежде всего, с математической точки зрения. 34
Секция 1. «Теоретическая и прикладная математика»
История возникновения теории алгоритмов Первым дошедшим до нас алгоритмом в его интуитивном понимании – конечной последовательности элементарных действий, решающих поставленную задачу, считается так называемый алгоритм Евклида – алгоритм нахождения наибольшего общего делителя двух чисел. Понятие «алгоритм» не имеет строго определенной формулировки. Алгоритм можно определить как набор инструкций, следуя которым можно по входным данным определенного вида получать на выходе некоторый результат [1]. Начало современной теории алгоритмов положила работа немецкого математика Курта Геделя 1931 года, в которой было показано, что некоторые математические проблемы не могут быть решены алгоритмами из некоторого класса. Общность результата Геделя связана с тем, совпадает ли использованный им класс алгоритмов с классом всех (в интуитивном смысле) алгоритмов. Эта работа дала толчок к поиску и анализу различных формализаций алгоритма [2]. Первые фундаментальные работы по теории алгоритмов были опубликованы независимо в 1936 году Аланом Тьюрингом, Алоизом Черчем и Эмилем Постом. Предложенные ими машина Тьюринга, машина Поста и лямбдаисчисление Черча были эквивалентными формализмами алгоритма. Важным развитием этих работ стала формулировка и доказательство алгоритмически неразрешимых проблем. Существенный вклад в теорию алгоритмов внесли работы Андрея Андреевича Маркова. В 1940-х годах он предложил способ формального определения понятия алгоритма , названного нормальным алгоритмом Маркова. Марков предположил, что любой алгоритм может быть записан в виде нормального «алгорифма». Позднее было доказано, что нормальные алгоритмы Маркова эквивалентны по своим возможностям другим универсальным исполнителям: машине Тьюринга и машине Поста [3]. Для реализации цели данной работы, мы решили рассматривать случаи из повседневной жизни как программу для Машины Тьюринга и как нормальный алгоритм Маркова. Нормальные алгоритмы Маркова и машина Тьюринга Нормальный алгоритм задает метод преобразования строк с помощью системы подстановок. Каждая подстановка состоит из слова-образца и словазамены, разделенных цепочкой символов «→». На каждом шаге замены подстановки просматриваются по порядку сверху вниз, и выполняется первая из них, которая подошла: первое найденное слово-образец рабочей строки заменяется на слово-замену [3]. Машина Тьюринга есть такой же математический объект, как пространство, функция, производная и т. д. Она отражает объективную реальность, моделирует вычислительную деятельность человека. Таким образом, машина Тьюринга – математическая абстракция, представляющая вычислительную машину общего вида. Согласно тезису Тьюринга, любой алгоритм может быть записан в виде программы для ма35
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
шины Тьюринга. Машина Тьюринга состоит из бесконечной в обе стороны ленты, разбитой на ячейки, и автомата (головки), которая управляется программой. В каждой ячейке может быть записан только один символ некоторого конечного алфавита. Головка машины на каждом шаге работы указывает на одну ячейку и находится в одном из конечных состояний. Согласно программе, считывая символ в ячейке, обозреваемой головкой, и находясь в некотором состоянии, машина Тьюринга может менять свое состояние и при этом либо записывать в ячейку другой символ алфавита, либо сдвигаться влево или вправо по ленте на одну ячейку. Опишем машину Тьюринга более подробно [3]. Внешний алфавит. Конечное множество символов ∑={λ,a1,…,an}, записанных на ленте. Одна из букв этого алфавита должна представлять собой пустой символ, именно она записана в пустую ячейку ленты. Условимся, что этой буквой является λ (или просто 0). Внутренний алфавит. В каждый момент времени машина Тьюринга может находиться в одном из внутренних состояний конечного множества Q={q0,q1,…,qm}. Среди состояний выделяют два – начальное q1 и конечное (заключительное) q0. Машина Тьюринга начинает работу в состоянии q1. Попав в состояние q0, машина завершает работу. Программа. Работа машины Тьюринга определяется программой, которая состоит из команд трех типов:
I. qiajakql II. qiajRql III. qiajLql
где 1 ≤ i ≤ m; 0 ≤ l ≤ m; 1 ≤ j, k ≤ n; R – от английского right (право); L – от английского left (лево). Команда первого типа означает, что головка машины Тьюринга, находясь в состоянии qi, и обозревая ячейку с символом aj, осуществляет замену на символ ak и переходит в состояние ql. Действие этой команды продемонстрировано ниже:
Согласно второй и третьей командам при тех же условиях головка осуществляет сдвиг на одну ячейку вправо или влево соответственно и переходит в новое состояние ql. Это действие можно представить графически: – для команды второго типа (сдвиг головки вправо)
– для команды третьего типа (сдвиг головки влево)
36
Секция 1. «Теоретическая и прикладная математика»
Выполнение одной команды машины Тьюринга называется шагом. Программа состоит из конечного числа команд. Так как работа машины Тьюринга полностью определяется ее состоянием qi в данный момент и содержимым ячейки aj, то для каждых qi и aj программа должна совершать только одну команду, начинающуюся парой qiaj. Такая пара называется ситуацией. Другими словами, среди команд программы нет никаких двух, содержащих одинаковые ситуации. Программу машины Тьюринга удобно представлять в виде таблицы или ориентированного графа. Теперь дадим строгое формализованное определение машины Тьюринга. Машиной Тьюринга (далее МТ) называется структура вида MT = <∑, Q, a0, q0, q1, P> , (1) где ∑ – внешний алфавит, Q – алфавит внутренних состояний и P – программа машины Тьюринга. Символ a0 и состояния q0, q1 в структуре (1) говорят о том, что они обязательно присутствуют в любой MT. Под конфигурацией МТ будем понимать любое слово в множестве ∑ x Q, удовлетворяющее условиям: – оно не содержит более одного состояния из Q; – состояние в этом выражении не должно занимать крайнюю правую позицию. Примеры применения теории алгоритмов Пример 1: выбрать серию деталей на заводском складе. Представим серию деталей в виде последовательности x1 x2 x3..xn, где n – номер последней детали в серии, а xi принимают значения а, если номер детали в серии нечетный, и b, если четный. По окончании работы алгоритм должен напечатать слово bb. Программа для нормального алгоритма Маркова: *a → a* (1) *b → b* (2) a* → * (3) b* → * (4) * |→ bb (5) →* (6) Проверим работу алгоритма. Возьмем определенную серию деталей. Пусть она содержит три детали. Следовательно, алгоритм надо проверить на слове – aba. 6
1
3
2
4
1
3
5
aba → *aba → a*ba → *ba → b*a → *a → a* → * |→ bb. Проверим алгоритм на слове abababa: 6
1
2
1
2
abababa → *abababa → a*bababa → ab*ababa → aba*baba → abab*aba → 1
2
1
3
4
3
→ ababa*ba → ababab*a → abababa* → ababab* → ababa* → abab* → 37
4
1
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк 4
3
4
3
5
→ aba* → ab* → a* → * |→bb. Программа для машины Тьюринга в табличной форме: q1 q2 a λq1R b λq1R λ bq2L bq0N Программа в виде команд: aq1 → λq1R, bq1 → λq1R, λq1 → bq2L, λq2 → bq0N. Пример 2: обрабатывается деталь на станке с программным управлением в два этапа: прямой ход и обратный. Имеются четыре кнопки: R – кнопка направо, L – кнопка налево, D – кнопка прямо. Представим производственный процесс в виде последовательности x1 x2 x3..xn, где xi принимают значения R – кнопка направо, L – кнопка налево, D – кнопка прямо. По окончании работы алгоритм должен «затереть» входное слово, то есть напечатать последовательность пустых символов. Таким образом, нужно пройти входное слово слева направо, заменив символы R на L, L на R, и оставив символ D, а затем справа налево, заменив все символы пустыми символами. Программа для машины Тьюринга q1 q2 R Lq1R λq2L L Rq1R λq2L D Dq1R λq2L λ λq2L λq0L Программа в виде команд: Rq1 → Lq1R, Lq1 → Rq1R, Dq1 → Dq1R, λq1 → λq2L, Rq2 → λq2L, Lq2 → λq2L, Dq2 → λq2L, λq2 → λq0L. Нормальный алгоритм Маркова: *R → L* (1) *L → R* (2) *D → D* (3) *→# (4) L# → # (5) R# → # (6) D# → # (7) # |→ (8) →* (9) Пример 3: выполнить производственный цикл. Представим производственный цикл в виде последовательности x1 x2 x3 x4 λ x5 x6 x7 x8 λ x9 x10 x11 x12, где xi принимают значения четырех базовых операций a,b,c,d. После каждых четырех операций – перерыв, обозначенный пустым символом λ. Цикл выполняется дважды. По окончании работы алгоритм должен «затереть» входное слово, то 38
Секция 1. «Теоретическая и прикладная математика»
есть напечатать последовательность пустых символов. Таким образом, нужно дважды пройти входное слово слева направо, не изменяя его при первом проходе, и заменяя все символы на «пробел» при втором проходе. Программа для машины Тьюринга q1 q2 q3 q4 q5 q6 a aq1R aq1R aq3L aq3L λq5R λq5R b bq1R bq1R bq3L bq3L λq5R λq5R c cq1R cq1R cq3L cq3L λq5R λq5R d dq1R dq1R dq3L dq3L λq5R λq5R λ λq2R λq3L λq4L λq5R λq6R λq0N Программа для МТ в виде команд: aq1 → aq1R, bq1 → bq1R, cq1 → cq1R, dq1 → dq1R, λq1 → λq2R, aq2 → aq1R, bq2 → bq1R, cq2 → cq1R, dq2 → dq1R, λq2 → λq3L, aq3 → aq3L, bq3 → bq3L, cq3 → cq3L, dq3 → dq3L, λq3 → λq4L, aq4 → aq3L, bq4 → bq3L, cq4 → cq3L, dq4 → dq3L, λq4 → λq5R, aq5 → λq5R, bq5 → λq5R, cq5 → λq5R, dq5 → λq5R, λq5 → λq6R, aq6 → λq5R, bq6 → λq5R, cq6 → λq5R, dq6 → λq5R, λq6 → λq0N. Нормальный алгоритм Маркова: *L → L* (11) Aa → LA (1) Ab → LA (2) *→# (12) Ac → LA (3) a# → #a (13) Ad → LA (4) b# → #b (14) AL → LA (5) c# → #c (15) A |→ (6) d# → #d (16) *a → a* (7) L# → #L (17) *b → b* (8) Aa → LA (18) *c → c* (9) #→A (19) *d → d* (10) →* (20) Пример 4: на склад поступает продукция из двух заводов в смешанном виде. Отсортировать продукцию по заводам. Обозначим продукцию первого завода – a, а продукцию второго завода – b. Таким образом, требуется отсортировать словесный массив по возрастанию. Программа для машины Тьюринга q1 q2 q3 q4 q5 a aq1L aq2R bq4L aq5R b bq1L bq3R bq3R bq4L aq2N λ λq2R λq0N λq0N λq5R Программа для МТ в виде команд: aq1 → aq1L, bq1 → bq1L, λq1 → λq2R, aq2 → aq2R, bq2 → bq3R, λq2 → λq0N, aq3 → bq4L, bq3 → bq3R, λq3 → λq0N, aq4 → aq5R, bq4 → bq4L, λq4 → λq5R, bq5 → aq2N. 39
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Проверим МТ на входном слове abab. λq1ababλ → q1λababλ → λq2ababλ → λaq2babλ → λabq3abλ → λaq4bbbλ → λq4abbbλ → λaq5bbbλ → λaq2abbλ → λaaq2bbλ → λaabq3bλ → λaabbq3λ → λaabbq0λ → aabb. Очевидно, эта задача реализуется на НАМ с помощью одной подстановки: ba → ab. Например: babba → abbba → abbab → abbab → ababb → aabbb. Заключение В данной статье показано, что для задач производственного характера, можно построить алгоритм их решения, что позволяет посмотреть на этот процесс с математической точки зрения. Задачи, рассмотренные выше, дают ответ на вопрос: «Может ли программист обойтись без знаний алгоритмов и теории анализа?» Может, и таких «программистов» очень много. Только назвать их программистами можно с большой натяжкой. В самом деле, любой код, который что-то делает, является алгоритмом. Поэтому вопрос «нужны ли программисту алгоритмы» можно перевести как «нужно ли программисту уметь писать код». Литература 1. Пильщиков В. Н., Абрамов В. Г., Вылиток А.А., Горячая И.В. Машина Тьюринга и алгоритмы Маркова. Решение задач. (Учебнометодическое пособие) – Москва: МГУ, 2006. – 47 с. 2. Алферова З.В. Теория алгоритмов. – Москва: Статистика, 1973. – 164 с. 3. Марков А.А., Нагорный Н.М. Теория алгорифмов. – Москва: ФАЗИСТ, 1996. – 448 с. Efimenko K.N., Dobrovolsky Yu.N. Application of theory of algorithms to the situations in professional activity of man. Realization of theory of algorithms is examined through the machine of Turing and normal algorithm of Markov in professional activity of man. Examples of the programs are made as a table and commands for the machine of Turing and similarly substitutions for the normal algorithm of Markov. Keywords: machine of Turing, algorithm of Markov, command, substitution, selection, sorting, cycle, program. Ефименко К.Н., Добровольский Ю.Н. Применение теории алгоритмов к ситуациям в профессиональной деятельности человека. Рассматривается реализация теории алгоритмов при помощи машины Тьюринга и нормального алгоритма Маркова в профессиональной деятельности человека. Приведены примеры программ в виде таблицы и команд для машины Тьюринга, а так же подстановки для нормального алгоритма Маркова. Ключевые слова: машина Тьюринга, алгоритм Маркова, команда, подстановка, выборка, сортировка, цикл, программа.
40
Секция 1. «Теоретическая и прикладная математика»
УДК 519.857.4
ЭКСПОНЕНЦИАЛЬНОЕ Р-УСТОЙЧИВОЕ УПРАВЛЕНИЕ Казакова Е.И., Перинская Е.В. ГОУ ВПО «Донецкий национальный технический университет» (г. Донецк) e-mail: kazakova_donetsk@mail.ru Казакова Е.И., Перинская Е.В. Экспоненциальное р-устойчивое управление. Доказана экспоненциальная р-устойчивость. Приведена теорема, являющаяся видоизменением теоремы Беллмана применительно к задачам оптимальной стабилизации стохастической системы. Получены результаты, которые служат теоретическим обоснованием стохастической модели АСУ БВР. Ключевые слова: стохастическая модель, устойчивость, стабилизация стохастической системы, оптимальность, функционал, управление.
Введение Учитывая сложность процесса управления, многообразие всевозможных связей и случайный характер поведения объектов управления при разработке моделирующего алгоритма и построении математической модели производственного процесса, необходимо описание и анализ процесса для того, чтобы можно было охарактеризовать функционирование элементов технологической системы, получить сведения о количественных характеристиках, установить основные влияющие факторы. Функционирование любого процесса представляет собой последовательную смену его состояний во времени. Для реального производственного процесса имеет место конечная длительность состояний и переходов из одного состояния в другое. Но по сравнению с длительностью состояний временем перехода пренебрегаем. При таком допущении смена состояний процесса осуществляется скачком. Моменты появления состояний общей последовательности являются случайным процессом с непрерывным временем [1]. Основная часть Рассмотрим управляемое стохастическое дифференциальное уравнение d t a t , t , u dt t , t , u, dt ,
х, t , u , dt b x, t , u dwt R ct , x, u, z v~ dt , dz ,
(1)
m
для которого точка
х0
является неподвижной,
a0, t , u b0, t , u c0, t , u, z 0; u t ,0 0.
Задача стабилизации движения заключается в том чтобы выбрать такое управление ut при котором траектория t определяемая уравнением (1), все время находилась бы в достаточно малой окрестности точки 0. Таким образом данная задача состоит в том чтобы добиться с 41
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
помощью управления устойчивости движения. При решении задачи об оптимизации стабилизации требуется кроме того минимизировать некоторый функционал который можно назвать стоимостью управления. Обозначим через t , s s решение уравнения (1) при s t , удовлетворяющее начальному условию t , s t x . Решение 0, s s 0, s 0 уравнения (1) назовем: p устойчивым, если наблюдается такое r , что при x r lim sup M 0, x s 0 ; p
x 0 s 0
асимптотически p устойчивым, если оно p устойчиво и, кроме того, lim M 0, x s 0 p
s
d 0
для всех x из некоторой достаточно малой окрестности точки 0; экспоненциально p устойчивым, если существуют постоянные такие, что M t , x s A x p
p
A0
и
exp d s t
для всех x из некоторой достаточно малой окрестности точки 0. Наиболее часто обсуждается вопрос об (асимптотической или экспоненциальной) p устойчивости при p 2 . Такую устойчивость называют устойчивостью в среднем квадратическом. В качестве функционала «стоимости» управления будем рассматривать функционал вида: Rt , x u Mf s, t , x ,u s , u s ds
(2)
t
где t, x фиксированная начальная точка и f s, x, u 0 при s 0, x R m , u , . В общем случае задача минимизации функционала (2) не является задачей стабилизации. Если, например, f s, x, u 0 при х C , то оптимальным управлением может оказаться то управление, которое выводит траекторию процесса t,s s из окрестности точки x 0 . Но, если на f s, x, u наложить некоторые ограничения, то задача об оптимальном управлении при функционале «стоимости» (2) тесно связана с задачей об оптимальной стабилизации системы. В дальнейшем будем предполагать, что функция f s, x, u удовлетворяет следующему условию: p (3) f s, x, u m x для любого u , и некоторых постоянных m 0, p 0 . Нетрудно убедиться, что если при данном управлении функционал (2) принимает конечное значение, то lim M t , x s 0, p
s
так, что одно из требований в определении асимптотической 42
Секция 1. «Теоретическая и прикладная математика» p устойчивости
автоматически оказывается выполненным. При условии, что поля x, t , u , x, t , u, h линейно ограничены и удовлетворяют равномерному условию Липшица с константами, не зависящими от u , уравнение (1) имеет при любых x, t единственное решение с конечными моментами второго порядка. Введем класс L p стохастических дифференциальных уравнений (1), решения которых t, x s при любых t , x, s , s t имеют конечные моменты p го порядка. Будем писать t , x L p , если t, x s есть решение стохастического дифференциального уравнения, принадлежащего этому классу. Обозначим через C 2p 0 класс всех неотрицательных функций V s, x , s 0 , дважды непрерывно дифференцируемых по x и один раз по s в области x R m \ 0, s 0 и удовлетворяющих условию V s, x V s, x 2V s, x sup , 0 s T , T 0 . p p 1 p2 x 1 x x x
Если функция V s, x C2p и выполнены неравенства a t , x, u
2p
bt , x, u
2p
ct , x, u , z
2p
dz C 1 x
2p
,
p 1,
(4)
(5)
то имеет место формула Ито: V s, t , s s V t , s L V , t , s d s t
V , t , s b , t , s , dw s
(6)
t
V , t , s c , t , s , , z V , t , s v~ d , dz , s t
где L инфинитиземальный оператор марковского процесса, определяемого стохастическим уравнением (1). Все слагаемые в формуле (5) имеют конечные моменты второго порядка, а члены, содержащие стохастические интегралы, являются мартингалами. Поэтому MV s, t , x s V t , x M Lu V , t , x d . s
(7)
t
Применяя метод, основанный на остановке случайного процесса, нетрудно показать, что формула (5) остается справедливой и тогда, когда t , x L p . Рассмотрим функцию V x 2 , 0, p 0 . При 0 V V x p функция V дважды непрерывно дифференцируема по x , поэтому к ней можно применить обобщенную формулу Ито. При этом, p 2
Lu V x C
x
2 p 2
2 p 2
p x
Так как
43
2
p 2 2
x C dП ,
С С t , x, u, z .
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
x y p
и x y x
p
y
p
p
p
при
0 p 1,
2 2 Lu V x y x
p2 2 x
где
p
Kp x y
p 2
C
1, 0 p 1 K p p 1 2 , 1 p
то при p 2
0 p 1
2
p x
p
(8)
p 2 2
p 2 2 2
C p x
x C dП
(9)
p x C dП C1 x ,
C C t , x, u, z
удовлетворяет условиям 2 2 (10) C dП K x , C dП K x . Аналогичные оценки имеют место для выражений LwuV и LauV . Поэтому C1
не зависит от , а
p 2
,
p 2
в соотношении
p 2
MV s, t , x s V t , x M Lu V d s
можно перейти к пределу
t
при
0,
что приводит к соотношению M t , s s x p
p
s
C1 M t , s d . p
(11)
t
Данная оценка справедлива и при p 2 . Действительно, при функции V x p можно применить формулу (6). Получим p
Lup x p x C
p 2
C p p 2 x C
Откуда Lu x з
p 4
2
p
C x
p2
2
p
C C
x C | C 2 dП , 0 1.
dП С x
p
1
2
p
к
p2
(12)
2
при условии C dП K x , C dП K x . Замечание. Приведенные рассуждения можно обобщить произвольные функции V s, x C2p 0 , удовлетворяющие условиям: 0 V s, x C x ,
на
p
(13)
Lu V s, x C1 x . p
В этом случае получаем следующую оценку, аналогичную оценке (6): MV s, t , x s V t , x C1 M t , x d . s
p
(14)
t
Лемма. Пусть для стохастического дифференциального уравнения d t , x s as, t , x s , u ds bs, t , x s , u dws s, s , u, z v~ds, dz ,
t,x выполнены следующие условия: t , x L p ;
as,0 bs,0 cs,0, z 0, u s,0 0;
для некоторого p 2
p 2
р0 2
2
C dП K x , если 0 p 2 p p 2 2 C dП K x , C dП K x , если p 2;
C
dП K x
,
44
(15)
Секция 1. «Теоретическая и прикладная математика»
M t , x s ds . p
t
Тогда lim M t , x s 0 . p
(16)
s
Доказательство. Воспользуемся формулой (6). Получаем неравенство M t , x s h M t , x s p
p
sh
C1 M t , x d , p
s
некоторая постоянная.
где C1 Отсюда
p p M t , x s C1 M t , x s . s
(17)
Из условия (4) леммы и последнего неравенства следует соотношение (8). Лемма доказана. Замечание. Из формулы (9) вытекает также неравенство M t , x s x expC1 s t , p
p
(18)
p 0, x 0,
где C1 некоторая постоянная. Приведем теперь теорему, являющуюся видоизменением теоремы Беллмана применительно к задачам оптимальной стабилизации стохастической системы (1). Теорема. Допустим, что функция f s, x, u удовлетворяет условию p f s, x, u х , p 0 и пусть существуют функция Vo s, x C2p 0 и функция uo s, u U которые при всех s 0, x R m , u , удовлетворяют условиям: Lu o s, t V o s, x f s, x, u o s, t 0,
(19)
Lu s, t Vo s, x f s, x, u s, t 0.
Тогда функция uo s, u является оптимальным управлением для стохастической системы в смысле функционала стоимости (2) причем (20) Rt , x u o min Rt , x u V o t , x . uU
Кроме того, управление uo s, u стабилизирует систему до экспоненциальной р устойчивой. Применяя формулу Ито к функции Vo s, x и процессу t , x ,u , где u u t , x некоторое управление, используя неравенство (7), получаем MV o s, t , x ,u s M Lu V o , t , x ,u d V o t , x , s
s t.
t
При
u uo t , x
имеем
M f , t , x ,u o , u o , t , x ,u o d V o t , x MVo s, t , x ,u s . . s t
Отсюда следует, что Rt , x u o M f , t , x ,u o , u o , t , x ,u o d s t
и в силу леммы 45
(21)
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
lim M t , x ,uo s 0, p
s
(22)
lim MVo s, t , x ,uo s 0.
а поэтому
s
Переходя в (13) к пределу при
s,
получаем
Rt , x u o V o t , s .
Аналогично убеждаемся, что для любого другого управления u o t , s решение системы (1) экспоненциально p устойчиво. Используя неравенства (7) и (10) для экспоненциальной p устойчивости системы (1) при u u o s, x достаточно, чтобы Vo s, x удовлетворяла условиям p p (23) С 1 x V o s , x C 2 x , Luo V o s, x C 3 x , p
(24)
где C1 , C2 , C3 некоторые константы. Условие (15) автоматически вытекает из условий (3) и (11), а справедливость правой части неравенства (14) следует из (7). Остается доказать, что Vo s, x C1 x p . Учитывая (3), (12), имеем
s
s
Vo t , x M f , t , x ,u o , u o , t , x ,u o d m M t , x ,u o d . t
t
В силу соотношения (15) для любых T T t , x ,
при котором M t , x ,u o T
учитывая, что
p
C
Lu o x
p
p
x 0, t 0
можно указать такое
1 p x . Применяя теперь формулу Ито, и 2
p
4
x ,
получаем T
Vo t , x m M t , x ,u o d p
t
p m T MLuo t , x ,u o d C4 t
p C p C 5 x M t , x ,u o T 5 x 2
p
p
C1 x .
Заключение Полученные результаты служат теоретическим обоснованием стохастической модели автоматизированные системы управления буровзрывными работами на открытых горных разработках и являются составной частью выполняемого спецпроекта. Кроме того, они будут использованы при чтении спецкурса «Стохастика. Управление» для студентов технических специальностей Донецкого национального технического университета.
46
Секция 1. «Теоретическая и прикладная математика»
Литература 1. Kazakova, E. I., Medvedev, A. N., Kolomytseva, A. O. & Demina, M. I., Mathematical model of blasting schemes management in mining operations in presence of random disturbances // Proceedings of the International Conference of Computational Methods in Sciences and Engineering 2017, ICCMSE 2017. American Institute of Physics Inc., ISBN: 978-0-7354-1596-6. – Том 1906, 070010. Казакова Е.И., Перинская Е.В. Экспоненциальное р-устойчивое управление. Доказана экспоненциальная р-устойчивость. Приведена теорема, являющаяся видоизменением теоремы Беллмана применительно к задачам оптимальной стабилизации стохастической системы. Получены результаты, которые служат теоретическим обоснованием стохастической модели АСУ БВР. Ключевые слова: стохастическая модель, устойчивость, стабилизация стохастической системы, оптимальность, функционал, управление. Kazakova E.I; Perinskaya E.V. Exponential p-sustainable management. Exponential pstability is proved. A theorem is given which is a modification of the Bellman theorem as applied to the problems of optimal stabilization of a stochastic system. Results are obtained that serve as a theoretical justification for the stochastic BVR automated control system model. Keywords: stochastic model, resilience, stabilization of the stochastic system, optimality, functional, management.
47
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
УДК 539.3, 51-7, 519.6
ОБОБЩЕНИЯ ТРИГОНОМЕТРИЧЕСКИХ СИСТЕМ И НЕКОТОРЫЕ ПРИЛОЖЕНИЯ Клово А.Г., Куповых Г.В., Чистякова Т.А. Южный федеральный университет (г. Таганрог, Россия) e-mail: klovo_ag@mail.ru Клово А.Г., Куповых Г.В., Чистякова Т.А. Обобщения тригонометрических систем и некоторые приложения. Работа посвящена свойствам систем функций, которые последовательно переходят друг в друга при взятии производных. При этом производная последней функции системы равна первой функции, взятой со знаком «+» или «–». Такими системами второго порядка являются обычные гиперболические и тригонометрические функции. В явном виде использовались функции, порожденные подобными системами четвертого порядка, возникающие, в частности, при исследовании прочности конструкций. Исследованы общие и разнообразные свойства обобщенных тригонометрических систем различных порядков. Ключевые слова: обобщенные тригонометрические системы, функции Крылова, интегральные свойства, дифференциальные уравнения, прочность конструкций.
Обобщение гиперболических и тригонометрических функций Гиперболические shx , chx и тригонометрические функции sin x , cos x широко используются. В частности, их применяют при решении задач математической физики, содержащих производные второго порядка по пространственным переменным. При этом широко используются полученные из них функции, вторые производные которых пропорциональны этим функциям. В трудах А.Н. Крылова, посвященных исследованию прочности корабельных конструкций, например, в [1] решаются в явном виде уравнения, содержащие четвертые производные по пространственной переменной. При этом большой объем материала посвящен исследованию свойств функций, четвертые производные которых пропорциональны самим этим функциям. Также эти системы функций использовались в работах Ю.И. Виноградова [2], [3]. В работе [4] с помощью таких систем функций исследовались колебания стержней с условиями внутреннего закрепления. В данной работе, не привязываясь к конкретному виду прикладных задач, изучаются свойства систем функций различных порядков. Видимо, впервые таким был подход в работе [5], где рассматривались функции, последовательно переходящих друг в друга. Дадим точные определения. Определение 1. Функции n ,i ( x) , i Z мы будем называть
обобщенной тригонометрической системой 1-го рода порядка n ( о.т.с. n;1 , n N ), если для всех iZ выполнены условия: 48
Секция 1. «Теоретическая и прикладная математика»
n ,i
( x) n ,i 1 ( x) ,
n ,i n ( x) n ,i ( x) ,
n ,n (0) 1 .
Определение 2. Функции
n ,i
n ,i (0) 0
( x) ,
iZ
при
i 1,2,..., n 1 ,
мы будем называть
обобщенной тригонометрической системой 2-го рода порядка n ( о.т.с. n;2 , n N ), если для всех iZ выполнены условия:
n ,i
( x) n ,i 1 ( x) ,
n ,i n ( x) n ,i ( x) ,
n ,i (0) 0
при
i 1,2,..., n 1 ,
n ,n (0) 1 .
Заметим, что первую функцию о.т.с. n;1 , n N можно получить,
решая задачу Коши y ( n ) y ( x) 0 , y (0) y(0) ... y ( n2) (0) 0 , y ( n1) (0) 1 . Аналогично первая функция о.т.с. n;2 , n N является решением задачи
y ( n ) y ( x) 0 , y (0) y(0) ... y ( n2) (0) 0 , y ( n1) (0) 1 . Коши Следовательно, о.т.с. заданного типа определяются однозначно. Интересным является развитие теории обобщенных тригонометрических систем, доведение ее до такого состояния, при котором появляется возможность удобного использования этой теории для решения практических задач. В этой связи отметим работы [6], [7], в которых получены результаты, касающиеся отдельных свойств таких систем функций соответственно четного и нечетного порядков. В настоящей работе мы ставим своей целью более полное изложение свойств обобщенных тригонометрических систем (ОТС) и представление их в таком виде, которое позволит комфортно использовать эти системы функций для решения прикладных задач математической физики. Тригонометрия введенных систем функций
Несложно проверить, что функции
n ,i
( x) , i 1,2,..., n образуют
фундаментальную образуют фундаментальную систему (n) дифференциального уравнения y y ( x) 0 . Также функции
решений n,i ( x) ,
i 1,2,..., n образуют фундаментальную образуют фундаментальную систему решений дифференциального уравнения y ( n ) y ( x) 0 . Рассмотрим функцию n ,1 ( x y ) , также удовлетворяющую уравнению
y ( n ) y ( x) 0 , как функция от аргумента x и параметра y . Поэтому она представляется в виде n ,1 ( x y ) C1 ( y ) n,1 ( x) C2 ( y ) n ,2 ( x) ... Cn ( y ) n ,n ( x) . Если в написанное равенство подставить x 0 и учесть начальные условия для обобщенных тригонометрических систем, мы придем к соотношению Cn ( y ) n ,1 ( y ) . Теперь, дифференцируя это же равенство и 49
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
подставляя x 0, последовательно найдем Cn1 ( y ) n ,2 ( y ) , Cn2 ( y ) n ,3 ( y ) ,…, C1 ( y ) n ,n ( y ) . Следовательно, справедлива формула n ,1 ( x y ) n ,1 ( x) n ,n ( y ) n ,2 ( x) n ,n1 ( y ) ... n ,n ( x) n ,1 ( y ) . (1) Аналогично для n ,1 ( x y ) получим n ,1 ( x y ) n ,1 ( x) n ,n ( y ) n ,2 ( x) n ,n1 ( y ) ... n ,n ( x) n ,1 ( y ) . (2) После дифференцирования формул (1), (2) мы получаем остальные формулы сложения ОТС. В частности, легко выводятся формулы школьной тригонометрии (ОТС порядка 2): 2,1 ( x y ) sh( x y ) 2,1 ( x) 2,2 ( y ) 2,2 ( x) 2,1 ( y ) , 2,2 ( x y ) ch( x y ) 2,2 ( x) 2,2 ( y ) 2,1 ( x) 2,1 ( y ) , 2,1 ( x y ) sin( x y ) 2,1 ( x) 2,2 ( y ) 2,2 ( x) 2,1 ( y ) , 2,2 ( x y ) cos( x y ) 2,2 ( x) 2,2 ( y ) 2,1 ( x) 2,1 ( y ) . А вот для систем порядка 4 получим: 4,1 ( x y ) 4,1 ( x) 4,4 ( y ) 4,2 ( x) 4,3 ( y ) 4,3 ( x) 4,2 ( y ) 4,4 ( x) 4,1 ( y ) , 4,2 ( x y ) 4,1 ( x) 4,1 ( y ) 4,2 ( x) 4,4 ( y ) 4,3 ( x) 4,3 ( y ) 4,4 ( x) 4,2 ( y ) , 4,3 ( x y ) 4,1 ( x) 4,2 ( y ) 4,2 ( x) 4,1 ( y ) 4,3 ( x) 4,4 ( y ) 4,4 ( x) 4,3 ( y ) , 4,4 ( x y ) 4,1 ( x) 4,3 ( y ) 4,2 ( x) 4,2 ( y ) 4,3 ( x) 4,1 ( y ) 4,4 ( x) 4,4 ( y ) , 4,1 ( x y ) 4,1 ( x) 4,4 ( y ) 4,2 ( x) 4,3 ( y ) 4,3 ( x) 4,2 ( y ) 4,4 ( x) 4,1 ( y ) , 4,2 ( x y ) 4,1 ( x) 4,1 ( y ) 4,2 ( x) 4,4 ( y ) 4,3 ( x) 4,3 ( y ) 4,4 ( x) 4,2 ( y ) , 4,3 ( x y ) 4,1 ( x) 4,2 ( y ) 4,2 ( x) 4,1 ( y ) 4,3 ( x) 4,4 ( y ) 4,4 ( x) 4,3 ( y ) , 4,4 ( x y ) 4,1 ( x) 4,3 ( y ) 4,2 ( x) 4,2 ( y ) 4,3 ( x) 4,1 ( y ) 4,4 ( x) 4,4 ( y ) . Полагая в формулах суммы аргументов y x , мы приходим к формулам двойного аргумента: 4,1 (2 x) 2 4,1 ( x) 4,4 ( x) 2 4,2 ( x) 4,3 ( x) ,
4,2 (2 x) 24,1 ( x) 2 4,2 ( x) 4,4 ( x) 24,3 ( x) , 4,3 (2 x) 2 4,1 ( x) 4,2 ( x) 2 4,3 ( x) 4,4 ( x) , 2 2 4,4 (2 x) 4,2 ( x) 2 4,1 ( x) 4,3 ( x) 4,4 ( x) , 4,1 (2 x) 2 4,1 ( x) 4,4 ( x) 2 4,2 ( x) 4,3 ( x) , 2 2 4,2 (2 x) 4,3 ( x) 2 4,2 ( x) 4,4 ( x) 4,1 ( x) , 4,3 (2 x) 2 4,3 ( x) 4,4 ( x) 2 4,1 ( x) 4,2 ( x) , 2 2 4,4 (2 x) 4,4 ( x) 2 4,1 ( x) 4,3 ( x) 4,2 ( x) . Для получения формул для разности аргументов необходимо исследовать вопрос о четности и нечетности функций обобщенной тригонометрической системы заметим, что функции n ,1 ( x) и n ,1 ( x)
являются решениями «своих» дифференциальных уравнений y ( n ) y ( x) 0 и y ( n ) y ( x) 0 соответственно только для четных n .
50
Секция 1. «Теоретическая и прикладная математика»
Пусть n является четным числом, точнее, т.е. n 2m , где m – натуральное число. Тогда n ,1 ( x) удовлетворяет дифференциальному уравнению y ( n ) y ( x) 0 и, следовательно, представляется в виде n ,1 ( x) C1 n ,1 ( x) C2 n ,2 ( x) ... Cn n ,n ( x) . Мы снова в написанное равенство подставим x 0 и получим Cn 0 . Продифференцируем это равенство, тогда n ,2 ( x) C1 n ,2 ( x) C2 n ,3 ( x) ... Cn1 n ,n ( x) и, подставив x 0 , найдем Cn1 0 . Продолжая этот процесс, последовательно находим Cn2 0 ,…, C2 0 , C1 1 . Следовательно, справедлива формула 2 m ,1 ( x) 2 m,1 ( x) . Повторяя этот процесс, найдем равенства 2 m ,2 ( x) 2 m ,2 ( x) , 2 m ,3 ( x) 2 m ,3 ( x) ,…, 2 m ,2 m ( x) 2 m ,2 m ( x) . Такой же будет ситуация и для обобщенных тригонометрических систем функций второго рода. Можно сделать вывод, что для обобщенных тригонометрических систем четного порядка функции с нечетными номерами являются нечетными функциями, а функции с четными номерами – четными. С учетом этого для ОТС порядка 2 (школьные формулы) и порядка 4 напишем формулы для разности аргументов: 2,1 ( x y ) sh( x y ) 2,1 ( x) 2,2 ( y ) 2,2 ( x) 2,1 ( y ) , 2,2 ( x y ) ch( x y ) 2,2 ( x) 2,2 ( y ) 2,1 ( x) 2,1 ( y ) , 2,1 ( x y ) sin( x y ) 2,1 ( x) 2,2 ( y ) 2,2 ( x) 2,1 ( y ) , 2,2 ( x y ) cos( x y ) 2,2 ( x) 2,2 ( y ) 2,1 ( x) 2,1 ( y ) , 4,1 ( x y ) 4,1 ( x) 4,4 ( y ) 4,2 ( x) 4,3 ( y ) 4,3 ( x) 4,2 ( y ) 4,4 ( x) 4,1 ( y ) , 4,2 ( x y ) 4,1 ( x) 4,1 ( y ) 4,2 ( x) 4,4 ( y ) 4,3 ( x) 4,3 ( y ) 4,4 ( x) 4,2 ( y ) , 4,3 ( x y ) 4,1 ( x) 4,2 ( y ) 4,2 ( x) 4,1 ( y ) 4,3 ( x) 4,4 ( y ) 4,4 ( x) 4,3 ( y ) , 4,4 ( x y ) 4,1 ( x) 4,3 ( y ) 4,2 ( x) 4,2 ( y ) 4,3 ( x) 4,1 ( y ) 4,4 ( x) 4,4 ( y ) , 4,1 ( x y ) 4,1 ( x) 4,4 ( y ) 4,2 ( x) 4,3 ( y ) 4,3 ( x) 4,2 ( y ) 4,4 ( x) 4,1 ( y ) , 4,2 ( x y ) 4,1 ( x) 4,1 ( y ) 4,2 ( x) 4,4 ( y ) 4,3 ( x) 4,3 ( y ) 4,4 ( x) 4,2 ( y ) , 4,3 ( x y ) 4,1 ( x) 4,2 ( y ) 4,2 ( x) 4,1 ( y ) 4,3 ( x) 4,4 ( y ) 4,4 ( x) 4,3 ( y ) , 4,4 ( x y ) 4,1 ( x) 4,3 ( y ) 4,2 ( x) 4,2 ( y ) 4,3 ( x) 4,1 ( y ) 4,4 ( x) 4,4 ( y ) . Выясним, как будут выглядеть формулы для разности аргументов для обобщенных тригонометрических систем нечетного порядка. При n 2m 1 , m – натуральное число, n ,1 ( x) удовлетворяет дифференциальному уравнению y ( n ) y ( x) 0 и представляется в виде n ,1 ( x) C1 n ,1 ( x) C2 n ,2 ( x) ... Cn n ,n ( x) . Повторяя процедуру определения постоянных, заметим, что при взятии четного числа производных приходим к соотношению n ,n ( x) C1 n ,n ( x) , откуда при x 0 получим C1 0 и n ,1 ( x) n ,1 ( x) . После 51
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
дифференцирования найдем n ,2 ( x) n ,2 ( x) , n ,3 ( x) n ,3 ( x) ,…, n ,n ( x) n ,n ( x) . Поэтому для систем нечетного порядка смена знака у аргумента переводит функцию ОТС первого рода в соответствующую функцию второго рода и наоборот со знаком плюс или минус. При этом меняется вид формул для разности аргументов. Например, для систем третьего порядка справедливы формулы: 3,1 ( x y ) 3,1 ( x ) 3,3 ( y ) 3,2 ( x ) 3,2 ( y ) 3,3 ( x) 3,1 ( y ) , 3,2 ( x y ) 3,1 ( x ) 3,1 ( y ) 3,2 ( x ) 3,2 ( y ) 3,3 ( x ) 3,1 ( y ) , 3,3 ( x y ) 3,1 ( x ) 3,2 ( y ) 3,2 ( x) 3,1 ( y ) 3,3 ( x ) 3,3 ( y ) , 3,1 ( x y ) 3,3 ( y ) 3,1 ( x) 3,2 ( y ) 3,2 ( x ) 3,1 ( y ) 3,3 ( x ) , 3,2 ( x y ) 3,1 ( y ) 3,1 ( x ) 3,3 ( y ) 3,2 ( x ) 3,2 ( y ) 3,3 ( x ) , 3,3 ( x y ) 3,2 ( y ) 3,1 ( x) 3,1 ( y ) 3,2 ( x) 3,3 ( y ) 3,3 ( x ) . Интегральные свойства ОТС
Рассмотрим формулы разности для ОТС порядка 2 и порядка 4. Мы получим интересные соотношения в каждой второй из этих формул, если 2 подставим в них y x . Первые 2 соотношения 22,2 ( x) 2,1 ( x) 1 и 2 22,2 ( x) 2,1 ( x) 1 нам известны. Это основное гиперболическое и тригонометрическое тождества. А вот в случае ОТС четвертого порядков мы получаем их аналоги (3) 24,1 ( x) 24,3 ( x) 2 4,2 ( x) 4,2 ( x) , 2 24,2 ( x) 4,4 ( x) 2 4,1 ( x) 4,3 ( x) 1 ,
(4)
24,3 ( x) 24,1 ( x) 2 4,2 ( x) 4,4 ( x) ,
(5)
24,4 ( x) 24,2 ( x) 2 4,1 ( x) 4,3 ( x) 1 . (6) Тождества (3)-(6) мы будем называть первыми интегралами ОТС. Обратим внимание на тот факт, что каждая из этих формул в силу начальных условий справедлива при x 0 . Кроме того, при вычислении производных от левой и правой частей каждой из них, мы приходим к очевидному тождеству. Тем самым формулы (3)-(6) доказаны. Для нормирования собственных функций положительно определенных самосопряженных операторов, выражаемых через ОТС четного порядка, важным является вопрос об интегрировании квадратов от этих функций. Отметим следующие формулы: 3 1 2 (7) K 4,1 ( x)dx 4 K 4,1 ( x) K 4,4 ( x) 4 K 4,2 ( x) K 4,3 ( x) C , 3 1 x 2 (8) K x dx K x K x K x K x C, ( ) ( ) ( ) ( ) ( ) 4,2 4,1 4,2 4,3 4,4 4 4 4 3 1 2 (9) K 4,3 ( x)dx 4 K 4,2 ( x) K 4,3 ( x) 4 K 4,1 ( x) K 4,4 ( x) C , 52
Секция 1. «Теоретическая и прикладная математика»
3 1 x (10) K 4,3 ( x ) K 4,4 ( x ) K 4,1 ( x ) K 4,2 ( x ) C , 4 4 4 3 1 2 (11) x dx x x 4,2 ( x ) 4,3 ( x ) C , ( ) ( ) ( ) 4,1 4,1 4,4 4 4 3 1 x 2 (12) 4,2 ( x)dx 4 4,1 ( x) 4,2 ( x) 4 4,3 ( x) 4,4 ( x) 4 C , 3 1 2 (13) x dx x x 4,1 ( x ) 4,4 ( x ) C , ( ) ( ) ( ) 4,3 4,2 4,3 4 4 3 1 x 2 (14) 4,4 ( x)dx 4 4,3 ( x) 4,4 ( x) 4 4,1 ( x) 4,2 ( x) 4 C . Справедливость формул (7)-(14) обосновывается тем фактом, что при взятии производных от их левой и правой частей мы приходим к первым интегралам (3)-(6). Напишем теперь аналогичные формулы обобщенных тригонометрических систем третьего порядка: 1 2 2 (15) K x dx K x K x K 3,2 ( x ) C , ( ) ( ) ( ) 3,1 3,1 3,3 2 1 2 2 (16) K 3,2 ( x)dx K 3,1 ( x) K 3,2 ( x) 2 K 3,3 ( x) C , 1 2 2 (17) K x dx K x K x K 3,1 ( x ) C , ( ) ( ) ( ) 3,3 3,2 3,3 2 1 2 2 (18) 3,1 ( x)dx 3,1 ( x) 3,3 ( x) 2 3,2 ( x) C , 1 2 2 (19) x dx x x 3,3 ( x ) C , ( ) ( ) ( ) 3,2 3,1 3,2 2 1 2 2 (20) 3,3 ( x)dx 3,2 ( x) 3,3 ( x) 2 3,1 ( x) C . Для доказательства формул (15)-(20) достаточно вычислить производные от их левой и правой частей, приходя к очевидным тождествам. Все ли первые интегралы для ОТС порядка 4 здесь выписаны? И существуют ли первые интегралы для систем третьего порядка? В работе [5] показано, что первые интегралы гарантировано существуют для ОТС четного порядка. В следующем пункте мы рассмотрим способ исследования обобщенных тригонометрических систем.
K
2 4,4
( x ) dx
Свойства квадратичных форм ОТС
Заметим, что все формулы, которые были доказаны, содержат в своей основе квадратичные формы обобщенных тригонометрических систем. Поэтому естественно возникает необходимость их исследования. Рассмотрим квадратичную форму ОТС третьего порядка 1-го рода 2 2 2 3,1 ( x) a11 3,1 ( x ) a22 3,2 ( x ) a33 3,3 ( x)
2a12 3,1 ( x) 3,2 ( x) 2a13 3,1 ( x) 3,3 ( x) 2a23 3,2 ( x) 3,3 ( x) 53
(21)
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
и соответствующую матрицу a11 0 3,1 a12 a 13
a12 a22 a23
a13 a23 . a33
(22)
Первый вопрос, который мы поставим, звучит следующим образом. Существует ли квадратичная форма (21), равная константе? Если она существует, то производная от нее будет равна 0. Посмотрим, как меняется матрица (22) при взятии производной от квадратичной формы. Вычисляя производную от (21), получим квадратичную форму
3,1
2 2 2 ( x) 2a13 3,1 ( x) 2a12 3,2 ( x ) 2a23 3,3 ( x) 2 a11 a23 3,1 ( x ) 3,2 ( x)
2 a12 a33 3,1 ( x) 3,3 ( x) 2 a13 a22 3,2 ( x) 3,3 ( x) ,
матрица которой запишем в виде
1 3,1
2a13 a23 a11 a a 12 33
a23 a11 2a12 a13 a22
a12 a33 a13 a22 . 2a23
(23)
Несложно убедиться в том, что матрица (23) будет нулевой тогда и только тогда, когда все элементы матрицы (22) нулевые. Следовательно, ОТС третьего порядка первого рода не имеет первых интегралов, т.е. аналога основного тригонометрического тождества. Теперь рассмотрим квадратичную форму ОТС третьего порядка 2-го рода 2 2 2 3,2 ( x) b11 3,1 ( x) b22 3,2 ( x) b33 3,3 ( x)
2b12 3,1 ( x ) 3,2 ( x ) 2b13 3,1 ( x ) 3,3 ( x) 2b23 3,2 ( x) 3,3 ( x)
(24)
и ее матрицу
0 3,2
b11 b12 b 13
b12 b22 b23
b13 b23 . b33
(25)
Аналогично найдем производную от функции (24)
3,2
2 2 2 ( x) 2b13 3,1 ( x ) 2b12 3,2 ( x ) 2b23 3,3 ( x) 2 b11 b23 3,1 ( x ) 3,2 ( x)
2 b12 b33 3,1 ( x) 3,3 ( x ) 2 b13 b22 3,2 ( x) 3,3 ( x) ,
матрица которой примет вид
1 3,2
2b13 b23 b11 b b 12 33
b23 b11 b12 b33 b13 b22 . 2b12 b13 b22 2b23 54
(26)
Секция 1. «Теоретическая и прикладная математика»
Мы также видим, что матрица (26) будет нулевой тогда и только тогда, когда все элементы матрицы (25) нулевые. Отсюда для ОТС третьего порядка 2-го рода также нет первых интегралов. Другой будет ситуация для систем четного порядка. Рассмотрим квадратичную форму ОТС четвертого порядка 1-го рода 2 2 2 2 4,1 ( x ) a11 4,1 ( x ) a22 4,2 ( x ) a33 4,3 ( x ) a44 4,4 ( x) 2a12 4,1 ( x ) 4,2 ( x ) 2a13 4,1 ( x ) 4,3 ( x ) 2a14 4,1 ( x ) 4,4 ( x ) 2a23 4,2 ( x ) 4,3 ( x ) 2a24 4,2 ( x ) 4,4 ( x ) 2a34 4,3 ( x ) 4,4 ( x )
(27)
и соответствующую матрицу a11 a 0 4,1 12 a13 a14
a12 a22 a23 a24
a13 a23 a33 a34
a14 a24 . a34 a44
(28)
Формулы (3)-(4) показывают, что существует квадратичная форма (27), равная константе. В том, что эти первые интегралы единственно возможные равенства с участием квадратичных форм, можно убедиться, вычислив производную от функции (27) и написав матрицу полученной квадратичной формы 2a14 a a 1 4,1 11 24 a12 a34 a13 a44
a11 a24 2a12 a13 a22 a14 a23
a12 a34 a13 a22 2a23 a24 a33
a13 a44 a14 a23 . a24 a33 2a34
(29)
Проверим, что существует ненулевая матрица (28) такая, что все элементы матрицы (29) равны 0. Из равенства 0 элементов на главной диагонали (29) следует, что a14 a12 a23 a34 0 . При этом равенство 0 остальных элементов приводит к двум автономным однородным системам a11 a24 0 , a33 a24 0 и a22 a13 0 , a44 a13 0 , имеющих ненулевые решения, пропорциональные базовым a11 a33 1 , a24 1 и a22 a44 1 , a13 1 . Следовательно, базовыми константами являются только формы 2 24,1 ( x ) 24,3 ( x ) 2 4,2 ( x ) 4,4 ( x ) , 24,2 ( x ) 4,4 ( x ) 2 4,1 ( x ) 4,3 ( x ) , которые с учетом начальных условий подтверждают первые интегралы (3)-(4). Теперь для квадратичной формы ОТС второго рода четвертого порядка
55
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
4,2 ( x ) b11 24,1 ( x ) b22 24,2 ( x ) b33 24,3 ( x ) b44 24,4 ( x ) 2b12 4,1 ( x ) 4,2 ( x ) 2b13 4,1 ( x ) 4,3 ( x ) 2b14 4,1 ( x ) 4,4 ( x ) 2b23 4,2 ( x ) 4,3 ( x ) 2b24 4,2 ( x ) 4,4 ( x ) 2b34 4,3 ( x ) 4,4 ( x )
(30)
и соответствующей матрицы
04,2
b11 b 12 b13 b14
b12
b13
b22 b23
b23 b33
b24
b34
b14 b24 b34 b44
(31)
найдем производную функции (30) и соответствующую матрицу
14,2
2b14 b b 11 24 b12 b34 b13 b44
b11 b24
b12 b34
2b12 b13 b22
b13 b22
b14 b23
b24 b33
2b23
b13 b44 b14 b23 . b24 b33 2a34
(32)
Аналогично найдем ненулевую матрицу (31), при которой все элементы матрицы (32) равны 0. Это будет при b14 b12 b23 b34 0 и одном из двух вариантов b11 b24 1 , b33 1 или b13 b22 1 , b44 1 . Отсюда базовыми константами будут квадратичные формы 2 2 2 2 4,3 ( x ) 4,1 ( x ) 2 4,2 ( x ) 4,4 ( x ) , 4,4 ( x ) 4,2 ( x ) 2 4,1 ( x ) 4,3 ( x ) , которые с учетом начальных условий подтверждают первые интегралы (5)-(6). С помощью первых производных квадратичных форм можно вычислить и вторые интегралы. Для этого можно приравнять матрицу первой производной к соответствующей матрице. Например, для вычисления интеграла от квадрата первой функции ОТС (с номером 1) надо матрицу, соответствующую производной квадратичной формы приравнять к матрице той же размерности, у которой на месте с координатами 1, 1 стоит 1, а все остальные элементы равны 0. Любопытно, что вычисления вторых интегралов от функций ОТС нечетного порядка может быть произведено с помощью интегрирования по частям. Например, для первой функции ОТС 1-го рода третьего и пятого порядков имеем
K
2 3,1
( x ) dx K 3,1 ( x ) K 3,1 ( x ) dx K 3,1 ( x ) K 3,3 ( x ) K 3,2 ( x ) K 3,3 ( x ) dx
1 2 K 3,2 ( x ) C , 2 2 K 5,1 ( x)dx K 5,1 ( x) K 5,1 ( x)dx K 5,1 ( x) K 5,5 ( x) K 5,2 ( x) K 5,5 ( x)dx K 3,1 ( x ) K 3,3 ( x )
56
Секция 1. «Теоретическая и прикладная математика»
K 5,1 ( x ) K 5,5 ( x ) K 5,2 ( x ) K 5,4 ( x ) K 5,2 ( x ) K 5,3 ( x ) dx
1 2 K 5,3 ( x ) C . 2 Аналогично могут быть вычислены неопределенные интегралы от квадратов функций ОТС 2-го рода. K 5,1 ( x ) K 5,5 ( x ) K 5,2 ( x ) K 5,4 ( x )
Представление ОТС степенными рядами
Рассмотрим функцию n ,i ( x) , i 1,2,..., n обобщенной тригонометрической системой 1-о рода порядка n . Из определения 1 следует, что она представляется степенным рядом x kn i n ,i ( x ) . kn i ! k 1 Рассмотрим функцию n,i ( x) , i 1,2,..., n ОТС 2-го рода порядка n . Из определения 2 следует, что она представляется степенным рядом k 1 1 x kni n ,i ( x ) . kn i ! k 1 Мы видим, что все функции обобщенных тригонометрических систем представляются в виде лакунарных рядов. Выводы и перспективы исследований
Изучены достаточно многие свойства ОТС функций. Полученные результаты могут быть использованы при решении ряда задач математической физики. Для уравнений, имеющих четный порядок по пространственным переменным, изученные системы функций позволяют построить полные ортонормированные системы собственных функций для соответствующих операторов. Перспективным направлением, по нашему мнению, является исследование свойств ОТС с помощью представления их степенными рядами. В этом случае возможно использование теории аналитических функций. Литература
1. Крылов А.Н. О расчете балок, лежащих на упругом основании. Л., изд. АН СССР, 1931, 153 с. 2. Виноградов Ю.И. Мультипликативный метод решения краевых задач теории оболочек. Прикладная математика и механика. РАН, Том 77, выпуск 4, 2013 с. 620-628.
57
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
3. Виноградов Ю.И. Функции Коши-Крылова в расчетах на прочность пластин и оболочек. Известия высших учебных заведений. Машиностроение 2013, № 8, с. 15-19. 4. Клово А.Г. Некоторые вопросы колебаний кварцевых резонаторов с одним держателем. Физические основы микроэлектроники. Сб. трудов МИЭТа, М., 1979, стр.58-65. 5. Клово А.Г. Задачи на собственные значения для одного линейного параметризованного оператора. Деп. ВИНИТИ № 5428-80, 24 дек. 1980, 34с. 6. Клово А.Г. Некоторые свойства обобщенных тригонометрических систем. Донецкие чтения 2018: образование, наука, инновации, культура и вызовы современности. Материалы III Международной научной конференции 25 октября 2018 года, г. Донецк. Том 1 Физико-математические и технические науки, с. 349-350. 7. Клово А.Г., Кузнецов А.Е., Кузнецов Р.Е., Чистякова Т.А. Построение и свойства обобщенных тригонометрических систем нечетного порядка. Материалы X международной научно-технической конференции в рамках V международного научного форума Донецкой народной республики 22-24 мая 2019 г., Донецк, ДонНТУ–2019, с. 25-29. Клово А.Г., Куповых Г.В., Чистякова Т.А. Обобщения тригонометрических систем и некоторые приложения. Работа посвящена свойствам систем функций, которые последовательно переходят друг в друга при взятии производных. При этом производная последней функции системы равна первой функции, взятой со знаком «+» или «–». Такими системами второго порядка являются обычные гиперболические и тригонометрические функции. В явном виде использовались функции, порожденные подобными системами четвертого порядка, возникающие, в частности, при исследовании прочности конструкций. Исследованы общие и разнообразные свойства обобщенных тригонометрических систем различных порядков. Ключевые слова: обобщенные тригонометрические системы, функции Крылова, интегральные свойства, дифференциальные уравнения, прочность конструкций. А.G. Klovo, G. V. Kupovykh, T. A. Chistyakova. A generalization of trigonometric systems and some applications. The work is devoted to the properties of systems of functions that successively pass into each other when taking derivatives. In this case, the derivative of the last function of the system is equal to the first function taken with the sign " + " or "–". Such second-order systems are the usual hyperbolic and trigonometric functions. The functions generated by such systems of the fourth order, arising, in particular, in the study of structural strength, were used explicitly. General and various properties of generalized trigonometric systems of different orders are investigated. Keywords: generalized trigonometric systems, Krylov functions, integral properties, differential equations, structural strength.
58
Секция 1. «Теоретическая и прикладная математика»
УДК 512.567.5 + 512.579
ОБ УНАРАХ С ТОЖДЕСТВАМИ В РЕШЁТКЕ КОНГРУЭНЦИЙ Кожухов И.Б., Пряничников А.М. Национальный исследовательский университет «МИЭТ», (г. Москва, Россия) e‐mail: kozhuhov_i_b@mail.ru, genary@ya.ru Кожухов И.Б., Пряничников А.М. Об унарах с тождествами в решётке конгруэнций. Доказано, что если решётка конгруэнций унара удовлетворяет нетривиальному решёточному тождеству, то унар является гомоморфным образом копроизведения конечного числа прямых. Ключевые слова: полигон над полугруппой, унар, решётка конгруэнций
Решётка конгруэнций Con A универсальной алгебры A – условию x( st ) ( xs)t при важная характеристика этой алгебры. Это полная решётка с наименьшим элементом {(a, a) | a A} и наибольшим элементом A A, причём Con A является полной подрешёткой решётки Eq A отношений эквивалентности на множестве A (в дальнейшем мы будем часто опускать индекс A и писать просто и ). Изучение алгебр с условиями на решётку конгруэнций – активно развивающееся и богатое содержанием направление общей алгебры. Сюда относятся условия максимальности и минимальности, приводящие к понятиям артиновых и нётеровых алгебр, условие простоты (когда Con A {, } ), антипростоты ( Con A Eq A ), дистрибутивности или модулярности (т.е. решётка Con A дистрибутивна или модулярна), подпрямой неразложимости и т.д. Полигон над полугруппой – это множество X , на котором действует полугруппа S , т.е. определено отображение X S X , ( x, s) xs, удовлетворяющее условию x( st ) ( xs)t при x X , s, t S (см. [1]). Полигон над полугруппой является алгебраической моделью автомата. Кроме того, понятие полигона фактически совпадает с понятием унарной алгебры. Подмножество Y X называется подполигоном, если YS Y . Элемент z X называется нулём, если zs z при всех s S . Нулей у полигона, в отличие от полугруппы, может быть сколько угодно (в полугруппе нуль, если он существует, единствен). Решётку конгруэнций полигона X над полугруппой S мы будем обозначать Con S X или просто Con X . Пусть X – полигон над полугруппой S и Y – его подполигон. Положим Y (Y Y ) X . Это конгруэнция полигона X , называемая конгруэнцией Риса, соответствующей подполигону Y . Нетрудно видеть, что для любого подполигона Y у конгруэнции Риса Y один из классов есть множество
59
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Y , а другие классы одноэлементны. Для фактор-полигона X / Y мы будем также использовать краткую запись: X / Y . Пусть X – полигон над полугруппой S и X i ( i I ) – его подполигоны, причём X { X i | i I } и X i X j при i j. В этом случае мы называем
полигон X копроизведением полигонов X i и пишем X iI X i . В работах по унарам копроизведение называют обычно прямой суммой. Для полугруппы S полагаем S 1 S {1}. Здесь S 1 – полугруппа, полученная присоединением к S внешним образом единицы (при этом считаем, что 1 s s 1 s для каждого s S 1 ). Если X – полигон над S , то его можно сделать полигоном над полугруппой S 1 , положив x 1 x при x X . На полигоне X над полугруппой S можно ввести отношение квазипорядка (рефлексивное и транзитивное отношение), полагая x y x yS 1. Полигон X называется связным, если для любых x, y X существуют элементы x1 ,, x2 n X такие, что x x1 x2 x2 n y. Нетрудно видеть, что любой полигон X является копроизведением связных подполигонов X i (компонент связности). Унар, т.е. множество X с одной унарной операцией f : X X , можно рассматривать как полигон над свободной циклической полугруппой S {a, a 2 , a3 ,}, при этом xa f (a) для x X . Алгебрам A, у которых решётка конгруэнций Con A является дистрибутивной или модулярной, посвящено значительное число работ разных авторов. Дистрибутивные и модулярные полигоны над полугруппами изучались в [2], полное описание таких полигонов над полугруппами левых или правых нулей получено в [3]. В работе [4] были описаны дистрибутивные и модулярные унары. Дистрибутивность решётки Con A означает выполнение в ней тождества ( x y ) z ( x z ) ( y z ), модулярность задаётся тождеством ( x ( y z )) z ( x z ) ( y z ). Естественным представляется изучение алгебр A, у которых решётка Con A удовлетворяет какому-нибудь нетривиальному решёточному тождеству. Данное условие является условием конечности, так как любая конечная алгебра ему удовлетворяет (это следует из того, что всякая конечная решётка удовлетворяет нетривиальному тождеству – см. лемму 3). Многообразия алгебр, у которых решётки конгруэнций всех алгебр удовлетворяют одному и тому же нетривиальному тождеству, посвящены монография [5] и диссертация [6]. В работе [7] были описаны коммутативные полугруппы, у которых решётки подполугрупп удовлетворяют нетривиальному решёточному тождеству. Цель данной работы – найти условия того, что решётка конгруэнций унара удовлетворяет нетривиальному тождеству.
60
Секция 1. «Теоретическая и прикладная математика»
Основные сведения из универсальной алгебры можно найти в [8], из теории решёток – в [9], теории полугрупп – в [10], полигонов над полугруппами – в [1], унаров – в [11], многообразий решёток – в [12]. Пусть X – унар. Элемент x X yазовём узлом, если существуют элементы y, z X такие, что ya za x, причём x y z x. Элемент x X периодический, если xai x для некоторого i 0. Последовательность x1 , x2 , x3 , различных элементов унара назовём направлением, если xi a xi 1 при всех i 2. Два направления ( xi ) и ( yi ) назовём эквивалентными (пишем ( xi ) ~ ( yi ), если существуют числа j , k такие, что yi xi k при всех i j. Нетрудно проверить, что отношение ∼ является отношением эквивалентности на множестве всех направлений. Элементы x X \ XS будем называть начальными. Основным результатом работы является Теорема. Если решётка конгруэнций унара удовлетворяет нетривиальному решёточному тождеству, то унар имеет лишь конечное число узлов, начальных элементов, компонент связности и классов эквивалентных направлений.
Авторы предполагают, что сформулированные в теореме необходимые условия являются также достаточными, однако, не располагают доказательством этого утверждения. Доказательство теоремы основывается на ряде вспомогательных утверждений, часть из которых верны не только для унаров, но и для более широкого класса полигонов. Следующее утверждение хорошо известно, но мы приводим его для полноты изложения. Лемма 1. Если X – полигон над полугруппой S , Y – его подполигон и Con X , то решётки ConY и Con ( X / ) изоморфно вкладываются в решётку Con X .
Доказательство. Нетрудно проверить, что отображение X вляется решёточным вложением ConY в Con X . Решётка Con ( X / ) изоморфна интервалу [ , X ] решётки Con X – это общеалгебраический факт (см., например, теорему 6.20 из [13]). Для дальнейшего нам понадобится несколько фактов из теории многообразий решёток. Решёточное тождество u v называется нетривиальным, если оно выполняется не во всех решётках, но выполняется в какой-либо нетривиальной решётке. Здесь u, v – термы сигнатуры {, }. ∧,∨ . Лемма 2 ([14], теорема). Решётка Eq M , где M – бесконечное множество, не удовлетворяет никакому нетривиальному тождеству. Лемма 3. Всякая конечная решётка удовлетворяет некоторому нетривиальному тождеству. 61
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Доказательство этого известного утверждения приведём для полноты изложения. Пусть L – конечная решётка. Обозначим через Var L многообразие, порождённое решёткой L. Так как L конечна, то ввиду [8, следствие 3.14] многообразие Var L локально конечно. Однако, не все решётки локально конечны – например, свободная решётка с 3 свободными образующими не является локально конечной, так как по теореме Уитмена (теорема 8 главы VI в [9]) она содержит свободную решётку с 0 свободными образующими). Следовательно, многообразие Var L не совпадает с классом всех решёток, а значит, удовлетворяет нетривиальному тождеству. Лемма 4. Пусть X – полигон над полугруппой S . Если решётка Con X удовлетворяет нетривиальному тождеству, то: (1) X имеет лишь конечное число компонент связности; (2) множество X \ XS конечно.
Доказательство. Пусть X – полигон, для которого Con X удовлетворяет нетривиальному тождеству. Пусть X iI X i – разложение X на компоненты связности. Очевидно, отношение iI ( X i X i ) является
конгруэнцией, и фактор-полигон X / / состоит из нулей. По лемме 1 решётка Con ( X / ) также удовлетворяет нетривиальному тождеству (тому Так как X / состоит из нулей, то же, что Con X ). Con ( X / ) Eq( X / ) Eq I . Следовательно, по лемме 2 | I | . ∞. Полигон X / XS также состоит из нулей, поэтому также | X / XS | . Отсюда следует, что | X \ XS | . Лемма 5. Если решётка конгруэнций Con X унара X удовлетворяет нетривиальному тождеству, то унар X имеет лишь конечное число периодических элементов. Доказательство. Очевидно, в каждой компоненте связности периодические элементы, если они есть, образуют конечный цикл {x, xa, xa 2 ,, xa m1}. где xa m x. По лемме 4 компонент связности конечное число. Следовательно, периодических элементов также конечное число. Лемма 6. Если решётка Con X унара X удовлетворяет нетривиальному тождеству, то X не содержит бесконечного множества попарно не сравнимых относительно естественного квазипорядка элементов.
Пусть x1 , x2 , x3 , – бесконечное множество попарно не сравнимых элементов. Ввиду леммы 5 мы можем считать без ограничения общности, что все элементы xi непериодические. Положим Y i xi S 1 , Y i 1 xi S . По 1
лемме 1 решётка Con (Y / Y ) удовлетворяет нетривиальному тождеству. Кроме того, Y / Y состоит из нулей. Поэтому Con (Y / Y ) Eq (Y / Y ). Докажем, что унар Y / Y бесконечен. Для этого достаточно показать, что xi Y 62
Секция 1. «Теоретическая и прикладная математика»
при всех i I . Пусть xi Y для какого-либо i. Тогда xi x j a k при некоторых j, k 1. При i j получаем противоречие, так как xi и x j не могут быть сравнимы. Если i j, то xi – периодический элемент, что также невозможно. Итак, Y / Y – бесконечное множество. Отсюда по лемме 2 решётка Eq (Y / Y ) не удовлетворяет никакому нетривиальному тождеству, а это противоречит ранее доказанному. Отметим, что утверждение леммы 6 для полигонов над произвольными полугруппами в общем случае неверно. Примерно так же, как доказывались леммы 4, 5, 6, можно доказать, что унар X , у которого решётка Con X удовлетворяет тождеству, имеет лишь конечное число узлов, периодических элементов и классов эквивалентных направлений. Сделаем ещё одно замечание о строении таких унаров. Нетрудно видеть, что свободный циклический полигон над полугруппой S – это полигон S 1, а произвольный свободный полигон с непустым множеством свободных образующих – это копроизведение совокупности различных экземпляров полигона S 1. В случае унаров мы имеем: свободный циклический унар – это луч F {x, xa, xa 2 ,}, состоящий из формальных выражений указанного вида с действием xai a j xai j (здесь считается, что xa 0 x ), а произвольный свободный унар с непустым множеством свободных образующих – копроизведение свободных циклических унаров. Пусть U – прямая, т.е. U {, 2, 1,0,1,2,} с действием k a k 1 (k ). Нетрудно видеть, что наличие у унара X лишь конечного числа узлов, компонент связности, начальных элементов и классов эквивалентнвх направлений равносильно тому, что X является гомоморфным образом копроизведения конечного числа прямых. Литература
1. Kilp M., Knauer U., Mikhalev A.V. Monoidsm acts and categories // Berlin – N.Y., de Gruyter, 2000, xvii + 529 pp. Птахов Д.О., Степанова А.А. Решётки конгруэнций полигонов // 2. Даль-невост. матем. журн., 13:1 (2013), 107–115. Халиуллина А.Р. Условия модулярности решётки конгруэнций 3. полигона над полугруппой правых или левых нулей // Дальневост. матем. журн., 15:1 (2015), 102–120. 4. Егорова Д.П. Структура конгруэнций унарной алгебры // Упорядоченные множества и решётки (межвуз. научн. сборник), 1978, вып. 5, с. 11– 43. Изд-во Саратовского ун-та. 5. Kearnes K.A., Kiss E.W. The shape of congruence lattices // Memoires Amer. Math. Soc., 2013, v. 222, viii + 169 pp.
63
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
6. Nation J.B. Varieties of algebras whose congruence lattices satisfy lattice identities (Thesis)// California Institute of Technology, Pasadena, California, 1973, 63 pp. 7. Репницкий В.Б., Кацман С.И. Коммутативные полугруппы, решётка подполугрупп которых удовлетворяет нетривиальному тождеству // Матем. сб., 137(179):4(12) (1988), 462–482. 8. Кон П. Универсальная алгебра. М., Мир, 1968, 359 с. 9. Гретцер Г. Общая теория решёток. М., Мир, 1982, 454 с. 10. Клиффорд А„ Престон Г. Алгебраическая теория полугрупп / / М., Мир, 1972, т. 1, 286 с., т. 2, 423 с. 11. Jakubiková-Studenovská, D., Pócs, J. Monounary algebras // UPJS, Košice (2009). 12. Jipsen P., Rose H. Variety of lattices. Lect. Notes Math, № 1533, 1992, 168 pp. 13. Burris S., Sankappanavar H.P. A course in universal algebra/ The Millenium Edition, 1981, xvi + 315 pp. (univ-algebra.pdf из math.hawaii.edu). 14. Sachs D. Identities in finite partition lattices. Proc. Amer. Math. Soc., 1961, v. 12, iss. 6, p. 944–945.
Кожухов И.Б., Пряничников А.М. Об унарах с тождествами в решётке конгруэнций. Доказано, что если решётка конгруэнций унара удовлетворяет нетривиальному решёточному тождеству, то унар является гомоморфным образом копроизведения конечного числа прямых. Ключевые слова: полигон над полугруппой, унар, решётка конгруэнций Kozhukhov I.B., Pryanichnikov A.M. On unars with identities in congruence lattice. We prove that if in congruence lattice of an unar a nontrivial lattice identity holds, then unar are homomorphic image of coproduct of finite numbers of lines. Keywords: act over semigroup, unar, congruence lattice
64
Секция 1. «Теоретическая и прикладная математика»
УДК 551.588.9
МУЛЬТИФРАКТАЛЬНЫЙ АНАЛИЗ МЕТЕОДАННЫХ ДОНЕЦКА Козаков1 Б.А., Бельков2 Д.В. УОР им. С. Бубки (г. Донецк) 2 ГОУ ВПО «Донецкий национальный технический университет» (г. Донецк) e-mail: belkovdv@list.ru Козаков Б.А., Бельков Д.В. Мультифрактальный анализ метеоданных Донецка. Целью работы является анализ метеоданных Донецка для определения их фрактальных свойств. Работа выполнена в среде Octave. Измерения проводились в течение 2018 года ежедневно с интервалом 30 минут. Получены следующие результаты. Временные ряды температуры, атмосферного давления и относительной влажности воздуха являются мультифрактальными. Временной ряд температуры монофрактальный. Все временные ряды персистентные, поэтому возможно их прогнозирование. Ключевые слова: мультифрактал, метеоданные, анализ временных рядов.
Введение Временные ряды представляют последовательности значений исследуемой величины, взятых в дискретные моменты времени, разделенные относительно малым интервалом. Такие ряды являются естественным представлением последовательных измерений физических величин, экономических, медицинских или метеорологических показателей и др. Среди временных рядов широко распространены самоподобные (масштабно инвариантные) ряды, отвечающие фрактальным множествам, вид которых не изменяется при совместных изменениях размера системы и масштаба наблюдения. Анализ временных рядов позволяет находить их глобальные характеристики, влияющие на предсказуемость изменений изучаемой величины. Например, определение фрактальных свойств метеорологических рядов необходимо для выбора подхода к прогнозу погоды. В зависимости от результатов исследования может выбираться динамический или статистический метод прогноза. Одним из способов, позволяющим исследовать фрактальные свойства временного ряда, является метод нормированного размаха, предложенный Херстом для выделения долговременных тенденций в рядах гидрометеорологических величин и получивший распространение при выявлении фрактальных характеристик временных последовательностей. Для метеорологических данных этот метод применялся, например, в работе [1]. Однако метод нормированного размаха (R/S-анализ) позволяет получить степень фрактальности лишь монофрактальных рядов. При R/S-анализе не
65
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
рассматриваются локальные свойства, учет которых достигается при использовании метода мультифрактального флуктуационного анализа [2]. В данной статье при исследовании метеорологических последовательностей предложено использовать мультифрактальный анализ. Целью работы является анализ метеоданных Донецка для определения их фрактальных свойств. Задачи: исследовать временные ряды температуры, атмосферного давления и относительной влажности воздуха. Работа выполнена в среде Octave. Исходные данные получены метеостанцией Донецка [3]. Измерения проводились в течение 2018 года ежедневно с интервалом 30 минут. Получено свыше 3000 отсчетов. Метод мультифрактального анализа Метод мультифрактального анализа сводится к следующим шагам [4]. 1. Для исследуемого ряда x(i), i=1,2,…, N следует выделить флуктуационный профиль y (i ) x(i ) x , где x - среднее значение. Ns N / s значения y(i) разделяются на 2. Полученные непересекающихся сегментов равной длин s. При этом следует учесть, что длина ряда N не всегда кратна шкале s. Поэтому, чтобы не исключать из анализа последний участок, содержащий число элементов, меньшее s, следует повторить процедуру деления, начиная с противоположного конца ряда. В результате получаем 2 N s сегментов 1,2,...N s , N s 1,..2 N s длины s. 3. Используя метод наименьших квадратов, для профиля y(i), отвечающего каждому из этих сегментов, вычислить локальный тренд y (i) , представляющий полином, степень которого обеспечивает заданную точность. Затем для сегментов 1,2,...N s по формуле (1) определяется дисперсия: 1 s 2 F ( , s) { y[( 1) s i] y (i )}2 (1) s i 1 Для N s 1,..2 N s используется формула (2)
1 s (2) { y[ N ( N s ) s i] y (i)}2 s i 1 4. Усредняя значения (1), (2) , деформированные произвольным показателем q, вычисляются моменты: 1 2N s 2 Fq ( s) { (3) [ F ( , s)]q / 2 }1 / q 2 N s 1 При q 0 вместо (3) нужно использовать формулу (4) F 2 ( , s)
F0 ( s ) exp{
1 2N s ln[ F 2 ( , s)]} 4 N s 1 66
(4)
Секция 1. «Теоретическая и прикладная математика»
Характерно, что при положительных показателях q основной вклад в сумму по ν дают сегменты, отвечающие большим отклонениям F 2 ( , s) , а при отрицательных доминируют вклады малых флуктуаций. 5. Самоподобное поведение, означающее наличие дальнодействующих степенных корреляций, представляется степенно зависимостью моментов (3), (4)
Fq (s) s h(q)
(5)
При фиксированном значении q эта зависимость в двойных логарифмических координатах представляет собой прямую линию. При больших значениях s зависимость Fq (s) не имеет статистической информативности, поскольку число сегментов N s , используемых в процедуре усреднения (3), (4), становится малым. При обработке ряда нужно Исключить значения s>N/4, а также малые сегменты (s<6), для которых теряет статистическую достоверность усреднение (1), (2) по каждому из сегментов. Если ряд экспериментальных данных является монофракталом, то обобщенный показатель Херста h(q) в равенстве (5) принимает единственное Значение h(q)=H. В случае мультифрактального ряда показатель h приобретает зависимость от q. Для стационарных рядов h(0) определяет топологическую размерность пространства, содержащего фрактальное множество, h(1) – меру его беспорядка, h(2) – показатель дальних корреляций. В рамках стандартной фрактальной идеологии используется не только обобщенный показатель Херста h(q), но массовый показатель τ(q) и мультифрактальный спектр f(α). Этот переход достигается преобразованиями Лежандра [5]: (q) qh(q ) 1 (6) (q), f ( ) q (q) (7) Для монофрактальных объектов функция τ(q) представляется прямолинейной зависимостью, которая с переходом к мультифракталам выгибается, сохраняя прямолинейные участки. Наиболее ярко строение самоподобного объекта представляется формой мультифрактального спектра f(α), ширина которого дает набор фрактальных размерностей. Для монофракталов функция f(α) имеет δ-образную форму с фиксированным значением α. Анализ метеоданных
В первой серии вычислительного эксперимента построены временные ряды, определены функции распределения вероятностей и показатели Херста. Результаты показаны на рисунках 1,2 и в таблице 1. Изучаемые временные ряды являются персистентными. 67
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Рисунок 1 – Изучаемые временные ряды
Рисунок 2 – Плотности распределения рядов 68
Секция 1. «Теоретическая и прикладная математика»
Таблица 1. Показатель Херста Временной ряд Относительная влажность Атмосферное давление Температура воздуха
Показатель Херста H 0,8 0,95 0,9
Во второй серии эксперимента выполнен мультифрактальный анализ временных рядов с помощью алгоритма MFDFA1 [5]. Результаты показаны на рисунках 3-14.
Рисунок 3 – Скейлинговая функция относительной влажности Скейлинговая функция зависит от q, следовательно, временной ряд является мультифрактальным.
Рисунок 4 – Обобщенный показатель Херста относительной влажности 69
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Обобщенный показатель Херста зависит от q, временной ряд является мультифрактальным.
Рисунок 5 – Массовый показатель относительной влажности Массовый показатель не является линейной функцией следовательно, временной ряд является мультифрактальным.
Рисунок 6 – Мультифрактальный спектр относительной влажности: Dq f ( ) , hq 70
q,
Секция 1. «Теоретическая и прикладная математика»
Ширину мультифрактального спектра Временной ряд является мультифрактальным.
нельзя
считать
нулевой.
Рисунок 7 – Скейлинговая функция атмосферного давления Скейлинговая функция зависит от q, следовательно, временной ряд является мультифрактальным.
Рисунок 8 – Обобщенный показатель Херста атмосферного давления Обобщенный показатель Херста зависит от q, временной ряд является мультифрактальным.
71
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Рисунок 9 – Массовый показатель атмосферного давления Массовый показатель не является линейной функцией следовательно, временной ряд является мультифрактальным.
q,
Рисунок 10 – Мультифрактальный спектр атмосферного давления
Dq f ( ) , hq Ширину мультифрактального спектра Временной ряд является мультифрактальным. 72
нельзя
считать
нулевой.
Секция 1. «Теоретическая и прикладная математика»
Рисунок 11 – Скейлинговая функция температуры воздуха Скейлинговая функция практически не зависит от q, следовательно, временной ряд является монофрактальным.
Рисунок 12 – Обобщенный показатель Херста температуры воздуха Обобщенный показатель Херста крайне слабо зависит от q, временной ряд можно считать является монофрактальным.
73
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Рисунок 13 – Массовый показатель температуры воздуха Массовый показатель является практически линейной функцией q, следовательно, временной ряд является монофрактальным.
Рисунок 14 – Мультифрактальный спектр температуры воздуха Ширина мультифрактального спектра близка к нулю. Временной ряд является монофрактальным. 74
Секция 1. «Теоретическая и прикладная математика»
Выводы
В работе выполнен мультифрактальный анализ метеоданных Донецка. Измерения проводились в течение 2018 года ежедневно с интервалом 30 минут. Изучаемые временные ряды имеют свыше 3000 отсчетов. Получены следующие результаты. Временные ряды температуры, атмосферного давления и относительной влажности воздуха являются мультифрактальными. Временной ряд температуры монофрактальный. Все временные ряды персистентные, поэтому возможно их прогнозирование. Литература
1. Кузнецова Е.С., Анискина О.Г. Исследование фрактальных свойств метеорологических последовательностей методом нормированного размаха. – Режим доступа: http://elib.rshu.ru/files_books/pdf/4-2.pdf Олемской А.И., Данильченко С.Н., Борисюк В.Н., Шуда И.А. 2. Мультифрактальный анализ рентгеновских дифрактограмм сложных конденсированных сред. – Режим доступа: https://www.researchgate.net/publication/279505834_Multifraktalnyj_analiz_rentg enovskih_difraktogramm_sloznyh_kondensirovannyh_sred. Погода_в_Донецке. – Режим доступа: https://rp5.ru/ 3. 4. Multifractal Detrended Fluctuation Analysis of Human Gait Diseases. – Режим доступа: //https://www.researchgate.net/publication/257600522_ Multifractal_Detrended_Fluctuation_Analysis_of_Human_Gait_Diseases Introduction to multifractal detrended fluctuation analysis in Matlab. – 5. Режим доступа: https://www.frontiersin.org/articles/10.3389/fphys.2012.00141/full Козаков Б.А., Бельков Д.В. Мультифрактальный анализ метеоданных Донецка. Целью работы является анализ метеоданных Донецка для определения их фрактальных свойств. Работа выполнена в среде Octave. Измерения проводились в течение 2018 года ежедневно с интервалом 30 минут. Получены следующие результаты. Временные ряды температуры, атмосферного давления и относительной влажности воздуха являются мультифрактальными. Временной ряд температуры монофрактальный. Все временные ряды персистентные, поэтому возможно их прогнозирование. Ключевые слова: мультифрактал, метеоданные, анализ временных рядов Kozakov B.A., Belkov D.V. Multifractal analysis of Donetsk meteo data. The aim of the work is the analysis of meteorological data of Donetsk to determine their fractal properties. The research is executed in the Octave environment. The measurements were carried out during the year 2018 daily with an interval of 30 minutes. The following results were obtained. The time series of temperature, atmospheric pressure and relative humidity are multifractal. The time series of temperature is monofractal. All time series have, so perhaps their prediction. Keywords: multifractal, meteo data, time series analysis 75
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
УДК 519.1
ОПТИМИЗАЦИЯ WEB-САЙТА ИНТЕРНЕТ-МАГАЗИНА Лапшина Е.В., Анохина И.Ю. ГОУ ВПО «Донецкий национальный технический университет» (г. Донецк) e-mail: IngaTula@mail.ru, kat_lapshina@mail.ru Лапшина Е.В., Анохина И.Ю. Оптимизация Web-сайта Интернет-магазина. Разработана модель, описывающая влияние различных факторов на продвижение Web-сайта Интернет-магазина. Ключевые слова: электронная коммерция, информационные технологии, Интернет-магазин, Web-сайт, логистическая регрессия, кластерный анализ.
Постановка проблемы Развитие информационных технологий и, прежде всего, электронных сетей, дало мощный импульс для формирования новой среды, интенсивность использования которой стала важной особенностью функционирования современного бизнеса. Это обусловило появление новых форм бизнеспроцессов с существенной долей электронной составляющей деловых отношений [1]. В настоящий момент использование Интернет-технологий, позволяет оптимизировать бизнес-процессы. Более трети из 100 крупнейших американских сетевых торговых систем оказывают услуги электронной коммерции. Мировой рынок e-commerce продолжает расти: за 2018 год его объем увеличился на 18%, а суммарная стоимость всех онлайн-заказов составила $2,86 трлн. Прогнозируется дальнейшее увеличение числа участников в сегменте рынка электронной коммерции и в России [2]. В 2009 г. объем электронной коммерции в России составлял 110 млрд. руб., в 2010 г. - около 240 млрд. руб., показав прирост более чем на 200%. Последние три года темпы роста объема онлайн-торговли не превышали 20%. В начале 2018 года Ассоциация компаний Интернет-торговли (АКИТ) прогнозировала, что рынок вырастет на 15%. Аналогичная оценка приводилась и в исследовании Института экономической политики имени Е.Т. Гайдара, вышедшем в марте. Тем не менее, по результатам исследований АКИТ за 2018 год объем российского рынка онлайн-торговли вырос на 59% по сравнению с показателем предыдущего года [3]. Основным местом взаимодействия компании в сети Интернет и пользователей Интернета является Web-сайт. Взаимодействие пользователей и веб-сайта можно моделировать с целью определения оптимальных стратегий как при разработке, так и при продвижении сайта, а, следовательно, увеличении объема продаж, числа клиентов и пр. Разработка Web-сайта сопровождается сравнительно небольшими затратами по сравнению с постоянными рекламными кампаниями в 76
Секция 1. «Теоретическая и прикладная математика»
средствах массовой информации. Сайт может быть конкретно ориентирован на профиль покупателя. В сети Интернет представлено большое количество инструментов для ведения Интернет-бизнеса. Однако при их выборе, как правило, применяются эвристические процедуры, основанные на опыте, интуиции и рекомендациях различных авторов по продвижению сайтов. Это обусловило актуальность поставленных задач. Задачами исследования являются: - определение факторов, оказывающих влияние на развитие системы электронной коммерции и продвижения Интернет-магазинов, коммерческих брендов в сети; - разработка моделей оценки степени воздействия различных показателей сайтов электронной коммерции на степень успешности компаний в сети; - создание модели, описывающей взаимодействие Web-сайта Интернет-проекта и пользователей сети. Разработка на этой основе предложений по повышению эффективности использования Web-сайтов для электронной коммерции. Исследования. Методика расчета рейтинга Исходные данные для моделирования получены из результатов рейтинга [4], включающего сто крупнейших по объему онлайн-продаж российских магазинов по итогам 2018 года. В основе рейтинга лежит комплексная методика построения рейтинга и сбора данных. По умолчанию рейтинг отсортирован по объему онлайнпродаж. В качестве прогнозируемой переменной выбирался номер магазина в рейтинге. Рассматривались магазины, входящие в первую десятку, т.е. имеющие наибольший объем продаж; магазины, находящиеся в середине и в конце Топа. В качестве исследуемых параметров учитывались следующие факторы: Юзабилити (Usability, в расчетах обозначена как переменная U). Фактор Юзабилити включает в себя 10 параметров: наличие интуитивно понятных иконок; единообразие интерфейса; предсказуемое местонахождение ключевых элементов; карту сайта; «принцип ненасилия»; мгновенный скроллинг; простая структура главного меню; отсутствие нагромождения элементов; использование «живого» поиска; лаконичные и короткие тексты. Фактор Вид меню (в дальнейшем переменная VM) определяет горизонтальное, вертикальное или смешанное представление меню сайта. С его помощью каждый посетитель имеет возможность легко переходить в нужные разделы и понимает, какая информация представлена на страницах.
77
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Основная цель меню сайта – навигационная. Меню делает проще и быстрее ориентацию пользователя в контенте, помогает быстро найти информацию, не тратя время на изучение ненужных страниц. Размер шрифта, переменная RSH, связана с количеством используемых на сайте видов шрифтов, их размеров. Подходящие размеры шрифтов имеют больший визуальный вес и улучшают юзабилити. Согласно исследованиям Payame Noor University и IBM/Google, чем крупнее размер шрифта, тем больше скорость чтения. Крупные шрифты с узнаваемыми стилями заголовка и параграфа позволяют посетителю быстро определять заголовки на странице и соответственно быстрее продвигаться к следующему пункту [5], а, следовательно, увеличивают комфортность работы. Время загрузки страницы (переменная VZ) – один из важных факторов удобства сайта. Никому не нравится стоять в очереди. Современные потребители «жестоки» и не простят загрузку страницы более 2-х секунд. Как показали исследования, после трех секунд ожидания загрузки 57% посетителей покинут сайт[6]. Поисковики так же обращают внимание на время загрузки страницы сайта. Большое время загрузки негативно влияет на позиции в выдаче. И Яндекс, и Google отдают предпочтение быстрым ресурсам. Причина проста: чем больше медленных сайтов попадает в Топ выдачи поисковой системы, тем реже пользователи будут ее использовать[7]. Для измерения скорости загрузки был использован инструмент PageSpeed Insights от Google. Персональные скидки (переменная PS) – это выгодные предложения конкретным покупателям. Включают в себя скидки для постоянных клиентов. Такие предложения называют «программами лояльности». Они представлены в виде дисконтных карт, предлагаемых покупателю. На них накапливаются бонусы, которые в дальнейшем используют. Такая методика хорошо работает в случае с высокомаржинальными товарами, т.е с товарами, на которые повышенный спрос постоянен [8]. Бесплатная доставка (переменная BD) – самый любимый покупателями и самый невыгодный, на первый взгляд, вариант для продавца. По данным американских маркетологов, для 59% покупателей интернетмагазинов цена доставки оказывает влияние на решение о покупке, а 44% отказываются что-либо покупать, если цена доставки высока [9]. Возврат товара (переменная VT). По исследованиям ReadyCLOUD, 80% клиентов не будут совершать покупку, если точно известно, что возврат в данном магазине – это хлопотно или невозможно. И наоборот, 92% клиентов указали, что они снова будут делать покупки в том же интернетмагазине, если политика возврата лояльна к покупателю [10]. Мобильная версия сайта (переменная MV). В 2019 году наличие, оптимизированной под мобильные платформы, версии сайта – это «must have» для коммерческих сайтов. Данный фактор позитивно влияет на продвижение в Google. Мобильное приложение (переменная MP) дает возможность компании повысить продажи, создать еще один канал привлечения покупателей и 78
Секция 1. «Теоретическая и прикладная математика»
получить эффективный инструмент для возврата клиентов. На данный момент, весомый процент пользователей регулярно совершает покупки через мобильные устройства. В 2018 году мобильный трафик онлайн магазинов достиг отметки 64.5%[11]. По данным Smart Insight более 95% онлайн-потребителей, зарегистрированы как минимум в двух социальных сетях и одну из них используют постоянно. С каждым годом социальные сети всё больше и больше заменяют поисковики для онлайн-аудитории. Платёжеспособные молодые люди до 24 лет предпочитают искать информацию о товаре или бренде именно в социальных сетях, а 1/4 респондентов отметила, что лайки, репосты, комментарии в сообществе магазина могут склонить их к покупке. В группе до 44 лет это 1/5 опрошенных. Исследование From social to sale показывает зависимость между репостами и лайками в Facebook и продажами (как онлайн, так и офлайн) — почти треть пользователей покупали продукт после репоста (рис.1).
Рисунок 1 – Влияние активностей в Facebook на онлайн- и офлайнпродажи (в процентах) Литературные описания (переменная LO) – это журналы, брошюры, полезные статьи, которые интернет-магазин производит для покупателей. Они направлены на ознакомление потребителя с идеями, товаром, сферами деятельности магазина. Количество социальных сетей (переменная KS) показывает распространенность магазина в сети Интернет. Социальные сигналы (репосты, лайки, твиты), ссылки из социальных сетей позитивно сказываются на продвижении в поисковиках сайта. Чем больше число подписчиков, тем выше этот показатель. Благодаря последнему вероятность выбора потенциальным клиентом предлагаемого продукта увеличивается [12]. 79
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Согласно исследованию Forbes, 78% опрошенных заявили, что публикации компаний в социальных сетях влияют на их решение о покупке товара или услуги [13]. Исследования. Вид исходных данных показан на рис.2. Все процедуры расчетов проводили в пакете Statistica. На первом этапе данные обрабатывались с помощью модуля Factor Analysis (Факторный анализ). Ставились следующие задачи: 1. Определить количество действующих факторов и указать их относительную интенсивность. 2. Выявить признаковую структуру факторов, т.е. показать, какими признаками объекта обусловлено действие того или иного фактора и в какой относительной мере. 3. Выявить факторную структуру изучаемых признаков объекта, т.е. показать долю влияния каждого из факторов на значение того или иного признака этого объекта.
Рисунок 2 – Исходные данные для моделирования Рассчитанные факторные нагрузки показаны в табл.1. Доля общей дисперсии (Prp.Totl) составляет около 70%. Из рассмотрения были исключены переменные, связанные с характеристиками возврата товара и наличием мобильной версии сайта, т.к. они принимают одинаковое значение практически во всех анализируемых объектах. Как показали исследования, к первому фактору относятся: переменная, определяющая вид меню (VM), наличие мобильного приложения (MP) и количество социальных сетей (KS), в которых представлен Интернет-портал. Таким образом, в целом первый фактор связан с уровнем представления портала в Интернете. Второй фактор определяется уровнем «дружелюбности» сайта (юзабилити U) и наличием нескольких вариантов шрифтов, используемых
80
Секция 1. «Теоретическая и прикладная математика»
при просмотре сайта. Т.е. второй фактор характеризует удобство работы пользователя. Таблица 1. Факторные нагрузки Фактор 1 Фактор 2 Фактор 3 Фактор 4 U 0.41 0.60 -0.24 -0.48 VM -0.50 -0.10 0.13 0.25 RSH 0.13 0.74 0.35 0.09 VZ 0.35 -0.13 0.63 -0.34 PS -0.01 -0.51 0.43 -0.61 BD 0.22 -0.49 -0.25 0.60 MP 0.56 -0.36 0.51 0.05 LO 0.55 0.19 0.56 -0.05 KS 0.66 0.06 -0.16 0.44 Prp.Totl 0.22 0.18 0.16 0.11 К третьему фактору были отнесены время загрузки (VZ) и наличие литературного описания (LO), причем переменная LO, как показали дальнейшие исследования, имеет практически в два раза меньшее влияние, чем время загрузки. Третий фактор в основном определялся скоростью работы. Наличие персональных скидок и бесплатных доставок товаров образовали четвертый фактор. Для оценки степени воздействия факторов на позицию портала в рейтинге, была построена регрессионная модель. Предварительно исходные данные преобразовали, введя весовые коэффициенты с учетом их факторных нагрузок и доли дисперсии, определяемой факторами. Как видно, наибольшее влияние оказывают наличие мобильной версии сайта и функции, позволяющие сделать процесс работы, чтения сайта максимально комфортным. Результаты анализа показаны на рис.3
Рисунок 3 – Результаты регрессионного анализа 81
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Проведенный кластерный анализ позволил оценить близость факторов. Следует отметить, что комфортность работы с сайтом «побеждает» такие технические характеристики, как скорость загрузки.
Рисунок 4 – Кластеризация переменных Кластерный анализ позволил разбить группы Интернет-порталов на 3 кластера. Разбиение оценено в модуле Discriminant Analysis, который подтвердил правильность разбиения на три кластера. Фрагмент таблицы показан на рис.5
Рисунок 5 – Результаты разбиения группы Интернет-порталов на кластеры Средние значения параметров по каждому кластеру показаны в табл. 2. К первому кластеру отнесены Интернет-порталы, находящиеся на первых строках рейтинга, т.е. лучшие. Они имеют высокую оценку юзабилити, 82
Секция 1. «Теоретическая и прикладная математика»
бесплатную доставку товара, наличие мобильного приложения и литературного описания. Их особенностью является серьезное представительство в большом количестве социальных сетей. Второй сектор – это порталы среднего звена. Их характеризует более низкая оценка удобства работы с сайтом, хотя при этом достаточно высокая скорость загрузки сайта, количество социальных сетей в среднем около 4-х, в то время как у порталов высшего рейтинга их количество доходит до 8. «Худшие» порталы, т.е. находящиеся внизу Топа, имеют, тем не менее, достаточно высокий рейтинг удобства сайта и высокую скорость загрузки, что можно объяснить меньшим количеством вспомогательных функций. Их отличает отсутствие бесплатной доставки и литературного описания, а также малая распространенность в социальных сетях, в среднем около 2-х социальных площадок. Таблица 2. Средние значения параметров по каждому кластеру № Время загрузки Бесплатная клас- Рейтинг Сервис (сек) доставка тера 1 2 3
14 36,7 71,2
8,5 7,3 8,1
2,4 1,7 1,5
0,5 0,3 0,0
Мобильное приложение
Литературные описания
Соц.сети
0,5 0,3 0,4
0,4 0,2 0,0
6,2 4,0 1,4
Была разработана множественная регрессионная модель, рис.6. Тип маркера определялся номером кластера, в который входил объект. На основании предложенной модели возможно определение наиболее существенных характеристик Web – сайта для продвижения Интернетпортала в рейтинге.
Рисунок 6 – Результаты прогнозирования с использованием множественной регрессионной модели -кластер 1; - кластер 2; - кластер 3 83
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Проверка адекватности, точности модели (погрешность менее 9%) позволяет считать модель, соответствующей реальному процессу. Выводы Во время работы над моделью были исследованы различные Интернет– ресурсы, изучены их сильные и слабые стороны. На основании проведенного моделирования разработаны рекомендации: − одним из главных условий продвижения сайта следует считать степень представительства портала в сети, т.е. число используемых социальных сетей; − портал должен быть удобен для работы, интуитивно понятен, иметь карту сайта, т.е. следовать принципам юзабилити, так как лишь незначительная часть пользователей являются профессионалами в области IT – технологий; − на сайте должны учитываться особенности различных возрастных групп, в частности, для молодого поколения неоспоримым достоинством является наличие мобильных версий, приложений и т.д., в то время как люди старшего возраста отдают предпочтение сайтам, информацию которых удобно читать (различные варианты для лиц с особенностями зрения), дается подробное описание рекламируемых товаров и услуг; − сайты, оснащенные большим количеством сервисных услуг, будут иметь большую скорость загрузки, при этом она не должна превышать сакральные три секунды [6]; − необходимы дальнейшие разработки в этом направлении с целью совершенствования модели, так как электронная коммерция Литература 1. Поеров А.С. Совершенствование системы электронной коммерции в России: автореф. дис. канд. эконом. наук. ВПО «Московская академия предпринимательства при Правительстве Москвы», Москва, 2011. 2. Десять трендов онлайн-ритейла на 2019–2020 годы – vc.ru – Режим доступа: https://vc.ru/trade/59300-desyat-trendov-onlayn-riteyla-na-20192020-gody 3. Интернет-торговля рынок России – Tadviser.ru Государство, бизнес, IT. –Режим доступа: http://www.tadviser.ru/index.php/Статья:Интернетторговля_(рынок_России) 4. Рейтинг ТОП-100 крупнейших интернет-магазинов России – Data Insight 2015-2019 – Режим доступа: https://www.top100.datainsight.ru . 5. Как размер шрифта влияет на UX и конверсию? – LPgenerator.ru – Режим доступа: https://lpgenerator.ru/blog/2017/06/26/kak-razmer-shriftavliyaet-na-ux-i-konversiyu/ 84
Секция 1. «Теоретическая и прикладная математика»
6. Как ускорить загрузку сайта? – TexTerra.ru – Режим доступа: https://texterra.ru/blog/kak-uvelichit-skorost-zagruzki-sayta.html 7. Как ускорить время загрузки сайта и почему это важно – Seoakademiya.com – Режим доступа: https://seo-akademiya.com/bazaznanij/vnutrennyaya-optimizacziya/vremya-zagruzki-sajta/ 8. Повторные покупки: как сделать так, чтобы к вам возвращались? – Lemarbet.com, Seo, PPC & Usability agency – Режим доступа: https://lemarbet.com/razvitie-internet-magazina/povtornye-pokupki-kaksdelat-tak-chtoby-k-vam-vozvrashhalis/ 9. Бесплатная доставка для интернет-магазинов – за и против – Callibri.ru Сервисы прокачки маркетинга – Режим доступа: https://blog.callibri.ru/besplatnaya-dostavka-dlya-internet-magazinov-za-iprotiv 10. Три правила работы интернет-магазина с возвратом товара – Evo.business – Режим доступа: https://evo.business/3-pravila-rabotyinternet-magazina-s-vozvratom-tovara/ 11. Зачем создавать мобильное приложения для онлайн магазина и сколько это стоит? – Dinarys.com – Режим доступа: https://dinarys.com/ru/blog/how-much-does-it-cost-to-build-a-mobile-appfor-commerce 12. Как социальные сети влияют на бизнес – Techno-effective.com – https://techno-effective.com/kak-socialnye-seti-vlijajut-na-biznes/ 13. Исследование товарного рынка России: какие товары, кому и как продаются в соцсетях – vc.ru – Режим доступа: https://vc.ru/marketing/61479-issledovanie-tovarnogo-rynka-rossii-kakietovary-komu-i-kak-prodayutsya-v-socsetyah Лапшина Е.В., Анохина И.Ю. Оптимизация Web-сайта Интернет-магазина. Разработана модель, описывающая влияние различных факторов на продвижение Web-сайта Интернет-магазина. Ключевые слова: электронная коммерция, информационные технологии, Интернет- магазин, Web-сайт, логистическая регрессия, кластерный анализ. Lapshina E.V., Anohina I.Yu. Website optimization for online store. A model has been developed that describes the influence of various factors on the promotion of an online store website. Keywords: e-commerce, Information Technology, online store, website, logistic regression, cluster analysis.
85
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
УДК 512.642
ОБ ОДНОЙ ЗАДАЧЕ, СВЯЗАННОЙ С ДВОИЧНЫМИ МАТРИЦАМИ Манилов Д.Ю., Решетников А.В. Национальный исследовательский университет «МИЭТ», (г. Москва, Россия) e-mail: thdi@ro.ru, a_reshetnikov@hushmail.com Манилов Д.Ю., Решетников А.В. Об одной задаче, связанной с двоичными матрицами. Рассматривается вопрос о представлении двоичных матриц в виде суммы матриц особого вида, названных крестовыми матрицами. Для двоичных матриц, содержащих нечётное количество строк и нечётное количество столбцов, приведено необходимое и достаточное условие такого представления, а также явный вид представления в случае, если оно существует. Ключевые слова: двоичная матрица, крестовая матрица, линейное пространство матриц
В данной работе двоичными матрицами мы называем матрицы, составленные из элементов поля Z2, т. е. из чисел 0 и 1; при выполнении операций над такими матрицами сложение и умножение их элементов производятся по модулю 2. Задача, которой посвящена настоящая работа, может быть сформулирована следующим образом: Задача о крестах. Дана прямоугольная двоичная матрица A. Допускается выполнять над ней преобразования, которые заключаются в последовательном выполнении следующих действий: 1) выбираем какой-либо элемент матрицы A; 2) значения всех элементов матрицы A, стоящих с выбранным элементом в одной строке, изменяем на противоположные; 3) также изменяем на противоположные значения всех элементов матрицы A, стоящих с выбранным элементом в одном столбце; 4) значение самого выбранного элемента также изменяем на противоположное. Требуется за некоторое число применений преобразований описанного вида получить из матрицы A нулевую матрицу. Двоичную матрицу, в которой единицы заполняют только одну какуюлибо строку i и один какой-либо столбец j, а все остальные элементы – нули, назовём крестовой матрицей с центром (i, j). Заметим, что, так как операции проводятся над полем Z2 , то решить для заданной матрицы A задачу о крестах – это значит представить A в виде суммы нескольких крестовых матриц.
86
Секция 1. «Теоретическая и прикладная математика»
В работе [1] был разобран случай, когда матрица A содержит чётное количество строк и чётное количество столбцов: Теорема 1. Любую матрицу, содержащую чётное количество строк и чётное количество столбцов, можно представить в виде суммы крестовых матриц, причём это представление единственно с точностью до перестановки слагаемых. В работе [2] было показано, что утверждение, аналогичное теореме 1, неверно, если хотя бы одно из измерений матрицы A нечётно: в этом случае не обязательно A является суммой крестовых матриц, а если матрица A всё же представима в виде суммы крестовых матриц, то необязательно такое представление единственно. Критерий представления матрицы A в виде суммы крестовых матриц даёт следующее утверждение: Теорема 2. Двоичную матрицу A, содержащую нечётное число строк и нечётное число столбцов, можно представить в виде суммы крестовых матриц в том и только том случае, когда сумма элементов любой строки матрицы A совпадает с суммой элементов любого её столбца. Следующая теорема позволяет получить явный вид разложения матрицы A в сумму крестовых матриц в случае, если такое разложение существует: Теорема 3. Пусть A – двоичная матрица, оба измерения которой нечётны. Если A представима каким-либо образом в виде суммы крестовых матриц, то A равна сумме крестовых матриц, центры которых совпадают с положениями единиц в матрице A. Приведём схемы доказательств теорем 2 и 3. Необходимость условий теоремы 2 обоснована в работе [2]. Непосредственным образом легко проверить справедливость следующего утверждения: если двоичная матрица A имеет нечётное число строк, нечётное число столбцов и сумма элементов любой её строки равна сумме элементов любого её столбца, то A равна сумме крестовых матриц, центры которых совпадают с положениями единиц в матрице A. Следствием данного утверждения являются утверждение теоремы 3 и достаточность условий теоремы 2. Приведём без доказательства ещё одно утверждение: Теорема 4. Пусть n, m – нечётные положительные числа, L – линейное пространство всех двоичных матриц размера n m, M – наименьшее подпространство пространства L, содержащее все его крестовые матрицы. Тогда для любых чисел , , которые допустимо использовать соответственно в качестве номеров строк и номеров столбцов матриц пространства L, множество матриц 87
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
{ Ti,j | i , j } { T, }, где через Ti,j обозначены крестовые матрицы с центрами (i, j), является базисом линейного пространства M. Литература Манилов Д. Ю., Решетников А. В. Об одной задаче, связанной с булевыми матрицами. // Материалы X Международной научно-технической конференции «Информатика, управляющие системы, математическое и компьютерное моделирование» (ИУСМКМ-2019). – Донецк: ДонНТУ, 2019. – С. 35 – 37. Манилов Д. Ю., Решетников А. В. Об одной задаче, связанной с 2. булевыми матрицами. II. // Донецкие чтения 2019: образование, наука, инновации, культура и вызовы современности: Материалы IV Международной научной конференции (Донецк, 31 октября 2019 г.). – Том 1: Физикоматематические и технические науки. Часть 1 / под общей редакцией проф. Беспаловой С. В. – Донецк: Изд-во ДонНУ, 2019.. – Донецк: ДонНУ, 2019. – С. 163 – 165. 1.
Манилов Д.Ю., Решетников А.В. Об одной задаче, связанной с двоичными матрицами. Рассматривается вопрос о представлении двоичных матриц в виде суммы матриц особого вида, названных крестовыми матрицами. Для двоичных матриц, содержащих нечётное количество строк и нечётное количество столбцов, приведено необходимое и достаточное условие такого представления, а также явный вид представления в случае, если оно существует. Ключевые слова: двоичная матрица, крестовая матрица, линейное пространство матриц Manilov D.Yu., Reshetnikov A.V. On a task for binary matrices. The paper is dedicated to the following question: given a binary matrix, decompose it into a sum of matrices of a special form called cross-matrices. If a binary matrix contains of odd number of rows and odd number of columns, a necessary and sufficient condition is given for such a decomposition to exist; also, in case when a decomposition exists, its explicit form is given in the paper. Keywords: binary matrix, cross matrix, vector space of matrices
88
Секция 1. «Теоретическая и прикладная математика»
УДК 004
ЗАДАЧА ПОСТРОЕНИЯ СИСТЕМ ИНФОРМАЦИОННОГО ПОИСКА ПОЛЕЗНЫХ СВЕДЕНИЙ В ДОКУМЕНТАЛЬНЫХ БАЗАХ Павлыш В.Н.1, Бурлаева Е.И.1, Скринникова А.В.2 1 ГОУ ВПО «Донецкий национальный технический университет» (г. Донецк) 2 ГОУ ВПО «Луганский национальный университет им. Тараса Шевченко» (г. Луганск) e-mail: pavlyshvn@mail.ru Павлыш В.Н., Бурлаева Е.И., Скринникова А.В. Задача построения систем информационного поиска полезных сведений в документальных базах. Рассмотрена проблема применения новых информационных технологий для развития и модификации учебного процесса в техническом вузе. Наиболее эффективно является использование компьютерных обучающих и экспертных систем. Ключевые слова: образование, информация, процесс, система, метод.
Актуальность работы Одним из важнейших требований к современному специалисту является умение оперативно пользоваться научной информацией в своей профессиональной деятельности. Особенно важна эта проблема при решении задач развития и совершенствования организации учебного процесса в университете. Основной функцией систем извлечения знаний является информационный поиск полезных сведений в документальных базах. Более точное и быстрое извлечение знаний имеет своей конечной целью информационную поддержку эксперта или автоматизированной системы при принятии решения в поставленной задаче (вопросе). В этой связи изучение процедур принятия решений и организация системы составляет актуальную проблему создания и эксплуатации сложной системы. Изложение основного материала Сложная система включает в себя подсистемы с большим числом элементов различного типа и с разнородными связями между ними. Связь обеспечивает возникновение и сохранение целостных свойств системы. Она определяется как ограничение степени свободы элементов. Под элементами понимается предел членения системы. Установлением систематизированных связей между элементами исследуемой системы занимается системный анализ. Системный анализ и управление информацией подразумевает под 89
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
собой совокупность процедур, системных идей, подходов, теорий и методов, предназначенных для анализа объектов и процессов как систем [1]. Применение системного анализа для построения такой системы означает применение специально разработанных приемов, методик, типовых моделей организации системы и принятия ращений. Рассмотрим основные результаты выполненного в исследовании анализа существующих подходов, тенденций и закономерностей управления и систематизации текстовой информации. Тенденция увеличения объемов и распространения информации в электронном виде стимулирует активное развитие автоматических систем обработки информации. В большинстве организаций значительная часть полезной информации содержится в электронных базах данных. Организации в ходе своего существования формируют достаточно большие архивы документации. В данных архивах содержатся не только результаты официального документооборота (распоряжения, приказы и пр.), но и техническая документация по выполненным и текущим проектам: планы, технические отчеты, проектная документация и т.д. Значительная часть хранящейся информации оформляется в виде текстового описания, анализ и систематизация которой предполагает ее глубокое осмысление, работу с данными, принятием адекватных решений относительно анализа и управления той или иной ситуацией: получение дополнительной информации; анализ имеющейся в наличии информации, относящейся к анализируемой проблеме; тематическую обработку информации; визуализацию и подготовку аналитических отчетов, их верификацию; принятие управленческих решений на основе новых знаний. Большая часть используемых документов формируется в виде текстового описания. В связи с ростом используемых персональных компьютеров в организациях чрезвычайно быстро растет и количество текстовой информации на естественном языке хранящейся в электронном виде. Статистика увеличения объема данных, создаваемых на протяжении последних лет, поражает воображение. В 2013 г. количество информации, хранящейся в мире составило 1,2 зеттабайта, что приравнивается к 1,2 млн. петабайт или 1,2 трлн. гигабайт [2]. Так по прогнозам компании специализирующейся на аналитике, в сфере информационных технологий, а именно IDC, общее количество информации будет удваиваться каждые 2 года. Как следствие к 2020 г. достигнет порядка 40 зеттабайта, это говорит о том, что на каждого жителя Земли будет приходиться по 5200 ГБ данных в соответствии с рисунком 1 [3].
90
Секция 1. «Теоретическая и прикладная математика»
5200
6000 5000 4000 3000 2000 1000
0.8
128
24
0 2003 год
2006 год
2010 год
2020 год
Рисунок 1 – Прогноз количества ГБ информации в мире на человека Таким образом, рост информации делает задачи управления и систематизации текста актуальными для проведения исследований и разработки средств обработки текстовой информации, которая позволит повысить качество и облегчить работу эксперта. С ростом объема информационного потока специалистам–аналитикам становится все труднее заниматься тематическим анализом информации и ведением аналитических задач вручную при существующих средствах автоматизации. В соответствии с оценками экспертов около 70% используемых и накопленных цифровых данных находится в несистематизированной текстовой форме и лишь 30% образуют другие виды данных. Экспоненциальное с течением времени увеличение количества несистематизированных данных приведет по существу к коллапсу традиционной системы распределения и получения текстовой информации. Как следствие рутинная операция анализа и поиска необходимых данных превращается в малоэффективный и трудоемкий процесс, вызывающий информационную перегрузку пользователей. В данной ситуации особую актуальность приобретают работы по созданию систем автоматически систематизирующих и управляющих текстовой информацией. Как показывает практика, результаты распределения по предметным областям документом «вручную», то есть путем экспертного отнесения к имеющейся тематике, как правило, не превышает 80% [4 с. 5]. Классификация текса является одним из способов систематизации данных, которая подразумевает распределение текстовых документов по заранее определенным категориям [5]. На стыке двух областей находятся методы классификации текстовых документов, а именно машинного обучения и информационного поиска. Объединяет данные области средства оценки качества классификации информации и средства представления документов. Различия заключаются лишь в способах отнесения документа к соответствующей тематике. Точность используемых методов классификации существенно зависит от выполнения априорных допущений и 91
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
предположений, также стоит учитывать структуру текстовых данных, например, количество классов, вид «пограничной» области между классами, однородность и размеры классов. Программные разработки, обесточивающие автоматическую классификацию информационных массивов, существуют [6 с. 39], но они, как правило, лишь частично решают проблему автоматической систематизации и управления информацией или ведения аналитических задач. В этой связи возникает необходимость в решении задач создания усовершенствованной системы анализа информации, состоящей в управлении и систематизации текстовых документов. При построении системы систематизирующей текстовую информацию необходимо учесть следующие факторы [7]: количество информативных, то есть полезных для классификации терминов, или признаков, которые как правило существенно превосходят количество имеющихся в выборке документов, что затрудняет определение наилучших оценок параметров и обучение методов; чрезвычайно велик объем вычислительных операций, используемых для анализа и обработки текстовых документов, что делает процесс классификации крайне трудоемким и дорогостоящим; получаемая матрица «документ – термин» оказывается сильно разреженной, так как большое число терминов встречается только в нескольких или в одном документе; несистематизированная информация не имеет общепринятых правил и единого текстового формата, что делает анализ и обработку документов практически невозможным без разработки комплексной модели процесса обрабатывающего текстовую информацию, в отличие от систематизированной информации, которая, как правило содержит фактические сведения, представленные числами. Для создания эффективных систем управления и систематизации информацией требуется совместное применение методов классификации на основе машинного обучения и методов, основанных на знаниях. Поскольку содержимое и состав анализируемых документов постоянно изменяется, и одним из направлений адаптации к этой динамике является использование данных методов. Целью методов машинного обучения для задачи классификации текстовых документов является построение модели классификации, основанной на обучающем наборе, а далее применении построенной модели для предсказания набора или одного класса, релевантных для нового документа. Представленный подход обеспечивает качество классификации, сравнимое с качеством классификации, производимой человеком. В задачах текстовой классификации лучше всего зарекомендовали себя метод опорных векторов и метод построения алгоритмических композиций на основе бустинга (улучшения). Анализ российских и зарубежных публикаций демонстрирует, что основные усилия исследователей [8, 9] направлены на построении классификаторов, обладающих высокими показателями точности и полноты. Стоит учитывать, что при разработке 92
Секция 1. «Теоретическая и прикладная математика»
методов классифицирующих текстовую информацию, которая имеет высокую размерность, большое число терминов, описывающих документ, отдельное внимание требуют также вопросы быстродействия, то есть уменьшение времени, затрачиваемого на отнесение документа к одному из классов. В литературе практически нет работ, посвященных проблемам производительности классификаторов, как следствие, проблема быстродействия классификации ложатся на плечи разработчиков систем машинного обучения. При решении практических задач реализация мер, направленных на повышение точности классификации, как правило, приводит к снижению быстродействия. Гарантия высокого быстродействия в крупных поисковых системах являешься особо важным свойством, для решения задач анализа поисковых запросов, предоставляемых пользователем в режиме реального времени, приоритизация URL (Uniform Resource Locator) адресов web страниц, число которых движется в направлении нескольких миллиардов, для их загрузки в поисковые машины. Стоит учитывать, что подобные системы принадлежат к классу высоконагруженных, то есть обладают либо большим объемом данных, либо большим количеством одновременных сессий пользователей, или совокупностью данных критериев. Для решения определенной задачи качество и быстродействие работы являются ключевыми факторами, влияющими на выбор метода, используемого для таких систем. Выводы Таким образом, для построения системы является актуальным проведение исследований и разработка программных средств, классификации текстовых документов на основе методов машинного обучения, обеспечивающих высокое быстродействие при сохранении или повышении качества (полноты и точности) классификации. Наличие у системы функции, которой нет у составляющих ее частей и разных по типу и многочисленных связей между отдельно существующими элементами системы, является особенностью, проявляющейся при построении таких сложных систем. Характеристики взаимодействий между элементами сложной системы определяются направленностью на выполнение функции системы, внутренними свойствами и определенным порядком. Список литературы 1. Dwyer B. Systems Analysis and Synthesis: Bridging Computer Science and Information Technology [Текст] / Barry Dwyer; Morgan Kaufmann, 2016. – P 488.
93
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
2. Майер–Шенбергер В. Большие данные. Революция, которая изменит то, как мы живем, работаем и мыслим [Текст] / В. Майер– Шенбергер, К. Кукьер; М. 2014. – 17 с. 3. Gantz, J. The Digital Universe in 2020: Big Data, Bigger Digital Shadows, and Biggest Growth in the Far East / J. Gantz and D. Reinsel; [Электронный ресурс] December 2012. – Режим доступа: http://www.emc.com/collateral/analyst–reports/idc–the–digitaluniverse–in– 2020.pdf (дата обращения: 21.03.2019). 4. Dangeti, P. Statistics for Machine Learning [Текст] / P. Dangeti; Packt Publishing, 2017. – P. 450. 5. Sebastiani, F. Machine Learning in Automated Text Categorization [Текст] / F. Sebastiani // ACM Computing Surveys. –2012. –Vol. 34, – No. 1. – P. 47. 6. Ayodele, T. O. Types of Machine Learning Algorithms. New Advances in Machine Learning [Текст] / T. O. Ayodele // – INTECH Open Access Pub., 2010. P. 19–48. 7. Домингос, П. Верховный алгоритм. Как машинное обучение изменит наш мир [Текст] / Педро Домингос; М.: Манн, Иванов и Фербер, 2016. – 336 с. 8. Мюллер, А. Введение в машинное обучение с помощью Python [Текст] / А. Мюллер, С. Гидо; М.: O'Reilly Media, 2017. – 392 с. 9. Jolliffe, I. Principal Component Analysis / I. Jolliffe // [Электронный ресурс] Springer Series in Statistics, 2010. – P. 518 – Режим доступа: http://cda.psych.uiuc.edu/statistical_learning_course/Jolliffe%20I.%20Principal%2 0Component%20Analysis%20%282ed.,%20Springer,%202002%29%28518s%29_ MVsa_.pdf (дата обращения: 21.03.2019).
Павлыш В.Н., Бурлаева Е.И., Скринникова А.В. Задача построения систем информационного поиска полезных сведений в документальных базах. Рассмотрена проблема применения новых информационных технологий для развития и модификации учебного процесса в техническом вузе. Наиболее эффективно является использование компьютерных обучающих и экспертных систем. Ключевые слова: образование, информация, процесс, система, метод. Pavlysh, V.N., Burlaeva E.I., Skrynnikova A.V. The Problem of construction of information retrieval systems useful information in documentary databases. The problem of new information technologies application for study process development and modification in technical university considered. The using of computer teaching and expert systems is most effective. Keywords: education, information, process, system, method.
94
Секция 1. «Теоретическая и прикладная математика»
УДК 004.43
АНАЛИЗ БАЗОВЫХ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ Паранок Д.Е.1, Ефименко К.Н.2 студент гр. ПМК-161, доцент кафедры прикладной математики2 ГОУ ВПО «Донецкий национальный технический университет» (г. Донецк) e-mail: buhhuk@mail.ru, KN_Efimenko@mail.ru Паранок Д.Е., Ефименко К.Н. Анализ базовых языков программирования. Предложен краткий сравнительный анализ основных характеристик, особенностей использования и преимуществ базовых языков программирования, которые изучают студенты направления подготовки «Прикладная математика». Ключевые слова: анализ, языки программирования, С++, С#, Java, Python, Delphi.
Введение Прогресс компьютерных технологий определил процесс появления новых разнообразных знаковых систем для записи алгоритмов – языков программирования. Язык программирования – формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполнит компьютер под ее управлением. Таким образом, язык программирования предназначен для написания программ, которые применяются для передачи компьютеру инструкций по выполнению того или иного вычислительного процесса и организации управления различными процессами [1-3]. В современной классификации языков программирования используется деление на два уровня: языки высокого и низкого уровней. Языками низкого уровня (ассемблерами) являются языки, близкие к машинному (двоичному) коду и использующие команды непосредственной работы с процессорами, то есть машинно-ориентированные языки. Языками высокого уровня считаются машинно-независимые языки, позволяющие избегать специальных технических особенностей функционирования процессоров, что значительно облегчает процесс написания программ. Тем не менее, знание основ низкоуровневого программирования является обязательным не только для специалистов, работающих в областях системного программирования, защиты информации и т.п. Прикладному программисту также необходимо иметь представление о машинном коде для понимания того, как программа хранится, выполняется, а также для ее отладки и оптимизации [4]. Следует отметить, что все языки высокого уровня общего назначения обладают полнотой по Тьюрингу, т.е. на них можно реализовать любую вычислимую функцию. С практической точки зрения это означает, что программа на одном Тьюринг-полном языке программирования может быть за95
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
писана на другом Тьюринг-полном языке программирования, однако, некоторые языки позволяют решить ту или иную задачу эффективнее [4]. В данной работе предлагается краткий анализ наиболее распространённых современных языков программирования, выбор и углубленное изучение которых должно помочь будущим специалистам в области прикладной математики стать востребованными на рынке труда. Базовые языки программирования и их особенности 1. С++ Язык широко применяется при разработке операционных систем, на уровне прикладного интерфейса операционных систем, во встраиваемых системах, а также для создания высокопроизводительного или критического в плане обработки ошибок кода. Одной из причин широкого распространения для программирования на низком уровне является возможность писать кроссплатформенный код, который может по-разному обрабатываться на разном оборудовании и на разных операционных системах [1-3]. Возможность писать высокопроизводительный код обеспечивается за счёт полной свободы действий программиста и отсутствия строгого контроля со стороны компилятора. Так, например, на языке Си написаны первые реализации языков Java, Python, Perl и PHP. При этом во многих программах наиболее требовательные к ресурсам части принято писать на языке Си. Ядро программы Mathematica написано на Си, а MATLAB, изначально написанный на Фортране, был переписан на Си в 1984 году. C++ – компилируемый, статически типизированный язык программирования общего назначения. Поддерживает такие парадигмы программирования, как процедурное программирование, объектно-ориентированное программирование, обобщённое программирование. Язык имеет богатую стандартную библиотеку, которая включает в себя распространённые контейнеры и алгоритмы, ввод-вывод, регулярные выражения, поддержку многопоточности и другие возможности. C++ широко используется для разработки программного обеспечения, являясь одним из самых популярных языков программирования. Область его применения включает создание операционных систем, разнообразных прикладных программ, драйверов устройств, приложений для встраиваемых систем, высокопроизводительных серверов, а также игр. Стандарт C++ состоит из двух основных частей: описание ядра языка и описание стандартной библиотеки. Первое время язык развивался вне формальных рамок, спонтанно, по мере встававших перед ним задач. Развитию языка сопутствовало развитие кросс-компилятора cfront. Новшества в языке отражались в изменении номера версии кросс-компилятора. Эти номера версий кросс-компилятора распространялись и на сам язык, но применительно к настоящему времени речь о версиях языка C++ не ведут. Лишь в 1998 году язык стал стандартизированным. C++ содержит средства разработки программ контролируемой эффек96
Секция 1. «Теоретическая и прикладная математика»
тивности для широкого спектра задач, от низкоуровневых утилит и драйверов до весьма сложных программных комплексов. Основными достоинствами и преимуществами С++ являются: • Поддержка различных стилей программирования: традиционное императивное программирование (структурное, объектно-ориентированное), обобщённое программирование, функциональное программирование, порождающее метапрограммирование. • Автоматический вызов деструкторов объектов в адекватном порядке (обратном вызову конструкторов) упрощает и повышает надёжность управления памятью и другими ресурсами (открытыми файлами, сетевыми соединениями, соединениями с базами данных и т.п.). • Перегрузка операторов позволяет кратко и ёмко записывать выражения над пользовательскими типами в естественной алгебраической форме. • Имеется возможность управления константностью объектов (модификаторы const, mutable, volatile). Использование константных объектов повышает надёжность и служит подсказкой для оптимизации. Перегрузка функций-членов по признаку константности позволяет определять выбор метода в зависимости цели вызова (константный для чтения, неконстантный для изменения). Объявление mutable позволяет сохранять логическую константность при виде извне кода, использующего кэши и ленивые вычисления. • Шаблоны C++ дают возможность построения обобщённых контейнеров и алгоритмов для разных типов данных. Попутно шаблоны дают возможность производить вычисления на этапе компиляции. • Возможность встраивания предметно-ориентированных языков программирования в основной код. • Доступность. Для C++ существует огромное количество учебной литературы, переведённой на всевозможные языки. Язык имеет высокий порог вхождения, но среди всех языков такого рода обладает наиболее широкими возможностями. 2. C# C# – объектно-ориентированный язык программирования. Разработан как язык разработки приложений для платформы Microsoft .NET Framework. C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и Java. Язык имеет статическую типизацию, поддерживает полиморфизм, перегрузку операторов (в том числе операторов явного и неявного приведения типа), делегаты, атрибуты, события, свойства, обобщённые типы и методы, итераторы, анонимные функции с поддержкой замыканий, LINQ, исключения, комментарии в формате XML. Переняв многое от своих предшественников – языков C++, Pascal, Модула, Smalltalk и, в особенности, Java – С#, опираясь на практику их использования, исключает некоторые модели, зарекомендовавшие себя как проблематичные при разработке программных систем, например, C# в отличие от 97
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
C++ и некоторых других языков, не поддерживает множественное наследование классов (между тем допускается множественное наследование интерфейсов) [1-3]. C# разрабатывался как язык программирования прикладного уровня для CLR и, как таковой, зависит, прежде всего, от возможностей самой CLR. Это касается, прежде всего, системы типов C#, которая отражает BCL. Присутствие или отсутствие тех или иных выразительных особенностей языка диктуется тем, может ли конкретная языковая особенность быть транслирована в соответствующие конструкции CLR. Так, с развитием CLR от версии 1.1 к 2.0 значительно обогатился и сам C#; подобного взаимодействия следует ожидать и в дальнейшем (однако, эта закономерность была нарушена с выходом C# 3.0, представляющего собой расширения языка, не опирающиеся на расширения платформы .NET). CLR предоставляет C#, как и всем другим .NET-ориентированным языкам, многие возможности, которых лишены «классические» языки программирования. Например, сборка мусора не реализована в самом C#, а производится CLR для программ, написанных на C# точно так же, как это делается для программ на VB.NET, J# и др. 3. Java Язык Java много лет подряд является одним из самых популярных и востребованных языков, а с ростом и развитием индустрии мобильной разработки только набирает обороты. Java самый востребованный в сфере разработки Android игр и приложений. Его ключевое преимущество – адаптированность к работе с любыми платформами [1-3]. Однако в последнее время ажиотаж вокруг Java несколько уменьшился, что связано с появлением большого количества новых языков. Но, по прогнозам аналитиков, он еще долгое время будет оставаться одним из наиболее часто используемых во всем мире. Java – сильно типизированный объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems (в последующем приобретённой компанией Oracle). Приложения Java обычно транслируются в специальный байт-код, поэтому они могут работать на любой компьютерной архитектуре с помощьювиртуальной Java-машины. Программы на Java транслируются в байт-код Java, выполняемый виртуальной машиной Java (JVM) – программой, обрабатывающей байтовый код и передающей инструкции оборудованию как интерпретатор. Достоинством подобного способа выполнения программ является полная независимость машинного кода от операционной системы и оборудования, что позволяет выполнять Java-приложения на любом устройстве, для которого существует соответствующая виртуальная машина. Другой важной особенностью технологии Java является гибкая система безопасности, в рамках которой исполнение программы полностью контролируется виртуальной машиной. Любые операции, которые превышают установленные полномочия программы (например, попытка несанкционированного доступа к данным или соединения с другим компьютером), вызывают немедленное прерыва98
Секция 1. «Теоретическая и прикладная математика»
ние. Основными достоинствами и преимуществами Java являются: • Отсутствие поддержки указателей и адресной арифметики, ответственных за значительную долю ошибок в программах • Автоматическая сборка мусора, значительно облегчающая управление памятью. • Наличие разработанной системы модулей и раздельной компиляции, значительно более быстрой и менее подверженной ошибкам • Полная стандартизация от определения языка до деталей реализации. • Как следствие предыдущего пункта и механизма компиляции в байт-код — реальная многоплатформенность. • Встроенная многопоточность. • Объектная система поддерживает единичное наследование и явно определяемые интерфейсы. Такая система позволяет обеспечить большинство преимуществ множественного наследования, не вызывая его негативных эффектов. • Рефлексия значительно более развита и позволяет реально определять и изменять структуру объектов во время работы программы. • Встроенные средства безопасности, защищающие от распространённых ошибок программ, таких как переполнение буфера или выход за границы массива. 4. Python Отличный язык программирования (разработан в 1991 г.), который уже несколько лет стоит в топах самых востребованных языков. Из-за простого синтаксиса Python используется многими начинающими программистами. Python широко применяется в web-разработках, так как имеет огромное количество дополнительных библиотек для работы с webпрограммированием. Базы данных, создание сетей, программирование, робототехника, web scrapping, AI, ML – возможные области применения Python. Python – высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис ядра Python минималистичен. В то же время стандартная библиотека включает большой объём полезных функций. Python поддерживает структурное, объектно-ориентированное, функциональное, императивное и аспектно-ориентированное программирование. Основные архитектурные черты – динамическая типизация, автоматическое управление памятью, полная интроспекция, механизм обработки исключений, поддержка многопоточных вычислений, высокоуровневые структуры данных. Поддерживается разбиение программ на модули, которые, в свою очередь, могут объединяться в пакеты [1-3]. Дизайн языка Python построен вокруг объектно-ориентированной модели программирования (ООП). Реализация ООП в Python является элегантной, мощной и хорошо продуманной, но вместе с тем достаточно специфиче99
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
ской по сравнению с другими объектно-ориентированными языками. Основными возможностями и особенностями языка являются: • Классы являются одновременно объектами со всеми ниже приведёнными возможностями. • Наследование, в том числе множественное. • Полиморфизм (все функции виртуальные). • Инкапсуляция (два уровня – общедоступные и скрытые методы и поля). Особенность – скрытые члены доступны для использования и помечены как скрытые лишь особыми именами. • Специальные методы, управляющие жизненным циклом объекта: конструкторы, деструкторы, распределители памяти. • Перегрузка операторов (всех, кроме is, '.', '=' и символьных логических). • Свойства (имитация поля с помощью функций). • Управление доступом к полям (эмуляция полей и методов, частичный доступ, и т.п.). • Методы для управления наиболее распространёнными операциями (истинностное значение, len(), глубокое копирование, сериализация, итерация по объекту, и т.п.). • Метапрограммирование (управление созданием классов, триггеры на создание классов, и др.). • Полная интроспекция. • Классовые и статические методы, классовые поля. • Классы, вложенные в функции и классы. 5. Delphi Delphi – императивный структурированный объектноориентированный язык программирования со строгой статической типизацией переменных. Основная область использования – написание прикладного программного обеспечения. Изначально среда разработки Delphi была предназначена исключительно для разработки приложений Microsoft Windows, затем был реализован вариант для платформ Linux (под торговой маркой Kylix), однако после выпуска в 2002 году Kylix 3 его разработка была прекращена, и вскоре было объявлено о поддержке Microsoft .NET, которая, в свою очередь, была прекращена с выходом Delphi 2007. В настоящее время, наряду с поддержкой разработки 32 и 64разрядных программ для Windows, реализована возможность создавать приложения для Apple Mac OS X, iOS, Google Android, а также Linux Server x64. Независимая, сторонняя реализация среды разработки проектом Lazarus (Free Pascal, в случае компиляции в режиме совместимости с Delphi) позволяет использовать его для создания приложений на Delphi для таких платформ, как Linux, Mac OS X и Windows CE. При создании языка не ставилась задача обеспечить максимальную производительность исполняемого кода или лаконичность исходного кода 100
Секция 1. «Теоретическая и прикладная математика»
для экономии оперативной памяти. Изначально, язык ставил во главу угла стройность и высокую читаемость, поскольку был предназначен для обучения дисциплине программирования [1-3]. Заключение Языки программирования должны помогать разработчикам в борьбе за продление жизненного цикла программных продуктов. Ведь не актуальный, морально и технически устаревший продукт никому не интересен. Общий процесс развития языков программирования в ближайшее время будет двигаться в направлении все большей абстракции. Основные направления программирования будут стремиться к изменению уровня детализации, наибольшему упрощению, что должно привести к повышению надежности процесса создания программ и уменьшению количества допускаемых разработчиками ошибок [4]. Большинство популярных языков программирования используются для решения похожих задач. С точки зрения разработчика, язык программирования – это инструмент, правильный выбор которого окажет существенное влияние на дальнейшую карьеру и уровень оплаты. Выбор языка программирования полностью зависит от цели его использования и степени востребованности. При этом также необходимо учитывать баланс между затратами времени и усилий на изучение языка и его ощутимыми преимуществами. Таким образом, выбор языков программирования для их углубленного изучения делается на основании ваших потребностей, исследований и спроса на рынке труда. Литература 1. Студенческий научный форум. Режим доступа: https://scienceforum.ru /2016/article/2016023162. – Заглавие с экрана. 2. Википедия. Режим доступа: https://ru.wikipedia.org. – Заглавие с экрана. 3. Хабр. Сообщество IT-специалистов. Режим доступа: https://habr.com/ru/post/431654. – Заглавие с экрана. 4. Быканов Н.П. Классификация языков программирования // Международный журнал социальных и гуманитарных наук. – 2016. – Т. 5. №1. – С. 229-232. Паранок Д.Е., Ефименко К.Н. Анализ базовых языков программирования. Предложен краткий сравнительный анализ основных характеристик, особенностей использования и преимуществ базовых языков программирования, которые изучают студенты направления подготовки «Прикладная математика». Ключевые слова: анализ, языки программирования, С++, С#, Java, Python, Delphi. Paranok D.Е., Efimenko K.N. Analysis of basic programming languages. The short comparative analysis of basic descriptions offers, features of the use and advantages of host languages programming that study students of direction of preparation «Applied mathematics». Keywords: analysis, programming languages, С++, С#, Java, Python, Delphi. 101
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
УДК 622.85
К ВОПРОСУ О ГЕОМЕТРИЗАЦИИ ПОРОДНЫХ ОТВАЛОВ УГОЛЬНЫХ ШАХТ Прокопенко Е.В., Гром А.В. ГОУ ВПО «Донецкий национальный технический университет» (г. Донецк) e-mail: prokopenko1515@rambler.ru Прокопенко Е.В., Гром А.В. К вопросу о геометризации породных отвалов угольных шахт. Рассматривается возможность применения программного пакета SURFER для построения пространственной модели отельного участка яруса породного отвала, для прогнозной оценки отсыпки отвала разными породами на отдельном участке яруса. Ключевые слова: ярус, отвал, разрез, пакет Surfer.
Постановка проблемы Анализ современного уровня и тенденций развития технологии отвалообразования позволяет сделать вывод о зависимости решения проблемы от разработки комплекса технических мероприятий, направленных на формирование породных отвалов. На угольных шахтах предусмотрены проектные решения по формированию породных отвалов. Технология формирования породного отвала предусмотрена с выполнением мероприятий по предупреждению самовозгорания отвальной массы. Формирование отвала осуществляется фронтальным способом по схеме 1-А2б в соответствии с Руководством по предупреждению самовозгорания, тушению, разборке и рекультивации породных отвалов угольных шахт и обогатительных фабрик КД 12.09.0801 – 99 (Минтопэнерго Украины 2004г.). Порода, выдаваемая из шахты скиповым стволом, аккумулируется в приемных бункерах скипового ствола емкостью 100т. После загрузки в автосамосвалы вывозится на породный отвал к месту складирования и формируется ярусами. Данная технология формирования породного отвала предусматривает проектное наращивание отдельного яруса в случае, если предусмотрены все технологические мероприятия. Но при отсыпке пород на отвал не всегда эти условия выполняются. Это связано с тем, что породы в отвал отсыпались в различных соотношениях литологических разностей, которые определить или прогнозировать достаточно сложно [1]. При исследовании и моделировании отдельного участка породного отвала важной задачей является построение пространственной модели отвала, которая позволит решать многие задачи, например количество вмещающих пород, химический состав пород и т.д. [2]
102
Секция 1. «Теоретическая и прикладная математика»
Авторами предложена методика построения отдельного яруса породного отвала для каждого периода времени, когда происходила отсыпка пород на отвал, с использованием программного обеспечения Surfer [3]. Для построения пространственной модели отдельного участка яруса породного отвала достаточно иметь набор точек, находящихся на поверхности отвала с определенными координатами X, У, Z. Поверхность каждого яруса в определенный период времени можно графически представить в двух видах: карты изолиний или трехмерного изображения поверхности. Исходные данные для построения данных поверхностей получают в результате выполнения маркшейдерской съемки породных отвалов, которая выполняется в определенный период времени [4,5]. На рисунке 1 приведены графики построения трехмерного изображения одного и того породного отвала в течении некоторого периода работы шахты.
Рисунок 1 - Изменение формы участков породного отвала за определенный период времени При построении различных участков ярусов можно вычислить разность площадей между отдельными слоями ярусов. На рисунке 2 построена поверхностная модель, показывающая сглаживание поверхностей двух участков ярусов с использованием сплайн-методов.
Рисунок 2 - Сглаживание поверхностей двух участков ярусов породного отвала 103
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Выше приведенные рисунки показывают применение программного обеспечения SURFER для построения трехмерного пространства отдельных ярусов породного отвала. Кроме трехмерного изображения, используя различные методы интерполяции, можно проводить исследования по управлению отсыпки отвала на отдельном участке каждого яруса. На рисунке 3 показано применение различных методов интерполяции для построения одного и того же участка яруса. Для уточнения полученного результата, т.е., для оценки точности построения авторами разработана методика определения погрешности в построении данной модели.
Рисунок 3 - Изменение карты изолиний одной поверхности с использование различных методов интерполяции При построении трехмерной модели отдельного яруса, используя поперечные разрезы поверхности этих ярусов, можно осуществлять прогноз отсыпки породы на отвал [6]. На рисунке 4 приведены поперечные разрезы в различных точках поверхности отдельного яруса отвала.
Рисунок 4 - Поперечные продольные разрезы поверхности отдельного яруса отвала Программа Surfer позволяет при выводе породного отвала скрывать часть ячеек файла ГРИДА (Grid) для процедуры бланкирования, то есть по104
Секция 1. «Теоретическая и прикладная математика»
строение некторых фрагментов отвала, которые нельзя увидеть. Для этого в программе Surfer существует несколько способов присвоения ячейкам карты бланкированных (Blank) значений. Существует специальный файл в формате [.BLN] (blanking file), чтобы указать область ГРИДА, в которой ячейкам будет присвоено значение «отсутствия данных». Этапы построения таких ''скрытых областей'' показаны на рисунках 5-7.
Рисунок 5 - Трехмерная модель отвала
Рисунок 6 - Выделение ''скрытой области'' для построения
Рисунок 7 - Вид построенного отвала со ''скрытой областью'' Таким образом, в результате построения трехмерной и двумерной модели ярусов породного отвала за определенный период времени можно по105
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
лучить пространственную модель данного отвала. На основе данной модели можно решить следующие задачи: 1. Произвести прогнозную оценку отсыпки отвала на отдельном участке яруса. 2. Сделать анализ отсыпки пород с учетом построения продольных и поперечных профилей. 3. Разработать методику насыпки пород с учетом погрешности построения с использование программного обеспечения SURFER. Литература 1. Прокопенко Е.В., Живогляд А.В. Разработка геоинформационной системы формирования породных отвалов // Сучасні технології маркшейдерського забезпечення раціонального і безпечного ведення гірничих робіт. Збірник наукових праць. - Донецьк: ДонНТУ, 2002. 2. Прокопенко Е.В., Борщевский С.В. Разработка динамической модели породных отвалов // Сб. научн. трудов УКРНИМИ, 2009. 3. Колесов А., Павлова О. Пакет Surfer-обработка и визуализация двумерных функций // ''КомпьютерПресс'' №2, 1999 (компакт-диск). 4. Ершов В.В. и др.Автоматизация геолого-маркшейдерских графических работ. М., Недра.1991,-1347с.:ил. 5. ДеМерс М.Н. Географические информационные системы. Основы – Пер. с англ. Дата+, 1999. – 288 с. 6. Прокопенко Е.В., Масло С.В., Кочемазов А.С. К вопросу создания базы данных породных отвалов.- Материалы международной научнотехнической конференции студентов, аспирантов и молодых ученых, организованной кафедрой «Строительство шахт и подземных сооружений» ДонНТУДонецк – 2010, выпуск 16''. Прокопенко Е.В., Гром А.В. К вопросу о геометризации породных отвалов угольных шахт. Рассматривается возможность применения программного пакета SURFER для построения пространственной модели отельного участка яруса породного отвала, для прогнозной оценки отсыпки отвала разными породами на отдельном участке яруса. Ключевые слова: ярус, отвал, разрез, пакет Surfer. Prokopenko E. V., Grom A.V. On the geometrization of rock dumps of coal mines. The possibility of using of software package SURFER for building a spatial model of the hotel parcel layer's native satiety, for the prospective evaluation of backfill blade different species at the individual site level. Keywords: tier, blade, cut, Surfer package.
106
Секция 1. «Теоретическая и прикладная математика»
УДК 622.14
РЕАЛИЗАЦИЯ МЕТОДОВ ИНТЕЛЛЕКТУАЛЬНОГО АНАЛИЗА ДАННЫХ НА ОСНОВЕ МОДУЛЕЙ ИНТЕГРИРОВАННОЙ СТАТИСТИЧЕСКОЙ СИСТЕМЫ STATISTIC Прокопенко Е.В., Масло С.В., Гаврилко К .А. ГОУ ВПО «Донецкий национальный технический университет» (г. Донецк) ГОУ ВПО «Донецкая Академия Управления и Государственной Службы» (г. Донецк) e-mail: prokopenko1515@rambler.ru Прокопенко Е.В., Масло С.В., Гаврилко К.А. Реализация методов интеллектуального анализа данных на основе модулей интегрированной статистической системы Statistic. Рассмотрены возможности применения пакета Statistic для исследования эффективности использования различных алгоритмов и методов интеллектуального анализа данных. Ключевые слова: интеллектуальный анализ данных, визуализация, кластерный анализ.
Постановка проблемы На настоящий момент нет устоявшегося мнения о том, что же именно понимать под термином "интеллектуальный анализ "данных" (ИАД). В ряде литературных источников [1, 2, 3] ИАД отождествляется с технологией Data Mining, и под ИАД понимают аналитический процесс извлечения первоначально неизвестных и потенциально полезных знаний из данных. В этом контексте знания представляют собой краткое обобщенное описание основного содержания информации, представленной в данных. Целью данной работы является изучение методов кластерного и дискриминантного анализов данных на примере решения конкретной задачи ИАД, а также исследование эффективности использования различных алгоритмов и методов кластерного анализа данных для решения прикладной задачи на основе модулей интегрированной статистической системы Statistic. Из наиболее часто решаемых методами ИАД задач в приложении к бизнесу являются: анализ значимых факторов, сокращение или увеличение их числа, выявление зависимостей, ассоциаций, исключений и закономерностей, в том числе для уменьшения размерности, факторного пространства либо виртуального (сбора, обработки) анализа "данных"; классификации; моделирование и прогноз; ранжирование; сегментация; профилирование наилучших достижений и т.п. [1, 4, 5]. К наиболее часто используемым методам, технологиям решения этих задач относятся методы деревьев решений, нейронных сетей, математической статистики, экспертного анализа и нечеткой логики, визуализации, генетических алгоритмов, эволюционного программирования, ассоциативного анализа, вариативного (вариантного) моделирования, а также интегрированные методы и технологии. 107
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
В ИАД применяются не только новые методы и алгоритмы анализа данных, такие как нейронные сети или генетические алгоритмы, но и классические статистические методы. К ним относятся: корреляционный и регрессионный анализы; методы идентификации и прогнозирования временных рядов; кластерный, факторный, дискриминантный, спектральный анализы и т.д. Самым распространенным является метод визуализации, который служит для многомерного графического представления информации с целью нахождения зависимостей, трендов и смещений, скрытых в неструктурированных наборах данных. К методам визуализации относятся: представление данных в виде столбчатых, линейных диаграмм в многомерном пространстве; наложение и объединение нескольких изображений; идентификация и маркировка подгрупп данных, удовлетворяющих определенным условиям; расщепление или слияние подгрупп данных на графике; агрегирование данных; сглаживание данных; построение пиктографиков; создание мозаичных структур; спектральных плоскостей, карт линий уровня; методы динамического вращения и динамического расслоения трехмерных изображений; выделение определенных наборов и блоков данных и т.д. На рисунке 1 представлен фрагмент построения дерева решений для конкретной прикладной задачи. На рисунке 2 представлен матричный график, на рисунке 3 трехмерное изображение данных и на рисунке 4 диаграмма рассеивания.
Рисунок 1 – График дерева решений
Рисунок 2 – Матричный график
Рисунок 3 – Трехмерное изображение 108
Рисунок 4 – Диаграмма рассеивания переменных
Секция 1. «Теоретическая и прикладная математика»
Используя модули пакета Statistic для идентификации параметров трендовой модели выбираем вкладку User-specified regression – custom loss function. Далее в диалоговом окне User-specified regression нажимаем кнопку Function to be estimated & loss function и задаем структуру прогнозной модели (Estimated model) с точностью до неизвестных параметров, функцию потерь (Loss function) по умолчанию (сумма квадратов отклонений наблюдаемых значений временного ряда от прогнозных значений). Все остальные параметры также выбираются по умолчанию. Результаты идентификации модели представлены на рисунке 5. На рисунке 6 показаны результаты построения автокорреляционной и частной автокорреляционной функций.
Рисунок 5 – Фрагмент построения автокорреляционной функции
Рисунок 6 – Фрагмент построения частной автокорреляционной функции Заключение По результатам моделирования могут быть получены следующие отчеты: 1. Основная статистика с комментариями системы. Указываются: точность модельных и тестовых данных; среднеквадратичная ошибка, стан109
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
дартное отклонение, границы 95% доверительного интервала, среднее абсолютной ошибки, количество записей, количество переменных, оценки влияния факторов на целевой атрибут (аналоги t-статистик) и заключение системы относительно качества полученной модели. 2. Количественные зависимости целевого показателя от каждого фактора в графическом виде и приближенное описание модели с помощью уравнения линейной регрессии. 3. Коэффициенты корреляции для любого выбранного фактора относительно других факторов. 4. Результаты использования модели на любых задаваемых пользователем значениях факторов. 5. Объяснение для любого значения моделируемой переменной, вычисленной системой – как она была получена и какой вклад внес каждый фактор в это значение. Все выше перечисленные отчеты необходимы для обработки интеллектуального анализа данных в любой области деятельности. Литература 1. Ripley, B. D. Pattern recognition and neural networks. Cambridge: Cambridge University Press, 1996. 2. Дубова Н. Устройство и назначение хранилища данных // Открытые системы, №4-5, 1998. 3. Струнков Т. Что такое генетические алгоритмы // PC Week RE, №19, 1999. 4. Шапот М. Интеллектуальный анализ данных в системах поддержки принятия решений // Открытые системы, №1, 1998, С. 30-35. 5. Шапот М., Рощупкина В. Интеллектуальный анализ данных и управление процессами // Открытые системы №4-5, 1998. Прокопенко Е.В., Масло С.В., Гаврилко К.А. Реализация методов интеллектуального анализа данных на основе модулей интегрированной статистической системы Statistic. Рассмотрены возможности применения пакета Statistic для исследования эффективности использования различных алгоритмов и методов интеллектуального анализа данных. Ключевые слова: интеллектуальный анализ данных, визуализация, кластерный анализ. Prokopenko E.V., Maslo S.V., Gavrilko K.A. Implementation of methods of intelligent data analysis based on modules of the integrated Statistic system. The possibilities of application of the Statistic package for the study of the effectiveness of the use of various algorithms and methods of intellectual data analysis are considered. Keywords: intellectual analysis of data, visualization, cluster analysis.
110
Секция 1. «Теоретическая и прикладная математика»
УДК 539.3, 51-7, 519.6
ТЕОРЕМА КАНТОРA-БЕРНШТЕЙНА ДЛЯ ПОЛИГОНОВ НАД ГРУППАМИ Сотов А.С. Московский государственный университет имени М.В. Ломоносова e-mail: alexandersotov@yandex.ru Сотов А.С. Теорема Кантора-Бернштейна для полигонов над группами. Доказывается утверждение, аналогичное классической теореме КантораБернштейна, для унитарных полигонов над группами. Строится пример, показывающий, что данное утверждение неверно для неунитарных полигонов над группами. Ключевые слова: полигон над группой, унитарный полигон, теорема КантораБернштейна.
Основные определения и формулировка теоремы Пусть S – полугруппа, X − полигон над полугруппой S , т.е. множество, для которого определено отображение X S X , ( x, s) xs, удовлетворяющее условию x( st ) ( xs)t для всех x X , s, t S . Хорошо известна теорема Кантора-Бернштейна [1]: если два множества X и Y таковы, что существуют инъективные отображения f : X Y и g : Y X , то существует взаимно однозначное отображение h : X Y . Интересно спросить, будет ли верно это утверждение, если рассматривать множества с операциями и гомоморфизмы? Оказывается, это так для унитарных полигонов над группами. Полигон X над полугруппой S называется унитарным, если S содержит единицу e и для всех x X выполнено равенство xe x. Дизъюнктное объединение полигонов X i ( i I ) над одной полугруппой S
называется копроизведением полигонов X i и обозначается
X . i
iI
Пусть X , Y – полигоны над полугруппой S . Отображение f : X Y – гомоморфизм, если f ( xs) f ( x) s для всех x X , s S . Приведем описание полигонов над группами (см. [2]). Пусть G − группа, H – ее подгруппа (необязательно нормальная). Обозначим через G / H множество всех правых смежных классов Hg. Очевидно, множество G / H будет являться полигоном над группой G, если определить умножение следующим образом: Hg g Hgg . Нетрудно видеть, что полигон X G / H -- унитарный циклический и порождается любым своим элементом: X xG для всех x X . Произвольный унитарный
111
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
полигон над группой G изоморфен полигону вида
G / H , i
где {H i | i I }
i
– семейство подгрупп группы G. Неунитарные полигоны над группой можно получить из унитарных, как показано в следующей теореме. Теорема 1 ([2], теорема 4). Пусть Y − унитарный полигон над группой G, A -- множество такое, что A Y , и пусть : A Y -произвольное отображение. Тогда множество X Y A с операциями xg , если x Y , xg является полигоном над группой G, , и любой ( x) g , если x A. полигон над группой G изоморфен полигону, получаемому таким образом. Теорема 2. Пусть X ,Y − унитарные полигоны над группой G и пусть существуют инъективные гомоморфизмы : X Y и : Y X . Тогда X Y. Доказательство. Имеем: X iI X i , Y jJ X j . Покажем, что если
x X i и ( x) Y j , то ( X i ) Y j . Действительно, так как X iI X i и X i −
унитарный циклический полигон над группой G, то X i xG при некотором x X i , откуда ( X i ) ( xG ) ( x)G Y j . Аналогично (Yk ) X t для любого k J и подходящего (зависящего от k ) индекса t I . Следовательно, X \ (Y ) − подполигон, причем
X (Y ) ( X \ (Y )). Рассмотрим множества P1 X \ (Y ), P2 ( ( P1 )) и т.д., т.е. Pn1 ( ( Pn )) при всех n. Так как и – гомоморфизмы, то Pk − подполигоны полигона X . При n 2 имеем: Pn (Y ), поэтому P1 Pn при n 2. Учитывая, что и инъективны, индукцией по k нетрудно доказать, что Pk Pm при m k . Положим P Pk . Ввиду только что доказанного получаем: k 2
X k 1 Pk .
Определим отображение : X Y по формуле ( x), если x P, ( x) 1 ( x), если x P.
Определение корректно, так как при x P также x P1 , откуда x (Y ), поэтому существует 1 ( x). Осталось доказать, что – изоморфизм. Докажем сюръективность отображения . Пусть y Y . Если y ( P). то y ( x) при некотором x P, а значит, y ( x). Пусть y ( P). Положим x ( y ). Так как x (Y ), то x P1. Если x P, то x Pn при 112
Секция 1. «Теоретическая и прикладная математика»
некотором n 2. В этом случае x ( ( x)) для некоторого x Pn1. Так как x ( y ), x ( ( x)) и инъективно, то y ( x) ( P), что противоречит предположению. Таким образом, x P. Отсюда ( x) 1 ( x) y. Теперь докажем, что инъективно. Пусть x1 , x2 X и ( x1 ) ( x2 ). Если x1 , x2 P, то ( x1 ) ( x1 ) ( x2 ) ( x2 ), и ввиду инъективности получаем x1 x2 . Если x1 , x2 P, то 1 ( x1 ) ( x1 ) ( x2 ) 1 ( x2 ), откуда также x1 x2 . Пусть теперь x1 P, x2 P. Тогда ( x1 ) ( x1 ), ( x2 ) 1 ( x2 ). x1 P, то x1 Pn при некотором n, а значит, Так как x2 ( 1 ( x2 )) ( ( x2 )) ( ( x1 )) ( ( x1 )) Pn1 , что противоречит соотношению x2 P. Осталось показать, что – гомоморфизм. Пусть x X , g G. Если x P, то также xg P, и мы имеем: ( xg ) ( xg ) ( x) g ( x) g. Если x P, то ввиду соотношения
X P ( X \ P) также
xg P, поэтому
( x) 1 ( x) и ( xg ) 1 ( xg ). Положим y 1 ( x), y 1 ( xg ). Имеем: ( y ) x, ( y) xg. Далее, ( y) xg ( y ) g ( yg ), откуда y yg , а значит, ( xg ) ( x) g. Оказывается, для неунитарных полигонов утверждение теоремы 2 неверно. В следующем разделе будет построен соответствующий пример. Контрпример для неунитарных полигонов
Пусть G {e} – группа из одного элемента, X i , Yi ( i 1) – одноэлементные полигоны над группой G. Пусть Ai , Bi ( i 1) – попарно не пересекающиеся множества, причём | Ai | i, | Bi | i 1 для всех i 1. Пусть
1 : Ai X i и 2 : Bi Yi – отображения, определяющие полигоны i
i
i
i
X ( X i Ai ), Y (Yi Bi ), причём 1 ( Ai ) X i , 2 ( Bi ) Yi . Нетрудно i
i
построить вложение множества Ai в Bi , и можно построить инъективный гомоморфизм : X Y полигонов X , Y . Далее, так как X i 1 Ai 1 Yi Bi при
i 1,
то
X ( X i Ai ) (Yj B j ) Y , i2
поэтому
существует
j 1
инъективный гомоморфизм : Y X . В то же время X Y , так как в X есть двухэлементная компонента связности (это X 1 A1 ), а в Y каждая компонента связности содержит не менее трёх элементов.
113
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Литература
1. Архангельский А. В. Канторовская теория множеств - М.: Изд-во МГУ, 1988. 2. Максимовский М. Ю. О биполигонах и мультиполигонах над полугруппами, Матем. заметки, 2010, т. 87, вып. 6, С. 855–866. 3. Kilp M., Knauer U., Mikhalev A.V., Monoids, acts and categories. N.-Y. – Berlin, W. de Gruyter, 2000. Сотов А.С. Теорема Кантора-Бернштейна для полигонов над группами. Доказывается утверждение, аналогичное классической теореме КантораБернштейна, для унитарных полигонов над группами. Строится пример, показывающий, что данное утверждение неверно для неунитарных полигонов над группами. Ключевые слова: полигон над группой, унитарный полигон, теорема КантораБернштейна. Sotov A. S. The Cantor-Bernstein'sTheorem for the acts group. We prove a statement which is an analogue of the classical Cantor-Bernstein Theorem, for the unitary acts over a group. We construct an example which shows that this statement is not true for the non-unitary acts over a group. Keywords: act over a group, unitary act, Cantor-Bernstein theorem
114
Секция 1. «Теоретическая и прикладная математика»
УДК 519.1, 519.6
АЛГОРИТМ ПОИСКА КРАТЧАЙШЕГО ПУТИ В ГРАФАХ С НЕСТАНДАРТНОЙ ДОСТИЖИМОСТЬЮ Таций Е.В. ГОУ ВПО «Донецкий национальный технический университет» (г. Донецк) e-mail: TatsiyEV@yandex.ru Таций Е.В. Алгоритм поиска кратчайшего пути в графах с нестандартной достижимостью. Предложен алгоритм поиска кратчайшего пути в графах с нестандартной достижимостью. Разработаны структуры данных, позволяющие в программе реализовать алгоритм. Ключевые слова: поиск пути, алгоритм, динамический граф, нестандартная достижимость.
Введение Сегодня графы применяют практически во всех отраслях научных знаний: математике, физике, химии, биологии, истории, лингвистике, социальных науках, технике и т.п. Графовые модели используются при исследовании различных систем сетевой структуры. Их применяют при анализе и проектировании систем электро-, водо-, газо-, теплоснабжения, транспортных сетей, в картографических сервисах, для прокладки трассировки электрических соединений на кристаллах микросхем и на печатных платах, в системах коммутации информационных пакетов в сети Internet и т.д.и пр. Многие прикладные задачи сводятся к рассмотрению совокупностей некоторых объектов, находящихся во взаимной связи и взаимодействии. В таких задачах совокупность связанных объектов удобно рассматривать в виде графа. Большое значение при этом приобретают алгоритмы нахождения оптимальных маршрутов между этими объектами. Постановка задачи В задачах с использованием графов часто необходимо найти кратчайшее расстояние между двумя вершинами. Наиболее популярны в решении таких задач классические алгоритмы: Дейкстры, Беллмана-Форда, ФлойдаУоршелла, Ли. Для выбора алгоритма необходимо проанализировать особенности построения и условия функционирования сетей связи. Однако в некоторых задачах во время поиска пути связи между вершинами могут меняться. Например, такое поведение структуры графа может проявляться в транспортных или информационных сетях. В таких сетях в определённые моменты времени могут не функционировать некоторые участки, т.е. достижимость одной вершины из другой будет непостоянной. Такое поведение в графе называется нестандартной достижимостью [1-3]. 115
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
В графах с нестандартной достижимостью, в зависимости от текущего состояния сети, допустимые пути между двумя вершинами могут быть разными. Известные же нам классические алгоритмы рассчитаны на неизменяемые связи между вершинами, что делает невозможным их применение к рассматриваемой задаче [4]. Целью работы является разработка алгоритма поиска кратчайшего пути в графе с нестандартной достижимостью, зависящей от времени, а также создание структур данных для его программной реализации на языке программирования C++. Анализ последних исследований Впервые графы с нестандартной достижимостью были рассмотрены в работах Ерусалимского Я.М. и Басанговой Е.О. [5-6]. Большинство существующих решений основываются на построении дополнительного графа без ограничения на достижимость. Такой же подход использует в своих работах и Скороходов В.А. [2-4]. Во всех приведенных выше работах разработаны математические модели, которые описывают различные динамические графы и процессы на них. Рассмотрим пример поиска пути между вершинами a и e в графе с нестандартной достижимостью, зависящей от времени. Граф представлен на рисунке 1.a. Над дугами указаны моменты времени, в которые они доступны. Используем метод, предложенный ранее упомянутыми авторами. Для этого сформируем вспомогательный граф (рисунок 1.b). На нем отобразим доступность дуг в разные моменты времени (t=1,2,3…).
Рисунок 1 – Граф поиска пути между вершинами a и e
К такому графу уже можно применять классические алгоритмы. Но в этом случае количество вершин и рёбер в нем становится намного больше, чем в исходном. Кроме того, если реализовать этот алгоритм в программе, придётся хранить в памяти вершины и дуги, не только те, которые могут быть посещены, но и те, в которые никогда не удастся попасть (на рисунке 1.b это a, b, c, d, e (t=1); b, d, e (t=2); e (t=3); e(t=4)). А если будет 116
Секция 1. «Теоретическая и прикладная математика»
необходимость добавлять в граф вершины и дуги во время выполнения алгоритма, тогда для добавления новой вершины потребуется добавить ее не только в исходный граф, но и в дополнительный. Описание работы алгоритма В предлагаемом алгоритме использован иной подход к поиску пути (рисунок 2). Алгоритм будет сохранять в список все вершины, которые можно достигнуть в следующий момент времени из вершин, достигнутых ранее.
Рисунок 2 – Алгоритм поиска пути
Организация данных Входной граф будет представлен в виде списка. Это позволяет значительно уменьшить количество операций, необходимых для добавления вершин и дуг в граф, по сравнению с применением для этого матрицы смежности. Для хранения графа каждая переменная списка будет содержать в себе: Уникальное название вершины Список смежных с ней вершин Список логических переменных, обозначающих доступность перемещения в соответствующую смежную вершину в текущий момент времени. Для работы алгоритма необходимо будет хранить последовательность перемещений по вершинам, для этого будет удобно использовать дерево с переменным количеством ветвей (рисунок 3)
Рисунок 3 - Дерево с переменным количеством ветвей
В таком дереве каждый узел будет хранить следующие значения:
117
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Название соответствующей вершины графа (для ускорения доступа можно использовать указатель, тогда не придётся каждый раз искать эту вершину в графе) Указатель на своего «предка» Список указателей на своих «потомков» В дереве с такой структурой удобно представлена очередность перемещений по вершинам. Это позволит определить из какой вершины было произведено перемещение. А так как в каждом узле храниться вершина, из которой был совершен переход, то исходя из этого можно узнать путь, по которому можно добраться в любую вершину, хранящуюся в дереве. Также, для ускорения доступа к вершинам, необходимо предусмотреть хранение списка указателей на элементы, которые были достигнуты в момент времени ݐ от начала, и списка указателей на элементы, которые будут достигнуты в момент времени ݐାଵ . Это позволит не проходить по всему дереву в поиске нужного элемента при каждом обращении. Реализация дерева В приведенной ниже структуре данных будет использоваться структура nodeTree, которая нужна для упрощения итоговой структуры дерева. Она будет является узлом дерева и хранить следующие параметры: T value; - значение хранимое в узле (название вершины графа) (T – любой тип данных которым может задана вершина (номер, координата, имя)). nodeTree<T> *prev; - указатель на «предка» (вершина из которой перешли). list<nodeTree<T>*> branches; - список указателей на «потомков» узла (вершины перемещение в которые было осуществлено из данной). В итоге структура дерева на языке программирования С++ будет содержать следующие поля: nodeTree<T> *begin; - корень дерева. list<nodeTree<T>*> curLayer; - хранит вершины, которые были достигнуты на текущем шаге. list<nodeTree<T>*> nextLayer; - хранит вершины, которые будут достигнуты на следующем шаге. Для заполнения этой структуры данных были разработаны следующие функции: 1. addElement (T element); Эта функция создает новый элемент дерева для вершины с названием element. У этого узла адрес «предка» равен адресу первого элемента curLayer на данный момент и задаёт соответствующему «предку» нового «потомка». А также добавляет адрес этого элемента в список nextLayer. 2. startNewNode ();
118
Секция 1. «Теоретическая и прикладная математика»
Эта функция удаляет первый элемент curLayer, тем самым назначая «предком» другую вершину. Если при вызове этого метода curLayer окажется пустым, то произойдет вызов функции startNewLayer. 3. startNewLayer (); В результате выполнения этой функции происходит замена всего содержимое списка curLayer на содержимое списка nextLayer. После чего nextLayer обнуляется. Затем начинается обработка вершин, которые можно достигнуть на следующем шаге. Поиск пути Для начала нужно добавить в основание дерева узлов стартовую вершину. После этого можно начать работу алгоритма: 1. Главный цикл будет выполняться, пока среди проверенных вершин не окажется целевая или не останется не посещённых вершин 2. Для каждой вершины, которую мы уже достигли делаем следующее: 1. Вызываем метод addElement с параметром равным проверяемой вершине. Это позволит реализовать ожидание оптимального момента для начала движения. 2. Проверяем все смежные с ней вершины 1. Проверяем доступность перехода в эту вершину 2. Проверяем, посещалась ли эта вершины раньше 3. Если возможно перейти в эту вершину, и она раньше не посещалась, тогда вызываем метод addElement для этой вершины, тем самым добавив ее в список вершин, которые будут достигнуты на следующем шаге 4. После проверки всех смежных вершин нужно вызвать метод startNewNode, тем самым перейдя к обработке другой вершины 3. Пометить вершину как посещенную 3. После того как будут проверены все достигнутые вершины, алгоритм начнет выполнение с 1 шага Когда алгоритм найдет конечную вершину, необходимо будет в полученном дереве восстановить путь: начиная с конечной вершины переходить в вершину из которой был совершен переход и добавлять её в начало списка, хранящего итоговый кратчайший путь. Выводы В данной работе были исследованы подходы поиска кратчайшего пути в графах с нестандартной достижимостью, в частности, с зависимостью некоторых характеристик от времени. Рассмотрен принцип построения вспомогательного графа. Предложен алгоритм поиска пути когда в графе могут появляться заранее не предусмотренные вершины. Это делает его применение универсальным, а программную реализацию поиска пути сравнительно более эффективной. 119
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Описаны и реализованы структуры данных, позволяющие эффективно реализовывать этот алгоритм. Литература 1. Кочкаров А.А., Сенникова Л.И. Метрические характеристики динамических графов и их применение // Новые информационные технологии в автоматизированных системах 2015. C.236-241. 2. Скороходов В.А Достижимость на графах с ограничением на прохождение по дугам и зависимостью весов дуг от времени // Известия вузов. Северо-Кавказский регион. Естественные науки. 2009. № 6 3. Кочкаров А.А., Рахманов О.А Новые задачи динамической теории графов // Новые информационные технологии в автоматизированных системах 2014. C.314-318. 4. Скороходов В.А., Чеботарева А.С. Графы с зависимостью некоторых характеристик от времени: достижимость, случайные процессы // Известия вузов. Северо-Кавказский регион. Естественные науки. 2011. № 3 5. Ерусалимский Я.М. Некоторые задачи достижимости на графах с ограничениями / Я.М. Ерусалимский, С.Ю. Логвинов // Известия вузов. Северо-Кавказский регион. Естественные науки. – 1996, - №2, - С.14-17. 6. Басангова Е.О. Смешанная достижимость на частичноориентированных графах / Е.О. Басангова, Я.М. Ерусалимский // Вычислительные системы и алгоритмы. – Ростов-на –Дону: РГУ. 1983. – С.135-140 Таций Е.В. Алгоритм поиска кратчайшего пути в графах с нестандартной достижимостью. Предложен алгоритм поиска кратчайшего пути в графах с нестандартной достижимостью. Разработаны структуры данных, позволяющие в программе реализовать алгоритм. Ключевые слова: поиск пути, алгоритм, динамический граф, нестандартная достижимость. Tatsiy E.V. Algorithm for finding the shortest path in graphs with non-standard reachability. The algorithm of the search for the shortest path in the graphs with nonstandard reachability. Data structures allowing implementing the algorithm in the program are developed. Keywords: path search, algorithm, dynamic graph, non-standard reachability.
120
Секция 1. «Теоретическая и прикладная математика»
УДК 004.949
МОДЕЛЬ ПРОИЗВОДСТВЕННОГО ПРОЦЕССА НА ОСНОВЕ СИСТЕМЫ ЛОРЕНЦА Ткаченко О.В.1, Едемская Е.Н.1,2, Бельков Д.В.1,2 1 ГОУ ВПО «Донецкий национальный университет» (г. Донецк) 2 ГОУ ВПО «Донецкий национальный технический университет» (г. Донецк) e-mail: edemskevg@gmail.com , belkovdv@list.ru Ткаченко О.В., Едемская Е.Н., Бельков Д.В. Модель производственного процесса на основе системы Лоренца. В работе построена модель производственного процесса предприятия на основе системы Лоренца. Исследование модели выполнено в среде Octave. Ключевые слова: производственный процесс, система Лоренца, странный аттрактор.
Введение Три последних десятилетия в области экономической теории значимое место занимает анализ динамических моделей. Экономические системы являются сложными. Для их адекватного моделирования требуются нелинейные модели. Аналитическое решение в таком случае может быть найдено в исключительно редких случаях, поэтому основным методом исследования является компьютерное моделирование. Оно позволяет получать различные режимы движения системы. Большой интерес при использовании нелинейных моделей экономических систем представляет хаотическая динамика [1,2]. Переход к хаосу может приводить к потере управления системой. Актуальным является предотвращение хаотического режима работы. Цель данной статьи – анализ динамики производства на предприятии. Задачи: разработка и исследование математической модели производства на основе системы Лоренца. Вычислительный эксперимент выполнен в среде Octave. Математическая модель производственного процесса В работе [3] предложена математическая модель, где скорость изменения объёма производства на предприятии пропорциональна разности между доходами от реализации продукции и расходами на осуществление производственной деятельности. Обозначим: x – объём производства в денежном выражении; y – объём реализованной продукции; – рыночная цена единичного объёма реализованной продукции; – приведённая себестоимость единичного объёма произведённой продукции. В таком случае x y x . Скорость изменения объёма реализованной продукции пропорциональна разности между объёмом рыночного обеспечения произведённой продукции, объёмом насыщения рынка и объёмом обеспеченного спроса на ресурсы. Пусть r – коэффициент рыночного спроса 121
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
на заданный объём произведённой продукции; – коэффициент насыщения рынка; – коэффициент обеспеченности производства ресурсами; z – необходимый объём ресурсов для производственного процесса в денежном выражении, то будет справедливо следующее уравнение: y rx y xz . Скорость изменения объёма ресурсов пропорциональна разности между объёмом притока ресурсов и объёмом ресурсов, потребленных в производственном процессе. Если b – коэффициент скорости расхода ресурсов предприятия в соответствии с его производственной программой; l – коэффициент скорости пополнения ресурсов производства, то справедливо уравнение z bz lxy . Таким образом, математическая модель функционирования предприятия при принятых допущениях может быть представлена в виде модифицированной системы Лоренца (1): x y x y rx y xz z bz lxy
(1)
Если и l 1 , то система (1) соответствует известной [] системе Лоренца (2): x ( y x) y rx y xz z bz xy
(2)
При определенных параметрах динамика системы Лоренца может быть хаотической [4]. В таком режиме объем производства становится неуправляемым и система движется к разрушению. Поэтому актуальной является задача исследования модели (1) для предотвращения хаотического режима работы предприятия. Исследование модели В данной работе для исследования модели (1) выполнен вычислительный эксперимент. В первой серии экспериментов анализируется динамика системы в зависимости от параметра r. С экономической точки зрения увеличение r означает рост рыночного спроса на продукцию производства. Исходные данные показаны в таблице 1, результаты – на рисунках 1-3. Отрицательные значения объёма производства соответствуют накоплению нереализованной продукции, что ведёт к дополнительным затратам, а отрицательные значения объёма реализованной продукции соответствуют случаю, когда спрос на продукцию падает и расходы предприятия превышают доходы. При r<5 у системы наблюдается точечный аттрактор (производство со временем останавливается). В диапазоне 5<r<100 система имеет странный аттрактор, что соответствует хаотическому режиму работы. Рост параметра r меняет форму аттрактора. При r>100 система переходит к регулярному 122
Секция 1. «Теоретическая и прикладная математика»
режиму автоколебаний, которому в фазовом пространстве соответствует предельный цикл (предприятие работает стабильно). Известно, что в эконометрике рассматриваются только равновесные системы с точечным аттрактором или аттрактором «предельный цикл». Однако реальные экономические системы могут терять равновесие [5]. Таблица 1. Исходные данные первой серии экспериментов Параметр
Значение 10 5 1
Параметр
b l
Значение 1 1 2
Рисунок 1 – Точечный аттрактор при r=4
Рисунок 2 – Странный аттрактор при r=40 123
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Рисунок 3 – Формирование предельного цикла при r=400 Во второй серии экспериментов анализируется динамика системы в зависимости от параметра . С экономической точки зрения увеличение означает рост насыщения рынка продукцией предприятия. Исходные данные показаны в таблице 2, результаты – на рисунках 4, 5. При <4 система имеет странный аттрактор. Но, если >4, то насыщение рынка приводит к возникновению точечного аттрактора и производство со временем останавливается. Таблица 2. Исходные данные второй серии экспериментов Параметр Значение Параметр Значение 10 1 5 1 b 40 2 r l В третьей серии экспериментов анализируется динамика системы в зависимости от параметра . С экономической точки зрения уменьшение означает снижение себестоимости продукции предприятия. Исходные данные показаны в таблице 3, результаты – на рисунке 6. Если < система имеет точечный аттрактор, иначе – странный аттрактор. Таблица 3. Исходные данные третьей серии экспериментов Параметр
r
Значение 10 1 40
Параметр
b l
124
Значение 1 1 2
Секция 1. «Теоретическая и прикладная математика»
Рисунок 4 – Странный аттрактор при =2
Рисунок 5 – Точечный аттрактор при =4 Выводы При выполнении вычислительного эксперимента в работе получены следующие результаты. 1. При незначительном спросе на продукцию производства экономическая система имеет точечный аттрактор. Производство со временем останавливается, поскольку спрос невысокий. С увеличением спроса у системы появляется хаотический режим работы. При сверхбольших значениях спроса система переходит к регулярным автоколебаниям. 2. Рост насыщения рынка продукцией предприятия приводит к замене странного аттрактора точечным. Производство со временем останавливается из-за перенасыщения рынка. 125
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
3. При низкой себестоимости и высокой цене продукции система имеет точечный аттрактор. С ростом себестоимости возникает странный аттрактор.
Рисунок 6 – Точечный аттрактор при =1 Литература 1. Дыхта В.А. Динамические системы в экономике / В.А. Дыхта. Иркутск: БГУ, 2003. – 178 с. 2. Пугачева Е.Г. Самоорганизация социально-экономических систем / Е.Г. Пугачева, К.Н. Соловьенко. - Иркутск: БГУЭП, 2003. – 172 с. 3. Гоголадзе В.Р. Математическая модель Лоренца в строительном производстве / В.Р. Гоголадзе // Экономика и современный менеджмент: теория и практика: сб. ст. по матер. XXVIII междунар. науч.-практ. конф. № 28. – Новосибирск: СибАК, 2013. С. 32 – 41. 4. Чуличков А.И. Математические модели нелинейной динамики / А.И. Чуличков. - Москва: Физматлит, 2003. – 296 с. 5. Петерс Э. Хаос и порядок на рынке капитала / Э. Петерс Москва: Мир, 2000. – 333 с. Ткаченко О.В., Едемская Е.Н., Бельков Д.В. Модель производственного процесса на основе системы Лоренца. В работе построена модель производственного процесса предприятия на основе системы Лоренца. Исследование модели выполнено в среде Octave. Ключевые слова: производственный процесс, система Лоренца, странный аттрактор. Tkachenko O.V., Edemskaya E.N., Belkov D.V. The model of the production process based Lorenz system. In the paper the model of the production process in the construction company is constructing on the base Lorenz system. The research is executed in the Octave environment. Keywords: production process, Lorenz system, strange attractor. 126
Секция 1. «Теоретическая и прикладная математика»
УДК 519.6
МОДЕЛЬ ВЗАИМОДЕЙСТВИЯ БЕСПИЛОТНЫХ АВТОМОБИЛЕЙ В ОДНОПОЛОСНОМ ПОТОКЕ Юрченко А.С., Зензеров В.И., Бельков Д.В. ГОУ ВПО «Донецкий национальный технический университет» (г. Донецк) e-mail: belkovdv@list.ru Юрченко А.С., Зензеров В.И., Бельков Д.В. Модель взаимодействия беспилотных автомобилей в однополосном потоке. Взаимодействия устройств и машин, подключенных к Интернету и друг к другу, описывают технологии межмашинного взаимодействия. Для обмена беспроводными сигналами между беспилотными автомобилями применяется технология V2V. Она позволяет автоматически реагировать на внезапные изменения дорожной ситуации, чтобы избежать ДТП. В статье для технологии V2V предложена модель взаимодействия беспилотных автомобилей в однополосном потоке. Взаимодействие выполняется по схеме «автомобиль–поле–автомобиль». Ключевые слова: беспилотные автомобили, сигнал ускорения, сигнал торможения, однополосный поток.
Межмашинное взаимодействие Межмашинное взаимодействие (М2М) объединяет технологии, где используются сетевые устройства обменивающиеся информацией и выполняющие действия без участия человека. Аббревиатура М2М буквально означает «машина к машине». Она описывает взаимодействие устройств и машин, подключенных к Интернету и друг к другу. Их вычислительные возможности позволяют собирать информацию, и распространять ее на другие устройства, создавая интеллектуальную сеть вещей или систем. Области использования межмашинного взаимодействия показаны на рисунке 1.
Рисунок 1 – Области использования М2М 127
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Среди вариантов межмашинного взаимодействия можно выделить технологии взаимодействия с беспилотным автомобилем. Они показаны на рисунке 2.
Рисунок 2 – Технологии взаимодействия с беспилотным автомобилем Для обмена беспроводными сигналами между автомобилями применяется технология V2V. Она позволяет автоматически реагировать на внезапные изменения дорожной ситуации, чтобы избежать ДТП. V2V сочетает в себе GPS, Wi-Fi, датчики автомобиля и бортовой компьютер [1–3]. Транспортный поток с применением этой технологии показан на рисунке 3.
Рисунок 3 – Транспортный поток с V2V 128
Секция 1. «Теоретическая и прикладная математика»
На рисунке 3 видно, что каждый автомобиль окружен «полем». Взаимодействие выполняется по схеме «автомобиль–поле–автомобиль». Впервые о возможности использования понятия «поле» при моделировании транспортных потоков сказано в работе [4]. Цель данной статьи – моделирование взаимодействия беспилотных автомобилей в однополосном потоке. Задачей является построение модели для технологии V2V на основе схемы межмолекулярного взаимодействия. Разработка модели Современная теория транспортного потока выделяет в нем три фазы: 1. Свободный поток – фаза F. 2. Синхронизированный поток – фаза S. 3. Широкий движущийся кластер (локальный движущийся затор) – фаза J. В свободном транспортном потоке каждый водитель может практически свободно установить желаемую для него скорость. Другие водители ему не препятствуют. В плотном транспортном потоке скорость автомобилей меньше, чем их минимально возможная скорость в свободном потоке. Фазы S и J принадлежат плотному потоку. Его возникновение обычно происходит вблизи неоднородности на автомагистрали, вызванной въездом на магистраль, съездом с нее, изменением числа полос, сужением дороги, подъемом и т.п. Типичным примером перехода от свободного к синхронизированному потоку является переход к однополосному движению. В однополосном потоке обгон невозможен и движение каждого автомобиля ограничено впереди идущим автомобилем [5]. Обозначим: r – расстояние между беспилотными автомобилями A1 (лидер) и A2 (ведомый) в однополосном потоке. Предлагаемая модель относится к классу моделей следования за лидером. Пусть на ведомый автомобиль действуют одновременно сигнал ускорения величиной f1 0 и сигнал торможения, имеющий значение f 2 0 . Сигналы генерируются автоматически системой управления автомобилем. Цель управления – обеспечить безаварийное максимально быстрое движение автомобиля A2 . Уровень сигналов зависит от r:
f1 k1 / r 1 , f 2 k 2 / r 2 , где k1, k 2 – константы. Если 2 1 , то значение сигнала торможения уменьшается быстрее, чем значение сигнала ускорения. В этом случае суммарный сигнал f f1 f 2 на больших расстояниях является сигналом ускорения, а на малых расстояниях – сигналом торможения. Графики зависимостей f1 (r ) , f 2 (r ) при k1 1 , k 2 2 , 1 2 , 2 3 показаны на рисунках 4, 5.
129
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Рисунок 4 – График зависимости f1 (r )
Рисунок 5 – График зависимости f 2 (r ) 130
Секция 1. «Теоретическая и прикладная математика»
Как показано на рисунке 6, автомобиль A2 , начиная с большого r, вплоть до расстояния d=OL, движется к автомобилю A1 с возрастающей скоростью из-за наличия на этом участке сигнала ускорения. Значение ускорения падает с уменьшением r. Точка L соответствует равновесию сигналов ускорения и торможения. После нее движение автомобиля замедляется. Достигнув точки N, автомобиль A2 остановится. Расстояние q=ON=1 является минимальным допустимым расстоянием, при котором ведомый автомобиль находится к лидеру «бампер к бамперу». Дискретный шаг по оси абсцисс на графиках равен габаритному размеру автомобиля. Автомобиль A2 останавливается, догнав A1 в точке, где сигнал торможения имеет максимальную величину, а сигнал ускорения – минимальную. В случае больших значений r действие сигналов f1 (r ) , f 2 (r ) на автомобиль A2 прекращается. При r сигнал f ( r ) 0 .
M
O N
L D
C
Рисунок 6 – График зависимости f (r ) Выводы .В статье для технологии V2V предложена модель взаимодействия
беспилотных автомобилей в однополосном потоке. Взаимодействие выполняется по схеме «автомобиль–поле–автомобиль». Модель построена на основе схемы межмолекулярного взаимодействия.
131
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Литература 1. Технология межмашинного взаимодействия М2М – Режим доступа: https://mcr3g.ru/m2m.php 2. V2V: What are vehicle-to-vehicle communications and how do they work? – Режим доступа: https://www.extremetech.com/extreme/176093-v2vwhat-are-vehicle-to-vehicle-communications-and-how-does-it-work 3. I2V-взаимодействие – основа беспилотного движения. – Режим доступа: https://zen.yandex.ru/media/aiqcnt/i2vvzaimodeistvie--osnovabespilotnogo-dvijeniia-5bd6dac972e96d00aacab238 4. Семенов В.В. Смена парадигмы в теории транспортных потоков – Режим доступа: //https://b-ok.org/book/3150565/7221c4 5. Гасников А.В., Кленов С.Л. и др. Введение в математическое моделирование транспортных потоков. М.: МФТИ, 2010. – 362 с. Юрченко А.С., Зензеров В.И., Бельков Д.В. Модель взаимодействия беспилотных автомобилей в однополосном потоке. Взаимодействия устройств и машин, подключенных к Интернету и друг к другу, описывают технологии межмашинного взаимодействия. Для обмена беспроводными сигналами между беспилотными автомобилями применяется технология V2V. Она позволяет автоматически реагировать на внезапные изменения дорожной ситуации, чтобы избежать ДТП. В статье для технологии V2V предложена модель взаимодействия беспилотных автомобилей в однополосном потоке. Взаимодействие выполняется по схеме «автомобиль–поле–автомобиль». Ключевые слова: беспилотные торможения, однополосный поток.
автомобили,
сигнал
ускорения,
сигнал
Yurchenko A.S., Zenzerov V.I., Belkov D.V. The interaction model of unmanned vehicles in a single thread. Interaction of devices and machines that are connected to the Internet and to each other, describe the technologies machine to machine interaction. For the exchange of wireless signals between unmanned cars V2V technology. It allows you to automatically respond to sudden changes in traffic situations, to avoid an accident. In an article for V2V technologies offered the interaction model of unmanned vehicles in a single thread. Interaction is accomplished according to the scheme "carfield-car”. Keywords: unmanned vehicles, acceleration signal, braking signal, plank finished thread.
132
Секция 2. «Компьютерные науки и технологии»
Председатель: Секретарь:
Анохина Инна Юрьевна Перинская Елена Владимировна
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
УДК 004.932
О МЕТОДОЛОГИЯХ ДЕТЕКЦИИ ЧЕЛОВЕЧЕСКОГО ЛИЦА НА ИЗОБРАЖЕНИЯХ Веретельник Д.М., Норкене Е.А. ГОУ ВПО «Донецкий национальный технический университет» (г. Донецк) кафедра искусственного интеллекта и системного анализа e-mail: darcus.hant@mail.ru, l.nor@mail.ru Веретельник Д.М, Норкене Е.А. О методологиях детекции человеческого лица на изображениях. В данной работе выделяются преимущества методов детекции человеческих лиц, а также даётся краткий обзор этих наиболее распространённых методов. Проводится анализ данных методов на уже готовых результатах. Ключевые слова: нейронная сеть, гибкое сравнение на графах, марковские модели, метод главных компонент.
Введение Детекция человеческих лиц является одной из основных проблем области компьютерного зрения. Под детекцией человеческого лица понимается задача распознавания лица на исходном изображении, а также определение его позиции. Несмотря на большое разнообразие представленных алгоритмов, можно выделить общую структуру процесса распознавания лиц. Данная структура представлена на рис. 1.
Рисунок 1 - Общий процесс обработки изображения лица при распознавании На первом этапе производится детектирование и локализация лица на изображении. На этапе распознавания производится выравнивание изображения лица (геометрическое и яркостное), вычисление признаков и непосредственно распознавание – сравнение вычисленных признаков с заложенными в базу данных эталонами. Основным отличием всех 134
Секция 2. «Компьютерные науки и технологии»
представленных алгоритмов будет вычисление признаков и сравнение их совокупностей между собой. Метод гибкого сравнения на графах Метод основывается на представлении гибких графов, где вершины отмечены крупномасштабными мощностями по отношению к местному спектру, а ребра являются геометрическими векторами расстояний. В вершинах графа вычисляются значения признаков, чаще всего используют комплексные значения фильтров Габора или их упорядоченных наборов, которые вычисляются в некоторой локальной области вершины графа путем свертки значений яркости пикселей с фильтрами Габора. Волны Габора дают значение для каждой волны во всех местах изображения. Таким образом, со стандартными параметрами дискретных изображений способ дает 80 значений в любой позиции пикселя. Ребра графа взвешиваются расстояниями между смежными вершинами. Различие между двумя графами вычисляется ценовой функцией деформации, учитывающей степень деформации ребер графа и различие между значениями признаков, вычисленными в вершинах. Деформация графа происходит путем смещения каждой вершины на некоторое расстояние в определенных направлениях относительно ее исходного местоположения и выбора позиции, при которой разница между значениями признаков в вершине деформируемого графа и соответствующей ей вершине эталонного графа будет минимальной. Данная операция выполняется поочередно для всех вершин графа до тех пор, пока не будет достигнуто наименьшее суммарное различие между признаками деформируемого и эталонного графов. Значение ценовой функции деформации при таком положении деформируемою графа и будет являться мерой различия между входным изображением лица и эталонным графом. Данная «релаксационная» процедура деформации должна выполняйся для всех эталонных лиц, заложенных в базу данных системы. Результат распознавания системы – эталон с наилучшим значением ценовой функции. Скрытые Марковские модели Метод основывается на автоматическом извлечении черт лица из набора обучающих данных и последовательном использовании их для идентификации тестовых изображений. Это достигается использованием конкретного контекстно-зависимого классификатора [1], основанного на скрытых марковских моделях (HMMs). Одномерная (1D) природа цифровых сигналов (вдоль оси времени) подходит для анализа с помощью HMM. Последовательность наблюдений 1D может быть получена из изображения путем выборки его с помощью скользящего окна, где каждый элемент последовательности является вектором интенсивностей пикселей. Способ, которым скользящее окно проходит по изображению, определяет порядок последовательности. Оконные данные генерируют пространственную 135
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
последовательность [2], которая может быть использована для обучения HMM. HMM в первую очередь характеризуется матрицей вероятности перехода и матрицей вероятности выхода [3]. После обучения HMM на последовательности, сгенерированной выше, каждая матрица будет захватывать другой аспект изображения лица и, таким образом описывать вхождения переходов из одного состояния объекта в другое и толщину различных объектов. Матрица будет записывать, как выглядят состояния объектов для каждого объекта. На рис. 2 продемонстрирована скрытая Марковская модель на эргодической модели. В общей сложности 10 обучающих изображений (размер 256ൈ256, 8битные уровни серого цвета) для каждого субъекта были использованы для обучения HMM. Каждое изображение было отобрано в последовательность наблюдений с использованием окна 64ൈ64. Окно первоначально перемещалось слева направо, шагая по 48 пикселей за раз, пока не достигло правого края изображения. Затем оно переместилось на 48 пикселей вниз и начало выборку справа налево, и так далее. Это подразумевает наложение 16ൈ64 пикселей при горизонтальном скольжении и 64ൈ16 пикселей при вертикальном скольжении.
Рисунок 2 - Обучающие данные и магнитные состояния для эргодической модели В результате был построен 8-й эргодический центр. Причина выбора 8 состояний заключалась в том, что при осмотре на изображении лица появляется примерно 8 различных областей (глаза, рот, лоб, волосы, фон, плечи и два дополнительных состояния для граничных областей). На рис. 2 показаны некоторые обучающие данные, а также 8 состояний, найденных с помощью HMM. Некоторые состояния, такие как фон, глаза и шея, легко узнаваемы. Другие были порождены суперпозицией признаков и менее различимы.
136
Секция 2. «Компьютерные науки и технологии»
Метод главных компонент Одним из простейших и наиболее эффективных подходов главных компонент (PCA), используемых в системах распознавания лиц, является так называемый подход на собственной поверхности. Такой подход преобразует грани в небольшой набор существенных характеристик, собственных поверхностей, которые являются основными компонентами исходного набора обучающих образов (обучающего множества). Распознавание осуществляется путем проецирования нового изображения в подпространстве собственных поверхностей, после чего человек классифицируется путем сравнения его положения в пространстве собственных поверхностей с положением известных индивидов [4]. Преимущество этого подхода перед другими системами распознавания лиц заключается в его простоте, скорости и нечувствительности к небольшим или постепенным изменениям на лице. Проблема ограничивается файлами, которые могут быть использованы для распознавания лица. А именно, изображения должны быть вертикальными фронтальными видами человеческих лиц. Весь процесс распознавания состоит из двух этапов: A) процесс инициализации; B) процесс признания. Процесс А включает в себя описанные ниже операции. 1. Приобретение начального набора изображений лица – обучающего набора. 2. Вычисление собственной поверхности из обучающего набора, сохраняя только самые высокие собственные значения. Эти M изображений определяют пространство лица. По мере появления новых граней собственные поверхности могут обновляться или пересчитываться. 3. Вычисление распределения в этом М-мерном пространстве для каждого известного человека, проецируя его или ее изображения лица на это пространство лиц. Эти операции могут выполняться время от времени при наличии свободных избыточных рабочих мощностей. Эти данные могут быть кэшированы и использованы в дальнейших шагах, устраняя накладные расходы на повторную инициализацию, уменьшая время выполнения, увеличивая тем самым производительность всей системы [5]. Процесс B состоит из следующих ниже шагов. 1. Вычисление набора весов на основе входного изображения и M собственных поверхностей, проецируя входное изображение на каждую из собственных поверхностей. 2. Определение, является ли изображение лицом вообще (известным или неизвестным), проверив, достаточно ли близко изображение к «свободному пространству». 3. Если это лицо, то классифицируется весовой паттерн либо как известное лицо, либо как неизвестное.
137
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
4. Обновление собственных поверхностей или весов как известных или неизвестных, если одно и то же лицо неизвестного человека видно несколько раз. Затем происходит вычисление характерной картины весов и включение в известные лица. На рис. 3 приведена принципиальная схема распознавания лица с помощью метода главных компонент.
Рисунок 3 – Принципиальная схема устройства распознавания лиц Метод нейронных сетей Данный метод рассматривается на примере более быстрой сверточной нейронной сети (Faster R-СNN). При работе с данным методом на вход подается изображение, из которого извлекается трехмерный тензор особенностей. Этот тензор в свою очередь состоит из векторов особенностей, а этим векторам соответствует свой определенный участок изображения. После извлечения особенностей Сеть PRN генерирует некоторое количество регионов, в которых есть объекты (ROIs). Для каждого RoI на тензор особенностей накладывается сетка с фиксированным числом ячеек и к каждой ячейке сетки применяется MaxPooling. Таким образом для каждого прямоугольника получается тензор особенностей, но уже фиксированных пространственных размерностей. После для каждого региона полно-связная сеть вырезает, соответствующую этому региону, часть из тензора особенностей, и выдаёт класс объекта и ограничивающий блок объекта. Модель распознавания лица представлена на рис. 4.
138
Секция 2. «Компьютерные науки и технологии»
Рисунок 4 – Схема работы Faster R-CNN Вывод Компьютерное зрение – развивающаяся отрасль программирования, но при этом востребована и имеет большой спектр применения. Функцию идентификации людей на фотографиях активно используют во многих сферах деятельности человека, начиная от фотокамер на телефонах и заканчивая системами видеонаблюдения на предприятиях или в крупных городах. Однако у рассмотренных выше методах существует значительный недостаток – освещенность и положение головы в пространстве. Метод гибкого сравнения на графах показывает точность на различных данных в 96% с учетом наличия эмоций на лице. Однако данный процент эффективности имеет такие недостатки как высокая вычислительная сложность процедуры распознавания, зависимость времени работы от размера БД. Метод нейронных сетей так же показывает высокие показатели точности. Но существенным недостатком является то, что при добавлении в БД объекта необходимо заново переобучать НС. Метод марковских моделей обладает точностью распознавания в 90%, но он не нашел применения в промышленных масштабах, так как необходимо подбирать параметры модели для каждой базы данных. Метод главных компонент хорошо зарекомендовал себя в практических приложениях. Однако, в тех случаях, когда на изображении лица присутствуют значительные изменения в освещенности или выражении лица, эффективность метода значительно падает. Все дело в том, что PCA выбирает 139
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
подпространство с такой целью, чтобы максимально аппроксимировать входной набор данных.
Литература 1. C.W. Therrien. Decision estimation and classication . Wiley, 1989 2. F. Samaria. Face Identication using Hidden Markov Models. 1-st Year Report, Cambridge University Engineering Department, 1992. 3. L.R. Rabiner. A tutorial on hidden markov models and selected applications in speech recognition. Proceedings of the IEEE. 77. 2:257-286. January 1989. 4. T.W. Parsons. Voice and speech processing. McGraw-Hill, 1986 5. M. Turk, A. Pentland: Face Recognition using Eigenfaces, Conference on Computer Vision and Pattern Recognition, 3 – 6 June 1991, Maui, HI , USA, pp. 586 – 591. Веретельник Д.М, Норкене Е.А. О методологиях детекции человеческого лица на изображениях. В данной работе выделяются преимущества методов детекции человеческих лиц, а также даётся краткий обзор этих наиболее распространённых методов. Проводится анализ данных методов на уже готовых результатах. Ключевые слова: нейронная сеть, гибкое сравнение на графах, марковские модели, метод главных компонент. Veretelnik D. M, Norkiene E. A. On methodologies for detecting the human face in images. This paper highlights the advantages of methods of detection of human faces, as well as a brief overview of these most common methods. The analysis of these methods on ready-made results is carried out. Keywords: neural network, flexible comparison on graphs, Markov models, principal component method.
140
Секция 2. «Компьютерные науки и технологии»
УДК 004.056
АНАЛИЗ ИСПОЛЬЗОВАНИЯ ТЕТРАКОДОВ ДЛЯ УСОВЕРШЕНСТВОВАНИЯ АЛГОРИТМОВ ХЕШИРОВАНИЯ Власов Н.Г., Иваница С.В. ГОУ ВПО «Донецкий национальный технический университет» (г. Донецк) e-mail: vlni271831@gmail.com Власов Н.Г., Иваница С.В. Анализ использования тетракодов для усовершенствования алгоритмов хеширования. В данной статье проанализированы различные алгоритмы хеширования в сравнении с SHA-3 (Keccak), его особенности реализации, программная реализация алгоритма, а также возможные пути усовершенствования характеристик алгоритма SHA-3 (Keccak) путем использования тетракодов. Ключевые слова: хеширование, SHA-3(Keccak), тетракоды, криптография.
Введение В настоящее время практически ни одно приложение криптографии не обходится без использования хэширования. Жизнь современного человека сложно представить без использования современных технологий, что определяет высокую важность обеспечения защиты личных данных пользователей. Для защиты информации от хакеров и мошенников активно используется шифрование и хеширование данных. Криптографические хешфункции — это выделенный класс хеш-функций, который имеет определенные свойства, делающие его пригодным для использования в криптографии [1]. Из этого следует, что хеширование – это преобразование массива входных данных произвольной длины в строку фиксированной длины с помощью определенного алгоритма. Обзор основных алгоритмов хеширования В криптографии хэш-функции применяются для решения следующих задач: - построение систем контроля целостности данных при их передаче или хранении; - аутентификация источника данных. Криптографической хеш-функцией называется всякая хеш-функция, являющаяся криптостойкой, т.е. удовлетворяющая ряду требований [2], специфичных для криптографических приложений:
141
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
- необратимость, подразумевает, что для заданного значения хешфункции m должно быть вычислительно неосуществимо найти блок данных Х, для которого Н(Х) = т. стойкость к коллизиям первого рода: для заданного сообщения M должно быть вычислительно неосуществимо подобрать другое сообщение N, для которого Н(N) = Н(М). - стойкость к коллизиям второго рода: должно быть вычислительно неосуществимо подобрать пару сообщений (М, М/), имеющих одинаковый хеш. Для обеспечения максимальной стойкости к коллизиям первого и второго рода, а также для выполнения условия невозможности найти исходный блок данных за приемлемое время используются универсальные методы кодирования, основанные на функциях сжатия, такие как SHA1-160 и SHA2-256/512, RIPEMD-160, Whirlpool, MD5, MD6 и т.д. Эти хеш-функции являются наиболее используемыми в определенных направлениях хеширования. Все они обладают высокой стойкостью к методам полного перебора и высоким лавинным эффектом при малейшем изменении аргумента, т.е. коллизия сводится к минимуму. Однако с появлением все более мощных вычислительных средств и новых методов взлома они стремительно устаревают и теряют свою актуальность. Перспективным развитием направления хеширования является использование хеш-функций семейства SHA-3 (Keccak). Их повсеместное применение вместо устаревших алгоритмов обусловлено высокой степенью надежности, а также множеством настраиваемых параметров с целью обеспечения оптимального соотношения криптостойкости и быстродействия для применения на выбранной платформе. Однако и этот подход в скором времени может устареть, следовательно, необходимы новые пути развития данной научной области, в частности за счёт применения многозначной логики. Особенности и уникальность SHA-3 (Keccak) Хеш-функции семейства SHA-3 построены на основе конструкции криптографической губки [3], в которой данные сначала «впитываются» в губку, при которой исходное сообщение М подвергается многораундовым перестановкам f, затем результат Z «отжимается» из губки. На этапе «впитывания» блоки сообщения суммируются по модулю 2 с подмножеством состояния, которое затем преобразуется с помощью функции перестановки f. На этапе «отжимания» выходные блоки считываются из одного и того же подмножества состояния, изменённого функцией перестановок f. Размер части состояния, который записывается и считывается, называется «скоростью» и обозначается r, а размер части, которая нетронута вводом / выводом, называется «емкостью» и обозначается c. 142
Секция 2. «Компьютерные науки и технологии»
Алгоритм получения значения хеш-функции можно разделить на несколько этапов: Этап 1. Исходное сообщение M дополняется до строки P длиной, кратной r, с помощью функции дополнения (pad-функции). Этап 2. Строка P делится на n блоков длиной r: P0 , P1 , . . . , Pn – 1. Этап 3. «Впитывание»: каждый блок Pi дополняется нулями до строки длиной b бит и суммируется по модулю 2 со строкой состояния S, где S — строка длиной b, равной сумме r и c. Перед началом работы функции все элементы S равны нулю. Для каждого следующего блока состояние — строка, полученная применением функции перестановок f к результату предыдущего шага. Этап 4. «Отжимание»: пока длина Z меньше d (количество бит в результате хеш-функции), к Z добавляется r первых бит состояния S. После каждого прибавления к S применяется функция перестановок f. Затем Z обрезается до длины d бит. Благодаря тому, что состояние содержит c дополнительных бит, алгоритм устойчив к атаке удлинением сообщения, к которой восприимчивы алгоритмы SHA-1 и SHA-2. В SHA-3 состояние S – это массив 5 × 5 слов длиной w, равной 64 бита, всего 5 × 5 × 64 = 1600 бит. Также в Keccak могут использоваться длины w, равные меньшим степеням 2 (от 1 до 32). Реализация SHA-3 На рис.1. показана схема криптографической губки, составляющей основу алгоритма SHA-3.
Рисунок 1 – Схема криптографическая губка Схема отображает два этапа: - absorbing (впитывание), на котором исходное сообщение M подвергается многораундовым перестановкам f; 143
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
- squeezing (отжатие), во время которого выполняется вывод получившегося в результате перестановок значения Z. Переменные r и c позволяют изменять характеристики алгоритма и, соответственно, получать абсолютно разные хеш-функции. Оригинальный алгоритм Keccak имеет множество настраиваемых параметров с целью обеспечения оптимального соотношения криптостойкости и быстродействия для применения алгоритма на определённой платформе. Настраиваемыми величинами являются: - размер блока данных; - размер состояния алгоритма; - количество раундов в функции f и др. Для того, чтобы усложнить задачу восстановления исходных данных из хеша, в дополнение к вышеприведенным функциям в программной реализации алгоритма используют метод криптографической «соли». Суть метода заключается в том, чтобы к исходным данным прибавлять определенное, заранее известное, количество данных (зачастую последовательность нулей), что в свою очередь с лавинообразным эффектом обеспечивает повышенную стойкость и невозможность восстановить исходную хешированную информацию. Данный метод, к примеру, используется при сохранении паролей в UNIX-подобных операционных системах, а также в структуре блокчейнов современных криптовалют для повышения сложности майнинга со временем, т.е к каждому полученному хешу вычисленного блокчейна прибавляют «соль». Модификация SHA-3 с использованием тетракодов Суть модификации алгоритма SHA-3 (Keccak) путём использования тетракодов [4] заключается в повышении его стойкости к нахождению коллизий за счет внесения вероятностной составляющей при сохранении приемлемых временных и ресурсных характеристик. В качестве наиболее перспективного варианта из всех возможных сочетаний логических состояний (или высказываний) в двумерном логическом пространстве, рассматриваются четыре: классические «истина» (1) и «ложь» (0); а также значения неопределенности (А) и множественности (М). Следует отметить, что в тетралогике логические ноль и единица выступают в качестве однозначных логических состояний (однозначно представимых, т.е. фактически повторяющих логические состояния двоичной логики), а множественность и неопределенность — в качестве неоднозначных (вероятностных) логических состояний. Состояния тетралогики могут кодироваться тетракодом, представленным в виде значений t {0, 1, A, M} и используемым по аналогии с бинарным кодом для поразрядного представления количественных значений. При этом в отличие от двоичной логики, где n-разрядное пространство определено 2n двоичными значениями, в тетралогике количество увеличивается до 22n = 4n значений тетракодов. 144
Секция 2. «Компьютерные науки и технологии»
За счёт данного подхода при использовании массивов данных, хранящихся в тетралогическом базисе объем обрабатываемых алгоритмом данных возрастает вдвое. Таким образом, на практике возможно достижение высокой производительности алгоритма SHA-3 (Keccak). Заключение Современные алгоритмы хеширования обладают высокими характеристиками, однако ввиду быстрого развития вычислительных мощностей современных компьютеров, а также новых методов поиска коллизий они перестают обеспечивать должный уровень защиты информации. Поэтому перспективным направлением развития является усовершенствование алгоритма SHA-3 (Keccak), учитывая его преимущества над другими алгоритмами хеширования в настоящее время. В статье показаны основные преимущества SHA-3 (Keccak), его особенности и возможности усовершенствования, которые способны обеспечить качественно новый уровень защиты информации при минимальных изменениях принципов работы исходного алгоритма. Литература 1. Криптографическая хеш-функция. [Электронный ресурс] - Режим доступа: https://ru.wikipedia.org/wiki/Хеширование 2. Шнайер Б. Прикладная криптография. 2е издание [Электронный ресурс] - Режим доступа: http://www.dut.edu.ua/uploads/l_1134_27449793.pdf 3. Dworkin M. J. SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions [Электронный ресурс] - Режим доступа: https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf 4. Аноприенко А. Я. Введение в постбинарный компьютинг / А. Я. Аноприенко, С. В. Иваница. – Донецк: «ДОННТУ», 2017 – 310 с. Власов Н.Г., Иваница С.В. Анализ использования тетракодов для усовершенствования алгоритмов хеширования. В данной статье проанализированы различные алгоритмы хеширования в сравнении с SHA-3 (Keccak), его особенности реализации, программная реализация алгоритма, а также возможные пути усовершенствования характеристик алгоритма SHA-3 (Keccak) путем использования тетракодов. Ключевые слова: хеширование, SHA-3(Keccak), тетракоды, криптография. Vlasov N.G., Ivanitsa S.V. Analysis of the use of tetracodes to improve hashing algorithms. This article analyzes various hashing algorithms in comparison with SHA-3 (Keccak), its implementation features, software implementation of the algorithm, as well as possible ways to improve the characteristics of the SHA-3 (Keccak) algorithm using tetracodes. Keywords: hashing, SHA-3 (Keccak), tetracodes, cryptography 145
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
УДК 004.724.4
ИССЛЕДОВАНИЕ МЕТОДОВ СНИЖЕНИЯ ЗАДЕРЖКИ В ПРОТОКОЛАХ ПЕРЕДАЧИ ДАННЫХ В КОМПЬЮТЕРНЫХ СЕТЯX Гончаров В.В., Грищенко В.И. ГОУ ВПО «Донецкий национальный технический университет» (г. Донецк) e-mail: sevagangrel@gmail.com, victor.grischenko@gmail.com Гончаров В.В., Грищенко В.И. Исследование методов снижения задержки в протоколах передачи данных в компьютерных сетях. В статье рассмотрены основные причины задержек в интернет протоколах в компьютерных сетях, способы их измерения. Изучено влияние задержек на скорость передачи пакетов в основных протоколах передачи данных. Ключевые слова: задержка, компьютерные сети, протокол передачи данных.
Введение В современности человечество привыкло полагаться на интернет технологии, использовать клиент-серверные приложения. На качество работы этих приложений оказывает влияние множество факторов, и один из таких факторов – задержки. Актуальность работы: Уменьшение задержек в компьютерных сетях положительно скажется на скорости обмена пакетами, что в свою очередь увеличит скорости работы клиент – серверных приложений. Цель работы: исследование и анализ функциональных возможностей снижения задержки в компьютерных сетях. Определение задержек Задержка в сети определяется как количество времени, которое требуется пакету для прохождения через сеть от устройства, которое создало пакет, к устройству назначения и обратно. Причины возникновения задержек Сквозная задержка - это совокупный эффект отдельных задержек на сквозном сетевом пути. Ниже перечислены некоторые типичные компоненты задержки от рабочей станции до серверов: • рабочая сеть LAN •
WAN (если применимо) 146
Секция 2. «Компьютерные науки и технологии»
•
маршрутизатор доступа
•
сеть провайдера
•
путь от провайдера к хосту
•
внутренняя сеть сервера
Сетевые маршрутизаторы - это устройства, которые создают наибольшую задержку среди любых устройств на сквозном пути. Маршрутизаторы можно найти в каждом из указанных выше сегментов сети. Очередь пакетов из-за перегрузки канала чаще всего является причиной больших задержек через маршрутизатор. Некоторые типы сетевых технологий, такие как спутниковая связь, добавляют большую задержку из-за времени, которое требуется пакету для прохождения через канал. Поскольку задержка является кумулятивной, чем больше ссылок и прыжков маршрутизатора, тем больше будет сквозная задержка. Как измеряется задержка Формула измерения задержки: Latency = t_recevie – t_send Latency – задержка t_recevie –время прибытия пакета t_send – время отправки пакета Влияние задержки на сети Подавляющее большинство сетевого трафика приходится на один из двух типов трафика - UDP (протокол пользовательских дейтаграмм) и TCP (протокол управления передачей). Большая часть этого трафика, как правило, TCP. Эффекты задержки UDP UDP - это протокол, который определяет, как формировать сообщения, отправляемые по IP. Устройство, которое отправляет UDP-пакеты, предполагает, что они достигают пункта назначения, поэтому отсутствует механизм для оповещения отправителей о том, что пакет прибыл. UDPтрафик обычно используется для потоковых мультимедийных приложений, где случайный потерянный пакет не имеет значения.
147
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Поскольку отправителю пакетов UDP не требуется никаких сведений о том, что получатель получил пакеты, UDP относительно не подвержен задержкам. Единственный эффект, который задержка оказывает на поток UDP, - это увеличенная задержка всего потока. Эффекты второго порядка, такие как дрожание, могут негативно повлиять на некоторые приложения UDP, но эти проблемы выходят за рамки этого документа. Важно отметить, что задержка и пропускная способность полностью независимы, от трафика UDP. Другими словами, если задержка увеличивается или уменьшается, пропускная способность UDP остается неизменной.[2] Эта концепция имеет большее значение для влияния задержки на трафик TCP. На отправляющем устройстве с UDP-трафиком задержки не влияют. Приемному устройству может потребоваться более длительная буферизация пакетов UDP с большим количеством дрожания, чтобы приложение работало лучше. Эффекты задержки TCP TCP сложнее, чем UDP. TCP - это протокол гарантированной доставки, который означает, что устройству, которое отправляет пакеты, сообщается, что пакет поступил или не прибыл в хост назначения. Чтобы это работало, устройство, которому нужно отправлять пакеты в хост назначения, должно установить сеанс с хост назначения. Как только этот сеанс был настроен, получатель сообщает отправителю, какие пакеты были получены, отправляя пакет подтверждения отправителю. Если отправитель не получает пакет подтверждения для некоторых пакетов через некоторое время, пакеты отправляются повторно.[1] Помимо обеспечения гарантированной доставки пакетов, TCP имеет возможность настраиваться на пропускную способность сети, регулируя «размер окна». Окно TCP - это количество пакетов, которые отправитель передаст до ожидания подтверждения. Когда приходят подтверждения, размер окна увеличивается. При увеличении размера окна отправитель может начать отправлять трафик со скоростью, которую сквозной путь не может обработать, что приводит к потере пакета. Как только потеря пакета обнаружена, отправитель отреагирует, урезав скорость передачи пакета в два раза. Затем процесс увеличения размера окна начинается снова по мере получения большего количества подтверждений. По мере увеличения сквозной задержки отправитель может тратить много времени на ожидание подтверждений, а не на отправку пакетов. Кроме того, процесс настройки размера окна становится медленнее, поскольку этот процесс зависит от получения подтверждений. Учитывая эту неэффективность, задержка оказывает глубокое влияние на пропускную способность TCP. В отличие от UDP, TCP имеет прямую 148
Секция 2. «Компьютерные науки и технологии»
обратную зависимость между задержкой и пропускной способностью. По мере увеличения сквозной задержки пропускная способность TCP уменьшается. В следующей таблице показано, что происходит с пропускной способностью TCP при увеличении задержки в обоих направлениях. Эти данные были получены с помощью генератора задержки между двумя ПК, подключенными через быстрый Ethernet (100 mb/s). Обратите внимание на резкое снижение пропускной способности TCP по мере увеличения задержки. Таблица 1. Влияние задержки на пропускную способность TCP [2] Задержка туда и обратно
Пропускная способность TCP 93,5 Мбит / с
30ms
16,2 Мбит / с
60мс
8,07 Мбит / с
90 мс
5,32 Мбит / с
Пропускная способность TCP 100 90 80 70 60 50 40 30 20 10 0 0 ms
30 ms
60 ms
90 ms
Рисунок 1 – Зависимость пропускной способности TCP от задержки [2]
149
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
По мере увеличения задержки отправитель может бездействовать, ожидая подтверждения от получателя. Однако получатель должен буферизовать пакеты до тех пор, пока все пакеты не будут собраны в полное TCP-сообщение. Если получатель является сервером, этот эффект буферизации может быть осложнен большим количеством сеансов, которые сервер может завершить. Такое расширенное использование буферной памяти может привести к снижению производительности на сервере. Со всеми проблемами, которые латентность создает для TCP, потеря пакетов усугубляет эти проблемы. Потеря пакетов приводит к уменьшению размера окна TCP, что может привести к тому, что отправитель будет дольше бездействовать, ожидая подтверждения с высокой задержкой. Кроме того, подтверждения могут быть потеряны, что заставляет отправителя ждать, пока не истечет время ожидания для потерянного подтверждения. Если это произойдет, связанные пакеты будут повторно переданы, даже если они могли быть переданы должным образом. В результате потеря пакетов может еще больше снизить пропускную способность TCP. В следующей таблице показано влияние задержки и потери пакетов на пропускную способность TCP. Коэффициент потери пакетов был 2%. Обратите внимание, что значения пропускной способности TCP намного ниже при потере пакетов. Таблица 2 - Влияние задержки и 2% потери пакетов на пропускную способность TCP[2] Задержка туда и обратно
TCP пропускной способности, без потери пакетов
Пропускная способность TCP с потерей пакетов 2%
0ms
93,5 Мбит / с
3,72 Мбит / с
30ms
16,2 Мбит / с
1,63 Мбит / с
60мс
8,07 Мбит / с
1,33 Мбит / с
90 мс
5,32 Мбит / с
0,85 Мбит / с
Некоторая потеря пакета неизбежна. Если сеть работает отлично и не отбрасывает какие-либо пакеты, нельзя предположить, что другие сети также работают. Независимо от ситуации, имейте в виду, что потеря пакетов и задержка оказывают крайне негативное влияние на пропускную способность TCP и должны быть максимально сведены к минимуму.
150
Секция 2. «Компьютерные науки и технологии»
Заключение В данной статье был рассмотрен вопрос задержек в компьютерных сетях, их влияние на основные протоколы передачи данных, отмечены основные источники задержек. Литература 1 Внутренние механизмы ТСР, влияющие на скорость загрузки [Электронный ресурс] – Режим доступа: https://habr.com/ru/company/webo/blog/327050 2 Measuring Network Performance: Links Between Latency, Throughput and Packet Loss [Электронный ресурс] – Режим доступа: https://accedian.com/enterprises/blog/measuring-network-performance-latencythroughput-packet-loss/
Гончаров В.В., Грищенко В.И. Исследование методов снижения задержки в протоколах передачи данных в компьютерных сетях. В статье рассмотрены основные причины задержек в интернет протоколах в компьютерных сетях, способы их измерения. Изучено влияние задержек на скорость передачи пакетов в основных протоколах передачи данных. Ключевые слова: задержка, компьютерные сети, протокол передачи данных.
Goncharov V.V., Grishchenko V.I. Study of methods for reducing delay in data transfer protocols in computer networks. The article discusses the main causes of delays in Internet protocols in computer networks, methods for measuring them. The effect of delays on the transmission rate of packets in the main data transfer protocols is studied. Keywords: delay, computer networks, data transfer protocol.
151
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
УДК 004.891
ИНТЕЛЛЕКТУАЛЬНАЯ СИСТЕМА КЛАСТЕРИЗАЦИИ НАЛОГОПЛАТЕЛЬЩИКОВ Добренко Д.С., Ольшевский А.И. ГОУ ВПО «Донецкий национальный технический университет» (г. Донецк) кафедра искусственного интеллекта и системного анализа e-mail: zalman_hack@mail.ru, a_olshevskiy@mail.ru Добренко Д.С., Ольшевский А.И. Интеллектуальная система кластеризации налогоплательщиков. Исследованы категории налогоплательщиков и выявлены основные виды налогов и сборов. Проводиться анализ моделей нейронных сетей. Для предсказаний рисков была предложена многослойная архитектура нейронной сети. Разработан алгоритм работы программы. Проведено тестирование программы. Ключевые слова: нейронная сеть, обратное распространение ошибки, многослойный персептрон, виды налогов и сборов, риски по налогоплательщикам.
Постановка проблемы По мере продвижения экономической системы к рынку возник обширный спектр проблем в области управления общественным хозяйством. Переходные процессы оказались чрезвычайно сложными и неоднозначными. Идея о стихийном рынке как саморегулирующейся системе хозяйства оказалась ошибочной. Одним из главных инструментов регулирования экономических отношений является налоговая политика. Возник новый вид взаимоотношений между государством, физическими лицами и хозяйствующими субъектами, который осуществляется посредством налогообложения. Поэтому и специалисты финансовых и экономических служб, и отдельные граждане должны обладать знаниями основ налогового законодательства, порядка расчета и уплаты установленных видов налогов и сборов. Это даст возможность принимать правильные решения, как в области профессиональной деятельности, так и в повседневной жизни. Известно, что существует великое множество налогоплательщиков, у каждой категории есть свои виды налогов и сборов. Поэтому необходимо автоматизировать процесс кластеризации налогоплательщиков [1]. Алгоритмы интеллектуального анализа данных (ИАД) формируют аналитические модели, которые описывают закономерности в исходных данных. Цель работы – проектирование и разработка интеллектуальной системы кластеризации налогоплательщиков (ИСКН), для повышения эффективности выявления неблагонадежных и платежеспособных с визуализацией отображения результатов анализа.
152
Секция 2. «Компьютерные науки и технологии»
Исследование Проектирование ИСКН предполагает анализ и выделение основных видов налогов и сборов для разных категорий налогоплательщиков, а так же построение модели нейронной сети. На сегодняшний день существует большое разнообразие архитектур нейронных сетей и алгоритмов их обучения. Можно выделить самые распространённые архитектуры. Персептроны (perceptrons, feed forward neural networks, FFNN) – каждый слой состоит из входных, скрытых или выходных узлов. Узлы одного слоя не связаны между собой, а соседние слои полностью связаны. FFNN обычно обучается по методу обратного распространения ошибки. Такие сети комбинируют с другими для получения новых. Нейронная сеть Хопфилда (Hopfield network, HN) – это полносвязная нейронная сеть с симметричной матрицей связей. Во время получения входных данных каждый узел является входом, в процессе обучения он становится скрытым, а затем становится выходом. Сеть обучается так: значения нейронов устанавливаются в соответствии с желаемым шаблоном, после чего вычисляются веса, которые в дальнейшем не меняются. Автокодировщики (autoencoder, AE) – похожи на FFNN. Основной идеей является автоматическое кодирование (в смысле сжатия, не шифрования) информации. Сама сеть по форме напоминает песочные часы, в ней скрытые слои меньше входного и выходного, причём она симметрична. Сеть можно обучить методом обратного распространения ошибки, подавая входные данные и задавая ошибку равной разнице между входом и выходом. Свёрточные нейронные сети (convolutional neural network, CNN) – Обычно они используются для обработки изображений, реже для аудио. Такие сети обычно используют “сканер”, не парсящий все данные за один раз. Например, если у вас есть изображение 200×200, вы не будете сразу обрабатывать все 40 тысяч пикселей. Вместо, этого сеть считает квадрат размера 20 x 20 (обычно из левого верхнего угла), затем сдвинется на 1 пиксель и считает новый квадрат, и т.д. Для предсказания рисков по налогоплательщикам, за основу была взята многослойная нейронная сеть, основанная на персептронах. Чтобы качественно обучить нейронную сеть, было принято решение генерировать на каждую категорию налогоплательщиков собственную нейронную сеть и подавать на вход только те данные, которые относиться к данной категории. Каждая такая нейронная сеть обучается отдельно с помощью метода обратного распространения ошибки [3]. В качестве функции активации f(x) во всех нейронных сетях используется сигмоида, которая позволяет сгладить переход и минимизировать погрешность: (1) Был проведен анализ видов налогоплательщиков для обучения 153
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
нейронной сети. После чего были выявлены две основные категории налогоплательщиков: – платежеспособный; – неблагонадежный. Спроектированная внутренняя структура базы данных позволяет для каждого вида создавать отдельный каталог, в каждом из которых хранятся таблицы с данными налогоплательщиков. По каждому виду налогоплательщиков получены отдельные таблицы с собственными полями данных. Причем необходимо, чтобы в каждом из созданных каталогов было по одному идентичному файлу, сточки зрения полей. Для удобства, данные таблиц преобразованы в формат CSV (Comma Separated Values) [2]. После чего алгоритм считывает каждый каталог отдельно и формирует CSV файл с общей таблицей, в которой находятся все существующие виды налогов, сборов и номером категории. Одновременно создается файл с метаданными, в котором храниться вектора с номерами столбцов для каждой категории. После этого данные готовы для обучения нейронной сети. На рисунке 1 изображена модель готовой нейронной сети.
Рисунок 1 – Полная модель нейронной сети После этого связываем все выходы, сгенерированных сетей, с каждым входом основной сети. Размер основной нейронной сети вычисляется по количеству выявленных категорий + 2. Количество слоев задается от 2 до 4 и устанавливается в зависимости от количества входов в нейронную сеть. Таким образом, получаем некий аналог авто кодировщика, но который более точно разбивает данные на категории. Далее обучаем основную сеть на всем объеме данных. Благодаря этому шагу за каждую категорию рисков по налогоплательщикам будет отвечать одна нейронная сеть. По данной модели можно понять, что было выявлено 4 категории на первичных нейронных сетях. На схеме, каждая нейронная сеть отвечающая 154
Секция 2. «Компьютерные науки и технологии»
за конкретную категорию отображена, как Kn. По количеству входов можно понять, что алгоритм выявил 4 вида налоговых сборов [4]. На рисунке 2 схематично изображен упрощенный процесс обучения методом обратного распространения ошибки.
Рисунок 2 – Схема обучения нейронной сети Программная реализация Стоит отметить, что при написании подобного рода программ, часто пользуются языком программирования Python. Обусловлено это удобными библиотеками по работе с нейронными сетями. Однако, в качестве языка программирования был взят С++ с фреймворком Qt. Выбранный язык позволит повысить производительность и гибкость программного комплекса. Одним из важнейших достоинств языка С++ является скорость работы и возможность оптимизировать код на низком уровне [5]. Qt – это кроссплатформенный фреймворк для разработки программного обеспечения, более гибкой настройки графического интерфейса, что позволило максимально эффективно сгруппировать и обработать большие объемы данных. Для оптимизации программы каждая отдельная нейронная сеть помещается в отдельный поток и обучается независимо от всех остальных. Настройка обучения нейронной сети пользователем осуществляется по следующим показателям: – количество эпох (количество итераций) одних и тех же данных в процессе обучения; – скорость обучения, позволяет настроить чувствительность нейронной сети к нюансам; – желаемая точность (точность предсказания), которой хочет достичь пользователь. На рисунке 4 изображена общая схема алгоритма программы. 155
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Рисунок 4 – Общая схема алгоритма программы 156
Секция 2. «Компьютерные науки и технологии»
По завершению обучения программа создает файл конфигурации нейронной сети, в который сохраняет настройки сети и все ее веса, становится доступным пункт «Предсказать». Подсистема предсказание выбирает CSV файл и выдает по нему результат с точностью, с которой была обучена. Перед тестированием были сгенерированы наборы данных, для выявления узких сторон разработанной нейронной сети. Четыре набора, предназначены для обучения и один для проверки точности обученной сети. Конфигурации наборов для обучения отображены в таблице 1. Первый набор содержит избыточное количество данных при малом количестве видом налогов, позволит проверить нейронную сеть на устойчивость к переобучению. Второй набор состоит из неравного количества данных о платежеспособных и неплатежеспособных налогоплательщиках, позволит показать устойчивость сети к плохой выборке данных. Третий набор имеет большое количество видов налогов и критически маленькую выборку данных, позволит проверить сеть на недостаток и однотипность информации. Четвертый и пятый набор составлены оптимально, и содержат достаточно информации для имеющихся видов налогов. Результаты тестирования отображены в таблице 2. Таблица 1. Конфигурации наборов данных для обучения Количество налогоплательщиков
Набор
Количество видов налогов
Общее количество
1
2
100000
50000
50000
2
2
50000
10000
40000
3
5
10000
5000
5000
4
5
100000
50000
50000
Платёжеспособные Неплатежеспособные
Таблица 2. Конфигурации наборов данных Набор 1 2 3 4
Время обучения Не достигнута точность 16 мин. 05 сек. 12 мин. 40 сек. 15 мин. 26 сек.
Точность предсказания тестового набора Платёжеспособные Неплатежеспособные
Среднее
55.3%
57.2%
56.3%
31.1%
79.9%
55.5%
77.5%
78.2%
77.8%
78.8%
79.1%
79.0%
157
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Тестирование показало, что сеть не способна корректно обучаться на плохом наборе данных. При достаточном наборе данных, для всех видов налогов, достигается заданная точность обучения. Выводы Проведенные исследования и разработка интеллектуальной системы позволили выяснить, что с помощью полученной нейронной сети можно в разы ускорить процесс выявления неблагонадежных налогоплательщиков и снизить влияние человеческого фактора, оставив минимум экспертов, для контроля и вынесения конечного решения. Литература 1. Тарасова В.Ф. Налоги и налогообложение: учебник / В.Ф. Тарасова, М.В. Владыка, Т.В. Сапрыкина, Л.Н. Семыкина ; под общ. ред. В.Ф. Тарасовой. – 3-е изд., перераб. – Москва : КНОРУС, 2018. – 494 с. 2. Использование CSV-файла [Electronic resourse] / Интернет-ресурс. – Режим доступа: https://docs.microsoft.com/ru-ru/system-center/scsm/import-datacsv?view=sc-sm-2019 – Загл. с экрана. 3. Типы нейронных сетей [Electronic resourse] / Интернет-ресурс. – Режим доступа: https://tproger.ru/translations/neural-network-zoo-1 – Загл. с экрана. 4. Жерон О. Прикладное машинное обучение с помощью Scikit-Learn и TensorFlow / О.Жерон. – 1-е изд. – СПб.: Питер, 2019. – 662 с.: ил. 5. Документация QT [Electronic resourse] / Интернет-ресурс. – Режим доступа : https://doc.qt.io Добренко Д.С., Ольшевский А.И. Интеллектуальная система кластеризации налогоплательщиков. Исследованы категории налогоплательщиков и выявлены основные виды налогов и сборов. Проводиться анализ моделей нейронных сетей. Для предсказаний рисков была предложена многослойная архитектура нейронной сети. Разработан алгоритм работы программы. Проведено тестирование программы. Ключевые слова: нейронная сеть, обратное распространение ошибки, многослойный персептрон, виды налогов и сборов, риски по налогоплательщикам. Dobrenko D.S., Olshevsky A.I. Intelligent taxpayer clustering system. The categories of taxpayers are investigated and the main types of taxes and fees are identified. The analysis of models of neural networks. For risk prediction, a multilayer neural network architecture was proposed. The algorithm of the program is developed. Testing the program. Key words: neural network, back propagation of error, multilayer perceptron, types of taxes and fees, risks for taxpayers.
158
Секция 2. «Компьютерные науки и технологии»
УДК 004.584
АВТОМАТИЗАЦИЯ ОФИСНЫХ ПРОЦЕССОВ С ПОМОЩЬЮ ЧАТ-БОТА Дробот К.C., Едемская Е.Н. ГОУ ВПО «Донецкий национальный технический университет» (г. Донецк) e-mail: vorlog03@gmail.com, edemskevg@gmail.com Дробот К.C., Едемская Е.Н. Автоматизация офисных процессов с помощью чат-бота. В работе построена система автоматизации, которая упрощает и ускоряет работу в офисе. Система написана на высокоуровневом языке программирования Python в среде Pycharm. Ключевые слова: чат-бот, база данных, генератор документов, python, pycharm.
Введение В настоящие время все больше становится актуальны чат-боты, превратившиеся из развлечения в инструмент в мессенджерах, соцсетях и на сайтах. Чат-боты используются для решения различных задач. Решая эти задачи, они делают это более дружелюбно и доверительно, в совершенно естественной для человека форме диалога. Одним из составляющих офисных процессов являются повторяющиеся рутинные задачи. С помощью современных средств мы постараемся эту проблему частично решить на примере офисного менеджера, в задачи которого входит отбор новых сотрудников по требованиям предприятия и ответы на частые простые вопросы: распорядок дня, использование офисной стоянки т.д. Цель работы – повышение эффективности офисных процессов с помощью создания виртуального собеседника и интеграции его с базой данных предприятия. Задачи: разработка системы автоматизации офисных процессов на высокоуровневом языке программирования Python в среде Pycharm. Разработка системы автоматизации Чат-бот – это приложение, способное поддержать письменный диалог с пользователем, выбирающее ответы из базы данных и реагирующее на определенный набор команд. Сегодня на рынке в основном представлены чат-боты из сегмента «клиент-клиент». То есть это инструменты общения и развлечения между обычными пользователями [1]. Более совершенные чат-боты имеют свойства конечных автоматов. Конечный автомат – некоторая абстрактная модель, содержащая конечное число состояний системы. Пусть диалог пользователя с ботом можно разбить на логические части: начало диалога, запрос одной информации, запрос другой информации, возврат к определенному этапу диалога, конец диалога. 159
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
При этом можно сказать, что при каждом сообщении пользователя состояние бота меняется, и между этими состояниями осуществляются переходы [2]. Бот должен иметь возможность определять текущее состояние системы диалога, подбирать соответствующие сообщения, а также дожидаться нужного ответа. Представим задачу следующим образом: бот запрашивает у пользователя табельный номер и месяц, за который он хочет получить информацию. Не допускается некорректный ввод данных и пропуск какоголибо шага. По команде /reset диалог начинается заново. Состояние системы не должно потеряться при перезагрузке бота. Это достигается путем сохранения состояния системы в базе данных СУБД Redis. Большинство чат-ботов используется для развлечений, но возможно его применение при автоматизации работы. Например, чтобы упростить и ускорить ведение дел офисного менеджера, часть задач автоматизируем с помощью виртуального собеседника чат-бота, который будет отвечать на частые вопросы и запросы сотрудников. Пусть приложение реализует следующие задачи. – Ответы на частые вопросы. – Доступ к уставу предприятия или другим общим документам предприятия. – Запросы к информационной базе данных предприятия для сотрудников. Результаты работы приложения показаны на рисунках 1-2.
Рисунок 1 - Диалог с виртуальным собеседником 160
Секция 2. «Компьютерные науки и технологии»
Рисунок 2 – Продолжение диалога с виртуальным собеседником Программная реализация Система реализована на языке программирования Python. Обусловлено это удобными библиотеками по работе с API. Это специальный интерфейс программы или приложения, с помощью которого одна программа может взаимодействовать с другой программой. При разработке использована среда разработки PyCharm, так как она предоставляет следующие удобные функции для создания продуктов [3]. – Статический анализ кода, подсветка синтаксиса и ошибок. – Навигация по проекту и исходному коду: отображение файловой структуры проекта, быстрый переход между файлами, классами, методами и использованиями методов. – Рефакторинг: переименование, извлечение метода, введение переменной, введение константы, подъём и спуск метода и т. д. – Инструменты для веб-разработки с использованием фреймворка Django. – Встроенный отладчик для Python. – Встроенные инструменты для юнит-тестирования. – Разработка с использованием GoogleAppEngine. – Поддержка систем контроля версий: общий пользовательский интерфейс для Mercurial, Git, Subversion, Perforce и CVS с поддержкой списков изменений и слияния. 161
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Использована СУБД Redis (от англ. remote dictionary server) как для баз данных, так и для реализации кэшей, брокеров сообщений. Она ориентирована на достижение максимальной производительности на атомарных операциях и написана на Си. Интерфейсы доступа созданы для большинства основных языков программирования. СУБД Redis – резидентная система управления базами данных класса NoSQL с открытым исходным кодом, работающая со структурами данных типа «ключ значение» [4]. Общая схема работы приложения показана на рисунке 3.
Рисунок 3 – Общая схема работы бота Программа состоит из следующих 3 частей. 1. Сам чат-бот, который общается с пользователем. 2. База данных, которая по запросам от чат-бота ищет данные и передает генератору документов. 3. Генератор документов. Он принимает данные от БД и формирует документ, который передает боту, а тот в свою очередь передает пользователю. Генератор документов – это часть программы, которая создает документ по шаблону с помощью библиотеки по работе с документами в 162
Секция 2. «Компьютерные науки и технологии»
форме Microsoft Word. Программа в специально подготовленном Wordдокументе ищет метки и вставляет вместо них данные. Затем сохраняет файл и передает боту. Для предотвращения переполнения дискового пространства на сервере, после передачи заполненного документа пользователю он автоматически удаляется с сервера [5]. Схема работы этой части программы показана на рисунке 4.
Рисунок 4 – Схема работы генератора документов. При работе с пользователем бот должен отвечать на определенный набор команд. Если введена команда, которая не может быть обработана, то бот скажет, что не понял пользователя и подскажет, на какие команды он реагирует. При работе с мессенджерами необходимо учитывать объём файлов, который можно передать. Лимит на размер передаваемых файлов задается при проектировании системы. Кроме того, если пользователь запросит файл, который не будет обнаружен, бот сообщит о его отсутствии пользователю. Ведется журнал, в который записываются действия системы 163
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
диалога. При ошибке, в результате которой чат-бот прекратит деятельность, сервер автоматически его перезапустит, а в дальнейшем администратор с помощью журнала сможет узнать причину сбоя. Выводы Разработана система автоматизации, которая дает быстрый доступ сотрудникам к актуальной информации предприятия и улучшает взаимодействие с документооборотом. Создан виртуальный собеседник на высокоуровневом языке программирования Python в среде Pycharm. Разработанная система может быть использована в компьютерных системах документооборота. Литература 1. Теория о создании виртуальных собеседников [Electronic resourse] / Интернет-ресурс. – Режим доступа: https://mastergroosha.github.io/telegramtutorial/ – Загл. с экрана. 2. Теория о конечных автоматов [Electronic resourse] / Интернет-ресурс. – Режим доступа: https://en.wikipedia.org/wiki/Finite-state_machine – Загл. с экрана. 3. Информация о среде PyCharm [Electronic resourse] / Интернет-ресурс. – Режим доступа: https://ru.wikipedia.org/wiki/PyCharm – Загл. с экрана. 4. Информация о Redis [Electronic resourse] / Интернет-ресурс. – Режим доступа: https://ru.wikipedia.org/wiki/Redis – Загл. с экрана. 5. Документация mailmerge [Electronic resourse] / Интернет-ресурс. – Режим доступа: https://github.com/Bouke/docx-mailmerge Дробот К.C., Едемская Е.Н. Автоматизация офисных процессов с помощью чат-бота. В работе построена система автоматизации, которая упрощает и ускоряет работу в офисе. Система написана на высокоуровневом языке программирования Python в среде Pycharm. Ключевые слова: чат-бот, база данных, генератор документов, python, pycharm. Drobot K.C., Edenskaya E.N. Automation of office processes using the chat bot. The work has built an automation system that simplifies and speeds up work in the office. The system is written in the high-level Python programming language in the Pycharm environment. Key words: chat bot, database, document generator, python, pycharm.
164
Секция 2. «Компьютерные науки и технологии»
УДК 004.932.2
АНАЛИЗ АЛГОРИТМОВ РУЧНОГО МНОГОКАДРОВОГО СУПЕР-РАЗРЕШЕНИЯ ДЛЯ ИЗОБРАЖЕНИЙ Емельянова В.И., Бочаров Д.М. ГОУ ВПО «Донецкий национальный технический университет» (г. Донецк) кафедра искусственного интеллекта и системного анализа e-mail: valeriyaemelyanova1999@gmail.com, d_m_b@list.ru Емельянова В.И., Бочаров Д.М. Анализ алгоритмов ручного многокадрового супер-разрешения для изображений. В данной работе анализируются преимущества и недостатки алгоритмов ручного многокадрового суперразрешения, а также даётся краткий обзор этих алгоритмов. Проводится анализ данных методов на упрощенных примерах. Ключевые слова: демозаика, артефакты, супер-разрешение, анизотропные ядра сливания.
Введение Алгоритмы демозаики работают в предположении, что цвет области в данном изображении является относительно постоянным. При этом допущении цветовые каналы сильно коррелируют, и цель демозаики состоит в том, чтобы восстановить информацию о цветах с недостаточной дискретизацией, избегая при этом появления каких-либо визуальных артефактов. Типичные артефакты демозаики включают артефакты ложных цветов, такие как хроматические псевдонимы, застежка-молния (резкие или неестественные изменения интенсивности в последовательных пикселях, которые выглядят как застежка-молния), лабиринт, ложный градиент и узоры муара. Зачастую проблема эффективного демозаицирования заключается в том, чтобы компенсировать разрешение и восстановление детализации, а не вводить визуальные артефакты. В некоторых случаях базовое предположение о межканальной корреляции нарушается, что приводит к снижению разрешения и потере деталей. Демозаика Большинство методов сначала интерполируют пропущенные зеленые пиксели (поскольку они имеют двойную плотность выборки) и восстанавливают значения красного и синего пикселей, используя соотношение цветов или разницу цветов. Другие подходы работают в частотной области, используя метрики однородности LAB или нелокальные подходы. Так же используются для решения проблемы методы совместной демозаики и удаления шума. Их основная идея заключается в создании лучшего учебного набора путем определения метрик и методов для извлечения сложных кластеров из фотографий. 165
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Многокадровое супер-разрешение (SR) Покадровые подходы могут хорошо подавлять ступенчатость, но часто они ограничены в том, на сколько они могут восстановиться после наложения спектров [1]. В отличии от отдельных методов кадров, целью супер-разрешения является увеличение истинного (оптическое) разрешения. Алгоритм работы метода представлен на рис. 1.
Рисунок 1 – Обзор метода многокадрового супер-разрешения Захваченный пакет необработанных изображений (a) является входом в алгоритм. Каждый кадр выравнивается локально (d) по одному кадру, называемому базовым кадром. Вклад каждого кадра в каждом пикселе оценивается с помощью регрессии ядра. Эти вклады накапливаются отдельно для каждого цветового канала (g). Формы ядра (c) корректируются на основе оцененных локальных градиентов (b), а вклады выборки взвешиваются на основе модели устойчивости (f). Эта модель устойчивости вычисляет вес на пиксель для каждого кадра, используя поле выравнивания (d) и локальную статистику (e), собранные из окрестностей вокруг каждого пикселя. Окончательное объединенное RGB-изображение (h) получается путем нормализации накопленных результатов на канал. Шаги, изображенные на (b) - (g), называют слиянием. Предлагаемое супер-разрешение Методы супер-разрешения восстанавливают сигнал высокого разрешения из множества представлений более низкого разрешения. Учитывая стохастическую природу сдвигов пикселей [2], возникающих в результате естественного движения рук. Хорошим методом восстановления является регрессия ядра, которая восстанавливает непрерывный сигнал. Такое непрерывное представление может быть пересчитано при любом разрешении (равном или выше, чем исходное разрешение входного кадра) используются анизотропные ядра с гауссовой функцией радиального базиса (RBF), которые позволяют локально адаптивное повышение детализации или пространственно-временное шумоподавление. На рис. 2 представлена модель 166
Секция 2. «Компьютерные науки и технологии»
устойчивости, которая позволяет нашему алгоритму работать в сценах со сложным движением и постепенно снижать частоту дискретизации до одного кадра в случаях, когда выравнивание не удается.
Рисунок 2 – Субпиксельные смещения от ручного движения На данном рисунке иллюстрируется пакета из четырех кадров с линейным движением руки. Каждый кадр смещен от предыдущего кадра на половину пикселя вдоль оси x и на четверть пикселя вдоль оси y из-за движения руки. После выравнивания по базовому кадру центры пикселей (черные точки) равномерно покрывают сетку передискретизации [3] (серые линии) с повышенной плотностью. На практике распределение более случайное, чем в этом упрощенном примере. Локальные анизотропные ядра слияния Учитывая формулировку проблемы данной работы, веса ядра и функции ядра определяют качество изображения окончательного объединенного изображения: ядра с широкой пространственной поддержкой дают бесшумные и без артефактов, но размытые изображения, в то время как ядра с очень узкой поддержкой могут давать четкие и детальные изображения. Естественным выбором для ядер, используемых для восстановления сигнала, являются ядра с радиальной базисной функцией – в данном случае анизотропные ядра Гаусса [4]. В таком случае существует возможность настроить форму ядра для различных локальных свойств входных кадров: количества деталей и наличия ребер. Это похоже на методы выбора ядра, используемые в других приложениях для разреженного восстановления данных. В частности, используется 2D ненормализованный анизотропный гауссовский RBF. Одним из основных факторов использования анизотропных ядер является то, что они увеличивают устойчивость алгоритма к небольшим перекосам и неравномерному покрытию по краям. Края неоднозначны в процедуре выравнивания [5] (из-за проблемы с апертурой) и приводят к ошибкам выравнивания чаще по сравнению с некраевыми областями изображения. Смещение субпикселя, а также отсутствие достаточного покрытия образца могут проявляться как артефакты молнии (рис. 3). Растягивание ядра по краям дает возможность принудительно назначать меньшие веса пикселям, не принадлежащим краям изображения. 167
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Рисунок 3 – Работа анизотропных ядер по устранению артефактов На рис. 3 слева показано как при использовании изотропных ядер небольшие смещения вызывают сильные артефакты молнии по краям, а справа – анизотропные ядра исправляют артефакты. Вывод Алгоритм супер-разрешения работает с пакетами необработанных изображений с цветовой фильтрацией. В данной работе продемонстрировано, что при случайном естественном дрожании рук надежное супер-разрешение изображения действительно возможно и практично. Подход имеет низкую вычислительную сложность, что позволяет обрабатывать изображение с интерактивной скоростью. Он не требует специального оборудования и может работать с переменным количеством входных кадров. Подход расширяет существующую непараметрическую регрессию ядра, чтобы объединить необработанные изображения Байера непосредственно в полный кадр RGB, полностью обходя однокадровую демозаику. Было продемонстрировано, что предлагаемый метод обеспечивает лучшее качество изображения, чем современные алгоритмы демозаики и современные конвейеры обработки пакетных данных, которые сначала объединяют необработанные кадры, а затем демозаизируют. Реконструируя непрерывный сигнал, можно повторно сэмплировать его на дискретную сетку с более высоким разрешением и реконструировать детали изображения с более высоким разрешением, чем входные необработанные кадры. Благодаря локально-адаптивной параметризации ядра и модели устойчивости возможно одновременно повысить разрешение и добиться локального пространственно-временного шумоподавления. В частности, алгоритмы больше не ограничиваются арифметикой «пиксель-в-пиксель-выход», только с фиксированными шаблонами локального доступа к соседним пикселям. Это изменение предполагает, что могут потребоваться новые подходы для аппаратного ускорения обработки изображений.
168
Секция 2. «Компьютерные науки и технологии»
Наконец, в зависимости от подтвержденной связи размещая красные, зеленые и синие образцы под каждым пиксельным участком, можно предположить, что следует пересмотреть структуру массивов цветовых фильтров. Литература 1. Simon Baker and Takeo Kanade. 2002. Limits on super-resolution and how to break them. IEEE Trans. PAMI 24, 9 (2002), 1167–1183. 2. Moshe Ben-Ezra, Assaf Zomet, and Shree K Nayar. 2005. Video superresolution using controlled subpixel detector shifts. IEEE Trans. PAMI 27, 6 (2005), 977–987. 3. Sabrina Dammertz and Alexander Keller. 2008. Image synthesis by rank1 lattices. In Monte Carlo and Quasi-Monte Carlo Methods 2006. 217–236. 4. Michael Drobot. 2014. Hybrid reconstruction anti-aliasing. In ACM SIGGRAPH Courses. 5. Joan Duran and Antoni Buades. 2014. Self-similarity and spectral correlation adaptive algorithm for color demosaicking. IEEE Trans. Image Processing 23, 9 (2014), 4031– 4040. Емельянова В.И., Бочаров Д.М. Анализ алгоритмов ручного многокадрового супер-разрешения для изображений. В данной работе анализируются преимущества и недостатки алгоритмов ручного многокадрового суперразрешения, а также даётся краткий обзор этих алгоритмов. Проводится анализ данных методов на упрощенных примерах. Ключевые слова: демозаика, артефакты, супер-разрешение, анизотропные ядра сливания. Emelyanova V.I., Bocharov D.M. Analysis of manual multi-frame super-resolution algorithms for images. This paper analyzes the advantages and disadvantages of manual multicast resolution algorithms, and provides a brief overview of these algorithms. The analysis of these methods on simplified examples is carried out. Keywords: demosaics, artifacts, super-resolution, anisotropic fusion nuclei.
169
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
УДК 681.5
СИСТЕМА «УМНЫЙ ДОМ» Ермоленко П. А., Белецкий О. В. ГОУ ВПО «Донецкий национальный технический университет» (г. Донецк) e-mail: ermolenko.pasha@bk.ru Ермоленко П. А., Белецкий О. В. Система «Умный дом» Содержание данной работы посвящено изучению системы «умного дома», понятию принципа работы. Рассмотрение возможности системы. Ключевые слова: «умный дом», информационные технологии, система управления, автоматизация.
Введение Современный человек предъявляет очень высокие требования к комфортности среды обитания: 1. Эстетические (дизайн и стиль интерьера, ландшафта, красота и функциональность окружающих предметов); 2. Климатические (тепло, холод, чистый воздух); 3. Общебытовые (вода, газ, электричество, радио, телевидение, интернет, телефонная связь, наличие кухонных машин и систем гигиены саун и ванн); 4. Требования к безопасности и контролю за ней (безопасность жилища, хозяев дома и их близких); 5. Требования к надежности сложных систем (компьютеры, домашние кинотеатры, посудомоечные, стиральные машины, СВЧ-печи и др.) В результате инженерное оснащение квартир и коттеджей неуклонно усложняется, и растет количество устройств, участвующих в формировании этой среды. Возлагать на хозяина жилья управление всеми системами становится неудобно, невыгодно и небезопасно. Комплексная система управления жилищем «умный дом» берет на себя всю рутинную работу по решению этой запутанной задачи, оставляя человеку только принятие главных, «базовых» решений.
Создание коммуникационных систем
Основная задача специалистов, которые разрабатывают автоматизированные решения для жилых объектов, – создание инженерных сетей и их управление. Инженерные коммуникации внедряются поэтапно: сначала создаются система отопления, система кондиционирования и вентиляции, затем – «умный» свет и мультимедийные технологии. Использование данных сетей позволяет экономить от 10 до 40% электроэнергии. Инженерные коммуникации управляются при помощи 170
Секция 2. «Компьютерные науки и технологии»
компьютера с применением специальных программ - контроллеров. Координация работы производится благодаря сенсорным панелям, через Интернет или сотовый телефон, а также с помощью одно-, двух- или многокнопочных выключателей. Информация о состоянии коммуникаций позволяет своевременно произвести профилактику и замену неисправных деталей. Составные элементы
Климат-контроль электрической системы отопления — в каждой комнате можно создать свой микроклимат, установив желаемую температуру с помощью электронного настенного регулятора температуры или с помощью жидкокристаллической touch-панели. Кроме того, эта система позволяет экономить электроэнергию (до 50%) и ресурсы обогревателей. Контроль за работой электрокотлов нагрева воды и электрических теплых полов — эта система помогает экономить электроэнергию (до 50%): при постановке квартиры на охрану или в ночное время система автоматики переведет работу этих приборов в экономичный режим работы. Управление системами кондиционирования, приточки и вентиляции — создание в комнатах своего микроклимата, круглогодичная автоматическая работа оборудования, максимально совмещенная с вашими пожеланиями. Легкая смена режимов работы. Аварийная индикация — световая и звуковая сигнализация о неисправностях системы или об особых событиях, требующих внимания пользователя. Умный свет — управление некоторыми группами освещения по сценариям и от датчиков движения, возможность создавать в комнатах любую световую картину с помощью регулировки яркости светильников, "имитация присутствия" (при постановке квартиры на охрану некоторые светильники будут участвовать в автоматическом включении света по специальной программе, чтобы квартира не казалось нежилой в отсутствие жильцов), плавное включение всех групп освещения (экономия ресурсов светового оборудования), выключение всех светильников нажатием одной кнопки или автоматическое выключение всего света в квартире при постановке ее на охрану, управление светом в комнате дистанционно с помощью универсальных пультов управления, радиобрелков, беспроводных настенных выключателей и т.п., расширенное управление освещением с выключателей. Система контроля за протечками воды— при обнаружении протечки воды система автоматики отключает подачу воды в квартиру до устранения неисправности. Автоматизация работы электровентиляторов вытяжки в ванных и туалетных комнатах — по сценариям и с помощью датчиков влажности.
171
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Управляемые розетки — работают по заданной программе, например, при постановке квартиры на охрану отключаются розетки для утюга, кофеварки и т.п. Автоматизация работы эл. каменки домашней сауны — регулировка температуры, алгоритмы безопасности, управление каменкой по телефону. Система автоматической диспетчеризации — при возникновении каких-либо аварийных ситуаций или событий есть возможность автодозвона с голосовыми сообщениями по телефону или GSM-связи. Реализация системы Одним из основных компонентов интеллектуального здания является система автоматизированного управления эксплуатацией здания (АСУ). АСУ эксплуатации здания – это комплекс программно – аппаратных средств, основной задачей которого является обеспечение надежного и гарантированного управления всеми системами, находящимися в эксплуатации здания, и исполнительными устройствами. Система способна за счет полной неразобщенной информации от всех эксплуатируемых подсистем принять правильное решение и выполнить соответствующее действие, проинформировать соответствующую службу о событии. Существует список потребностей или пожеланий заказчика и основной задачей разработчика в этом случае является интеграция этих систем в единый «организм» в соответствии с заданной заказчиком моделью. Так же интеллектуальное здание можно интерпретировать как «разумное построенное». Это означает, что здание должно быть спроектировано так. Что все сервисы могли бы интегрироваться друг с другом с минимальными затратами (с точки зрения финансов, времени и трудоемкости), а их обслуживание было бы организовано оптимальным образом. Кроме того, процедура изменений подразумевает также добавление новых сервисов и служб по мере их возникновения. Управляющий сигнал передается по проводам бытовой электросети, витой паре или коаксиальному кабелю, в радиочастотном или инфракрасном диапазоне. Для различных устройств можно выбрать наиболее удобный способ: например, осветительными приборами – по электропроводке, видеооборудованием – по коаксиальному кабелю, кондиционерами – по витой паре, ИК-лучи и радиосигналы вообще универсальны. Исполнительные устройства или узлы домашней сети взаимодействуют между собой через роутеры и мосты (databridges), соединяющие различные носители сигналов и данных. Основным преимуществом CEBus по сравнению с Х-10 является скорость обмена данными, достигающая 10000 бит в секунду, независимо от типа носителя. Она обеспечивает необходимую быстроту реакции системы и непродолжительное время активного состояния узлов. Построение «умного дома» требует определенных решений и от его будущего хозяина. Прежде всего, он должен понять, зачем именно оно 172
Секция 2. «Компьютерные науки и технологии»
нужно. При одинаковой функциональности затраты на централизованную систему управления зданием будут приблизительно одинаковы для зданий различных масштабов. Таким образом, удельная стоимость «квадратного метра интеллекта» находится в обратной зависимости от размеров проекта, в то время как стоимость управления им «вручную» в прямой. Соответственно, строить «умный дом» имеет смысл в том случае, когда ожидаемая разница этих совокупных расходов вас устраивает. Кроме того, уровень интеллекта здания должен соответствовать ценности содержимого. Функциональность «умного дома» должна окупать затраты на его построение, иначе в ней нет никакого смысла. Понятие «умный дом» является многомерным и допускает большее количество вариаций в зависимости от того, какие задачи оно призвано решать. И, наконец, при грамотном проектировании степень интеллектуальности можно наращивать постепенно, распределяя инвестиции во времени. Уже в ближайшем будущем интеллектуальное здание может стать тиражируемым решением, вполне доступным по стоимости не только для сверхбогатых заказчиков. Удалённое управление «Умным домом» Есть несколько вариантов доступа к интерфейсу управления. Вопервых - управление системой через стационарные сенсорные экраны. Вовторых - доступ через веб-интерфейс. В-третьих - доступ через мобильное приложение.
Рисунок 1 - Управление умным домом с помощью смартфона
173
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Преимущества системы «Умный дом»: Высокий уровень безопасности; Функциональность; Экономия; Комфорт; Престиж и современность. Недостатки системы : Стоимость; Необходимость бесперебойной работы; Чувствительность к перепадам напряжения; Большое количество аппаратуры; Заключение Умный дом представляет собой интеллектуальную систему, которая объединяет электрические приборы посредством линии управления. Таким образом становится возможным одновременное управление несколькими приборами. При помощи всего лишь одного дисплея управления или нескольких выключателей можно управлять освещением, отоплением, жалюзи и системой сигнализации. При желании функции или статус можно вызвать с ПК. Литература
1. Система «умный дом» — концепция умного дома — [Электронный Ресурс] — Режим доступа. — URL: http://energorus.com/sistema-umnyj-domkoncepciya-umnogo-doma. 2. Харке В, Умный дом. Объединение в сеть бытовой техники и системы коммуникаций в жилищном строительстве, Москва, Техносфера, 2006 г., 290 стр. 3. «УМНЫЙ ДОМ»: СОВРЕМЕННАЯ СИСТЕМА УПРАВЛЕНИЯ ВАШИМ ДОМОМ. [Электронный Ресурс] — Режим доступа. — URL: https://netrs.ru/umnyi-dom-sovremennaya-sistema-upravleniya-vashimdomom-doklad-sistemy-umnyi. Ермоленко П. А., Белецкий О. В. Система «Умный дом». Содержание данной работы посвящено изучению системы «умного дома», понятию принципа работы. Рассмотрение возможности системы. Ключевые слова: «умный дом», информационные технологии, система управления, автоматизация. Ермоленко П. А., Белецкий О. В. Система «Умный дом». Содержание данной работы посвящено изучению системы «умного дома», понятию принципа работы. Рассмотрение возможности системы. Keywords: «умный дом», информационные технологии, система управления, автоматизация.
174
Секция 2. «Компьютерные науки и технологии»
УДК 681.3
АНАЛИЗ РАСТРОВЫХ СИСТЕМ ПРОРИСОВКИ ФОТОШАБЛОНОВ ДЛЯ ПРЕЦИЗИОННЫХ ПЕЧАТНЫХ ПЛАТ Захарченко К.С., Чередникова О.Ю., Достлев Ю.С. ГОУ ВПО «Донецкий национальный технический университет» (г. Донецк) e-mail: zakharchenko.kostya@gmail.com Захарченко К. С., Чередникова О. Ю., Достлев Ю. С. Анализ растровых систем прорисовки фотошаблонов для прецизионных печатных плат. В данной статьи проанализированы различные конструкции фотоплоттеров с точки зрения производства печатных плат по высоким проектным нормам. Широкое применение растровых фотоплоттеров в полиграфии привело к появлению множества конструкций, призванных решать те или иные задачи. Ключевые слова: печатная плата, фотоплоттер, фотошаблон, разрешение, система.
Введение Операция изготовления фотошаблонов является ключевой в процессе производства печатных плат, поскольку все погрешности фотошаблонов переносятся на топологию платы. Изготовление фото-оригиналов для последующего тиражирования рабочих фотошаблонов осталось в прошлом. И сегодня благодаря высокой производительности оборудования существует возможность изготавливать рабочие фотошаблоны. В данный момент на рынке присутствует множество фотоплоттеров, позиционируемых для производства печатных плат и имеющих различные конструктивные решения. В современном производстве печатных плат уже давно не используются векторные фотоплоттеры (как и фотонаборные машины) ввиду их низкой производительности и высокой стоимости. Поэтому актуальным является растровый метод засветки. В этом методе рисунок формируется элементарным пятном сфокусированного источника света. Для формирования топологии фотошаблона выполняется горизонтальная и вертикальная развертка луча. Точность механизмов, обеспечивающих эти развертки, в значительной степени сказывается на качестве конечного результата. Рассмотрим существующие типы фотоплоттеров, используемые при производстве печатных плат. Виды фотоплоттеров Работа планшетного фотоплоттера основана на векторном принципе, при котором засветка поля фотошаблона осуществляется за счет 175
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
последовательного перемещения головки с лазером или матрицы расщепленного луча лазера. Обычно сканирование рабочего поля осуществляется «змейкой». Сканирующие движения не являются равномерными. Ускорения и торможения движения головки в конечных точках, а также смена направления движения приводит к дополнительным погрешностям позиционирования. Кроме того, погрешности позиционирования могут быть вызваны выборкой зазоров в передаче перемещения, поскольку, как правило, используется шарико-винтовая передача. Для обеспечения точности позиционирования, и, как следствие, точности фотошаблонов в этом типе плоттеров очень важную роль играет система привода каретки или рабочего стола, а также измерительная система, предоставляющая возможность корректирования их положения. Все это делает планшетные фотоплоттеры дорогостоящим оборудованием, к тому же не отличающимся высокой производительностью. В некоторых планшетных фотоплоттерах засветка производится через стекло, что неблагоприятно влияет на ее качество. Однако данный вид фотоплоттеров позволяет добиться хороших результатов при обработке фотошаблонов на жестких носителях, например на стекле. Принцип работы протяжного фотоплоттера подобен принципу работы офисного принтера. Фотопленка равномерно движется по роликам конвейера фотоплоттера, и с помощью вращающихся призм с зеркалами производится последовательное отклонение засвечивающего луча, обеспечивающее вертикальную развертку. Т.к. источник света является единственным и неподвижным, а луч света, производимый источником, меняет свое направление, на фотопленке возникает эффект параллакса. Данный недостаток может быть программно компенсирован при одновременном обеспечении равномерности топологии рисунка. В протяжных фотоплоттерах есть дополнительные погрешности формы, такие как трапециевидность формы и сдвиг одной строки относительно другой. Такие погрешности вызваны проскальзыванием роликов по пленке и неравномерностью движения пленки по конвейеру. Кроме того, при перемещении фотопленка испытывает деформации (растяжения/сжатия), что тоже оказывает влияние на точность фотошаблонов. Все это ограничивает применение данного типа фотоплоттеров для производства фотошаблонов, однако возможно изготовление фотошаблонов для несложных печатных плат. Барабанный тип фотоплоттеров является наиболее простым в реализации: фотопленка закрепляется на барабане с помощью вакуума, подаваемого в пазы барабана. Затем барабан раскручивается до определенной частоты, которая очень точно поддерживается с помощью системы управления с обратной связью. После этого каретка с одним или несколькими источниками света начинает перемещаться по оси Y. В соответствии с программой производится засветка точек растра на фотошаблоне. За один оборот барабана засвечивается одна или несколько строк (в зависимости от количества источников света на каретке). Диаметр и 176
Секция 2. «Компьютерные науки и технологии»
длина барабана определяет формат фотошаблона, а частота вращения — производительность. Следует отметить, что засветка производится за один проход каретки, а ее низкая скорость перемещения позволяет использовать стандартную «передачу винт-гайка» с трапециевидной резьбой. В начале движения (до начала рабочего хода) производится выборка зазоров в передаче, и в дальнейшем эти зазоры не влияют на точность позиционирования. Все это упрощает конструкцию фотоплоттера, делая его недорогим и точным решением для изготовления фотошаблонов. Как правило, в указанном типе фотоплоттеров в качестве источников излучения используются лазеры, так как они позволяют легко сфокусировать луч и могут менять направление с высокой скоростью. Основные характеристики фотоплоттеров Разрешение фотоплоттера является наиболее важной характеристикой, определяющей качество фотошаблона. Как правило, разрешение обусловливается типом лазера и возможностями оптической системы. Для определения разрешения используется величина, равная отношению количества точек на 1 дюйм (обозначается dpi), пришедшая из полиграфии. В табл. 1 приведен перевод наиболее распространенных величин разрешений в размер точки [1]. Обычно ширина минимально воспроизводимой линии содержит четыре элементарных точки. Таблица 1. Размер точки в зависимости от разрешения Разрешение, dpi Размер точки, мкм 2 000 12,7 4 000 6,3 6 000 4,2 8 000 3,2 16 000 1,6 Для снижения эффекта «волнистого края» тонких проводников засветка фотопленки производится с шагом, меньшим, чем размер точки. Однако это приводит к снижению производительности, а потому требуется точная система позиционирования каретки (с точностью позиционирования, меньшей размера точки). Для получения конечного результата — качественного фотошаблона не всегда достаточно высокого разрешения фотоплоттера. Значительное влияние оказывает точность системы позиционирования каретки (или стола, в зависимости от схемы перемещения пленки) [2]. Для получения качественных проводников точность позиционирования должна быть соизмерима с разрешением фотоплоттера. Например, невозможно изготовить проводники шириной 10 мкм (разрешение 16 000 dpi) с точностью позиционирования ± 10 мкм. 177
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
В первую очередь точность позиционирования определяется качеством изготовления ходовых деталей фотоплоттеров. Но и компоновка фотоплоттера накладывает свой отпечаток. В планшетных фотоплоттерах требуется большая скорость перемещения, вынуждающая производителей использовать ШВП или дорогостоящие линейные приводы. А сканирующий характер движения приводит к дополнительному влиянию зазоров в передаче движения на точность позиционирования. Ситуация осложняется тем, что движение является неравномерным, и, следовательно, необходима более сложная система управления, а это неблагоприятно сказывается на стоимости оборудования. Протяжные фотоплоттеры в силу конструктивных особенностей вносят дополнительные погрешности формы, такие как трапециевидность или сдвиг. Это происходит из-за проскальзывания роликов по фотопленке. Использование специальных материалов роликов позволяет снизить подобный эффект, но суммарная точность остается недостаточной для производства фотошаблонов прецизионных печатных плат. В барабанных фотоплоттерах на точность позиционирования влияет только точность изготовления элементов передачи и возможность регулировки элементов привода. Это связано с тем, что движение происходит равномерно и имеет одно направление. Такой характер движения позволяет значительно упростить систему управления и конструкцию фотоплоттера. Поскольку погрешности изготовления деталей вносят в конечный результат систематические погрешности, их можно минимизировать с помощью общеизвестных математических алгоритмов и программного обеспечения. При этом пользователь может легко изменить параметры модели (смещения в узловых точках) на основе измерений тестового фотошаблона, что позволяет обеспечивать высокую точность засветки и компенсировать естественный износ движущихся частей на протяжении всего периода эксплуатации. Применение вращающегося барабана позволило разместить на каретке несколько расщепленных лучей лазера с длиной волны 632,8 нм, а низкая скорость перемещения каретки — использовать «передачу винт-гайка», простую в обслуживании и надежную в работе [3]. При этом производительность сохранилась на требуемом уровне. Также следует учитывать тот факт, что наличие частиц в воздухе приводит к дополнительным дефектам на фотошаблонах. Обычно серебросодержащие фотопленки электростатически не притягивают частицы (в отличие от пленок, используемых при выжигании), и для удаления пыли с них могут быть применены специальные адгезивные ролики или конвейерные установки. Проблему запыленности в помещении невозможно решить с помощью локальной фильтрации, так как при пропускании через фильтры создается дополнительная циркуляция воздуха, поднимающая более тяжелые частицы с поверхностей. Для удаления микрочастиц в чистых комнатах очищенный воздух подается потоком сверху вниз, а все фильтры вынесены за пределы помещения. 178
Секция 2. «Компьютерные науки и технологии»
Заключение В заключение хочется отметить, что планшетные, барабанные (в том числе с внутренним барабаном) фотоплоттеры позволяют выполнять фотошаблоны по высоким проектным нормам. Однако способ привода источника света определяет сложность конструкции и системы управления, предназначенной для достижения необходимых параметров точности. Поэтому при равных технических возможностях фотоплоттеры с разными компоновками могут значительно отличаться по стоимости. На барабанных фотоплоттерах изготавливаются фотошаблоны с высокой точностью и высоким разрешением. А использование недорогих и более надежных компонентов снижает затраты на обслуживание и настройку. Следовательно, стоимость владения этим типом фотоплоттеров (капитальная стоимость и стоимость обслуживания) значительно меньше, чем у других конструкций [4]. А это означает, что с их помощью можно выпускать высокоточные печатные платы с меньшей себестоимостью.
Литература 1. Принципы прорисовки фотошаблонов [Текст] / Медведев А. // Производство электроники. – 2005. – № 5. 2. Оптимизация затрат при изготовлении фотошаблонов для печатных плат [Текст] / Бурденко С. // Производство электроники. – 2005. – № 4. 3. Новый фотоплоттер с внутренним барабаном на российском рынке [Текст] / Зипунников В., Федоров С. // Производство электроники. – 2005. – № 1. 4. Watson, David F. Contouring: a Guide to the Analysis and Display of Spatial Data : with Programs On Diskette. 1st ed., 4th impr. Oxford: Pergamon press, 1999. Захарченко К. С., Чередникова О. Ю., Достлев Ю. С. Анализ растровых систем прорисовки фотошаблонов для прецизионных печатных плат. В данной статьи проанализированы различные конструкции фотоплоттеров с точки зрения производства печатных плат по высоким проектным нормам. Широкое применение растровых фотоплоттеров в полиграфии привело к появлению множества конструкций, призванных решать те или иные задачи. Ключевые слова: печатная плата, фотоплоттер, фотошаблон, разрешение. Zakharchenko K., Cherednikova O., Dostlev Yu. Analysis of raster systems for drawing photo masks for precision printed circuit boards. This article analyzes the various designs of photoplotters in terms of the production of printed circuit boards at high design standards. The widespread use of raster photoplotters in printing has led to the emergence of many designs designed to solve certain problems. Keywords: printed circuit board, photoplotter, photomask, resolution, system.
179
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
УДК 004.89
ИСПОЛЬЗОВАНИЕ СЕМАНТИЧЕСКОЙ НЕЙРОННОЙ СЕТИ В ЗАДАЧАХ МОНИТОРИНГА ТЕКСТОВОЙ ИНФОРМАЦИИ Капустин Д.А., Сентяй Р.Н., Суворова Е.Ю., Шишлакова В.Н. ГОУ ВПО ЛНР ЛНУ имени Тараса Шевченко (г.Луганск) e-mail: kap-kapchik@mail.ru Капустин Д.А., Сентяй Р.Н., Суворова Е.Ю., Шишлакова В.Н. Использование семантической нейронной сети в задачах мониторинга текстовой информации. Использование семантической нейронной сети в задачах мониторинга текстовой информации. Проведен анализ задач защиты информации, связанных с мониторингом и содержательным анализом текстовой информации. Доказана целесообразность применения семантической нейронной сети для реализации содержательного анализа текста. Сложившаяся общая методика применения семантической нейронной сети, определены условия и ограничения ее применения и указано перспективные пути совершенствования. Ключевые слова: анализ текста, защита информации, содержание текста, синхронизированного линейное дерево, семантические нейронные сети
Постановка проблемы Результаты анализа функциональности современных аппаратнопрограммных комплексов защиты офисного документооборота [1, 2] указывают на то, что у многих из них заявлена возможность обнаружения утечек конфиденциальной информации и персональных данных через электронную почту, ICQ, SMS Skype, сообщения на Интернет форумах и блогах, и тому подобное. Кроме того, в них предусмотрена возможность обнаружения и защиты от спам-сообщений. Типичный алгоритм решения соответствующих задач защиты состоит из следующих этапов: − определение текстовой информации, принимается/передается по одному из возможных каналов связи; − выявление в определенном тексте информации, запрещенной для приема/передачи; − если запрещённая информация обнаружена, то формируется сигнал о нарушении и реализуются соответствующие защитные меры. Наиболее сложным является второй этап алгоритма решения. Его реализация связана с автоматическим определением содержания подконтрольного текста в виде выходного документа, в унифицированной и компактной форме описывает основные содержательные атрибуты исходного текста. После этого исходный документ сравнивается с одним или
180
Секция 2. «Компьютерные науки и технологии»
несколькими образцами. Результатом сравнения является классификация начального документа по заранее определенному критерию. Изложение основного материала Типовая методика обработки текста с целью определения его содержания заключается в переводе текста на естественном языке во внутреннее представление системы и возможном выведении из этого представления новых данных. Процесс обработки реализуется на трех уровнях: морфологическом, синтаксическом и семантическом. На морфологическом и синтаксическом уровнях из текста выделяются отдельные слова, которые разделяются на отдельные морфемы. После этого определяются синтаксические связи между словами. Целью первых двух этапов является получение словоформ с отрезанными окончаниями. Каждой словоформе ставится в соответствие значение определенных грамматических признаков. Целью семантического анализа является выявление смысла слов и словосочетаний [3, 4, 5]. В процессе семантического анализа знания, заложенные в имитационной модели, сравниваются с фактами, представленными в тексте. Результатом сравнения выступает внутреннее, с точки зрения системы обработки, формализованное представление текста. Окончательным результатом анализа текста является семантическая сеть, которая сегодня считается наиболее полным и достоверным описанием его содержания. В классическом понимании семантическая сеть − это форма представления знаний в виде графа, узлы которого соответствуют фактам или понятием, а дуги - отношением или ассоциациям между понятиями [3]. Семантическая сеть позволяет абстрагироваться от малоинформативных элементов и представить структуру текста в терминах, описанных в тексте ситуаций (предикатов) и их участников (аргументов) в определенных семантических ролях. Известно много различных типов семантических сетей, приспособленных для анализа содержания текстовой информации. Недостатком большинства из них является сложность самообучения в процессе практического использования. Поэтому заслуживают внимания семантические сети, созданные с использованием нейросетевых технологий. В них сочетаются преимущества и семантических и нейронных сетей. Семантическую нейронную сеть, возможно, разделять на отдельные сети, выполняющие различные функции. Обмен данными между этими подсетями, выполняется с помощью нейронов-эффекторов и нейроноврецепторов. При обработке семантической нейронной сетью текстовой информации с целью проведения морфологического, синтаксического и семантического анализа нейронам достаточно выполнять только основные операции нечеткой логики: дизъюнкции, конъюнкции и инверсии. При этом нейроны должны образовывать структуру типа «синхронизировано линейное дерево», которая позволяет проводить все необходимые этапы обработки текста. 181
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
В синхронизированном линейном дереве внешняя информация подается на рецепторы сети. Количество рецепторов равно суммарному количеству символов алфавита естественного языка текста и спецсимволов, предназначенных для отделения слов, предложений, абзацев и тому подобное. За один такт работы нейронной сети рецепторам для распознавания подается только один символ. Поэтому выход только одного рецептора будет иметь значение «истина». Далее информация передается на слой обработки, содержащий синхронизированы нейроны, выполняют операцию конъюнкции и несинхронизированные нейроны, выполняют операции дизъюнкции и инверсии. Отметим, что слой обработки состоит из нескольких отдельных синхронизированных и несинхронизированных слоев нейронов. После обработки информация попадает в эффекторы. Таким образом, подача отдельной буквы вызывает в нейронной сети волну активности нейронов, распространяется от рецепторов к эффекторам. Каждому фронту волны активации соответствует собственный синхронизированный слой обработки. При этом первый слой содержит нейроны, которые распознают первую букву, второй слой распознает первые две буквы, третий - первые три и так далее. Фрагмент слоя обработки, предназначенный для распознавания слов «защиты», «Защита», «талант», «таланта», «за», «з», показано на рисунке 1.
Рисунок 1 – Фрагмент слоя обработки Согласно рис. 1, каждый из нейронов слоя обработки является синхронизированным конъюнктором, что имеет один входной связь с нейроном с предыдущего слоя и один связь с рецептором, соответствует текущей букве. Количество выходных связей нейронов обработки ограничено В синхронизированном линейном дереве, показанном на рис. 1, количество волн соответствует количеству слоев обработки и равно 7. 182
Секция 2. «Компьютерные науки и технологии»
Агрегирующий слой, предназначенный для частичной классификации слов «защиты», «защита», «талант», «таланта», «за», «з», показанный на рис. 2.
Рисунок 2 – Структура агрегирующего слоя В общем случае перед каждым слоем обработки может находиться агрегирующий слой нейронов. При этом все выходы нейронов слоя обработки, относятся к одному классу, связанные с входами нейронов агрегирующего слоя, предназначенными для распознавания этого класса. Именно объединение последовательных слоев (агрегирующего и обработки) с одним общим синхронизирующим входом и называется синхронизированным линейным деревом. Для проведения полной обработки текста, возможно, использовать несколько связанных между собой синхронизированных линейных деревьев. Кроме того, за счет использование несинхронизированных нейронов в синхронизированном линейном дереве является возможность одновременного получения нескольких альтернативных решений. Обучение семантической нейронной сети со структурой типа синхронизированного линейного дерева заключается в запоминании ней новой информации, запрещенной для приема/передачи. При этом выделение отдельных слов с текста целесообразно проводить с помощью выделенного вида нейронной сети препроцессора. Учебные данные, представленные на вход сети, должны представлять базу данных и базу знаний имитационной модели предметной области, в состав которой входит информация, запрещенная для приема/передачи. Сама имитационная модель будет сформирована в результате обучения семантической нейронной сети. В качестве базы данных и базы знаний имитационной модели для синхронизированного линейного дерева, приспособленных для морфологического и синтаксического разбора текста, могут быть использованы грамматические словари языка, на котором написан текст. Проведенные расчеты показывают, что объем хранилища данных синхронизованного линейного дерева для разбора текста на украинском или русском языках составляет менее 10 гигабайт [2]. 183
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Особенностью семантического анализа текста является использование в синхронизированном линейном дереве имитационной модели предметной области в виде продуктивной экспертной системы. Производительные экспертные системы состоят из двух частей: механизма логического вывода и базы знаний. В упрощенном виде механизм логического вывода определяет перечень и последовательность правил вывода. По отношению к синхронизованному линейному дереву механизмом логического вывода является структура такого дерева. Обучение синхронизованного линейного дерева сводится к формированию структуры механизма логического вывода и формированию групп нейронов, которые отвечают правилам экспертной системы. Синхронизованные линейные деревья, которые соответствуют базе знаний экспертной системы, могут последовательно включатся один за другим или входить в состав блоков, выполняющих функции морфологического и синтаксического разбора. Приведенный в [5] анализ реализации семантических нейронных сетей, предназначенных для обработки документов финансовой отчетности, указывает на высокое качество проведения синтаксического и морфологического анализа, среднее качество семантического анализа и необходимость дополнительных исследований для получения синтезированных ответов. Выводы Проведенные исследования указывают на возможность повышения эффективности средств мониторинга текстовой информации за счет применения семантических нейронных сетей с целью содержательного анализа текста, запрещенного для приема/передачи в офисных информационных системах. Сформирована общая методика такого использования. Основные перспективы дальнейших исследований в данном направлении заключаются в упрощении архитектуры семантической нейронной сети и усовершенствование методики формирования имитационной модели предметной области, которой соответствует информация, запрещённая для приема/передачи. Литература 1. Богуш В.М. Информационная безопасность: терминологический учебный справочник / В. М. Богуш, В. Г. Кривуца, А. М. Кудин. - М.: УИК, 2004. - 508 с. 2. Грамматический словарь русского языка: словоизменением / [сост. Зализняк А. А.] - М. : Рус. яз., 1980. - 880 с.
184
Секция 2. «Компьютерные науки и технологии»
3. Люгер Ф. Искусственный интеллект: стратегии и методы решения сложных проблем, четвёртое издание / Люгер Ф.; пер. с англ. Н. И. Галагана М.: Вильямс, 2003. - 864 с. 4. Терейковский И. Нейронные сети в средствах защиты компьютерной информации / И. Терейковский. - М.: Полиграфконсалтинг. - 2007. - 209 с. 5. Шуклин Д.E. Модели семантических нейронных сетей и их применение в системах искусственного интеллекта: дис. ... кан. техн. наук: 05.13.23 / Д.Э. Шуклин. - Х., 2003.- 196 с.
Капустин Д.А., Сентяй Р.Н., Суворова Е.Ю., Шишлакова В.Н. Использование семантической нейронной сети в задачах мониторинга текстовой информации. Использование семантической нейронной сети в задачах мониторинга текстовой информации. Проведен анализ задач защиты информации, связанных с мониторингом и содержательным анализом текстовой информации. Доказана целесообразность применения семантической нейронной сети для реализации содержательного анализа текста. Сложившаяся общая методика применения семантической нейронной сети, определены условия и ограничения ее применения и указано перспективные пути совершенствования. Ключевые слова: анализ текста, защита информации, содержание текста, синхронизированного линейное дерево, семантические нейронные сети
Kapustin D.A., Sentai R.N., Suvorova E.Y., Shishlakova V.N. The use of semantic neural network in monitoring tasks of textual information. Using a semantic neural network in monitoring the text information. The analysis of information security problems associated with monitoring and content analysis of textual information. The feasibility of using a semantic neural network for the semantic analysis of text is proved. A general method of semantic neural network is formed, conditions and limitations of its use and promising ways for improve are indicated. Keywords: text analysis, data protection, text meaning, synchronous linear tree, semantic neural network
185
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
УДК 53.088.24
ВЛИЯНИЕ ТЕМПЕРАТУРЫ ВОЗДУШНЫХ ПОТОКОВ НА ТОЧНОСТЬ ПОЗИЦИОНИРОВАНИЯ Капустин Д.А., Швыров В.В., Галимурза С.А., Суворова Е.Ю. ГОУ ВПО ЛНР ЛНУ имени Тараса Шевченко (г. Луганск) e-mail: kap-kapchik@mail.ru Капустин Д.А., Швыров В.В., Галимурза С.А., Суворова Е.Ю. Влияние температуры воздушных потоков на точность позиционирования. Современные датчики микроэлектромеханических систем способны измерять параметры движения с точностью в несколько сантиметров, однако, когда датчик установлен в беспилотных летательных аппаратах и рядом с ним расположены несущие винты, которые прокачивают потоки воздуха, и на показания датчиков накладываются флуктуации плотности воздушных масс разной температуры – при этом высокую точность измерений реализовать невозможно. Влияние на показания датчиков оказывают изменения температур корпуса и окружающей среды. Следовательно, существенным недостатком этих датчиков является выраженная зависимость результатов измерения от температур корпуса и окружающей среды. Ключевые слова: МЭМС, гироскоп, акселерометр, флуктации, температура, термокомпенсация
Постановка проблемы Активно развивающиеся технологии микроэлектромеханических систем (МЭМС) сделали доступными для применения в недорогих массовых устройствах датчики и системы измерения параметров, которые ранее использовались лишь в дорогой авиационной, космической и военной технике. Особенно это относится к датчикам для измерения параметров движения – инерциальным датчикам (гироскопам, акселерометрам). МЭМСакселерометры, используемые в беспилотных летательных аппаратах, обладают отличными характеристиками по параметрам энергопотребления, цене, габаритным размерам и массе. Однако, одной из основных проблем создания и эксплуатации микромеханических акселерометров является их высокая чувствительность к изменениям температуры окружающей среды. В [1] показано, что для повышения точности измерений акселерометра необходимо учитывать температурную погрешность их показаний. Фирмыизготовители акселерометров в технической характеристике указывают допустимую среднюю погрешность показаний в определенном интервале изменения температур. При этом не указывается, в каком именно интервале температур она увеличивается или уменьшается. В связи с тем, что акселерометры имеют различную конструкцию, можно предположить, что они и в разной степени реагируют на изменение температуры окружающей 186
Секция 2. «Компьютерные науки и технологии»
среды, а значит имеют отличающиеся от других акселерометров характеристики, поэтому важно знать характер этой зависимости. Наиболее точно учесть погрешность показаний можно, сняв экспериментальную тарировочную характеристику акселерометров в лабораторных условиях и затем вносить поправки в получаемые результаты. Цель статьи Исследование акселерометра.
характера
температурной
зависимости
показаний
Изложение основного материала Ниже представлена результаты исследования влияния температурных флуктуаций на MPU-6050 – 6-осевой (3-осевой гироскоп + 3-осевой акселерометр) микроэлектромеханический (MEMS) датчик перемещения. MPU-60X0 - первое в мире интегрированное 6-осевое MotionTracking устройство, которое сочетает в себе 3-осевой гироскоп, 3-осевой акселерометр и Digital Motion Processor™ (DMP) в небольшом пакете 4x4x0,9 мм. Благодаря специальной сенсорной шине I2C он напрямую принимает входные сигналы от внешнего 3-осевого компаса, чтобы обеспечить полный выход на 9-позиционный MotionFusion™. Устройство MotionTracking MPU60X0 с его 6-осевой интеграцией, встроенным программным обеспечением MotionFusion™ и встроенной программой калибровки времени выполнения позволяет производителям устранять дорогостоящую и сложную выборку, а также системную интеграцию дискретных устройств, гарантируя оптимальную производительность. MPU-60X0 также предназначен для взаимодействия с несколькими неинерциальными цифровыми датчиками, такими как датчики давления, на его вспомогательном порту I2C. MPU-60X0 оснащен тремя 16-разрядными аналого-цифровыми преобразователями (АЦП) для оцифровки выходов гироскопа и тремя 16-разрядными АЦП для оцифровки выходов акселерометра. Для точного отслеживания как быстрых, так и медленных движений детали в измерительных системах должны иметь программируемый пользователем гироскоп с полным диапазоном ± 250, ± 500, ± 1000 и ± 2000°/сек (dps) и полномасштабный пользовательский программируемый акселерометр, диапазон ± 2g, ± 4g, ± 8g и ± 16g. Эксперимент проводился с использованием климатической камеры, позволяющей проводить испытания в диапазоне от –70ºС до +100ºС. На рис. 1 показана схема установки. Испытания проводились в диапазоне 5g – 10g в разных положениях относительно оси чувствительности. При этом ось X сонаправлена с осью чувствительности акселерометра, а оси Y и Z взаимно перпендикулярны. Измерения выполнены в положительную и отрицательную стороны относительно осей. 187
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Рисунок 1 – Схема установки для климатических испытаний: 1– акселерометр, 2 – базовая площадка, 3 – термокамера, 4 – оптическая делительная головка, 5 – развязанный фундамент, 6 – основание, 7 – термометр. Испытания проводились при нормальной температуре 22°C, и при значениях –50°C, –30°C, –5°C, 37°C, 50°C, 70°C. Измерения положения проводятся вдоль осей x, y, z. Знак указывает на направление по оси. Результаты испытаний при всех заданных значениях температуры приведены в таблице 1. Таблица 1. Результаты определения положения при заданных значениях температуры Темпера тура
X+
X-
X+
Y+
Y-
Y+
Z+
Z-
Z+
-50°
953502
-948849
953669
-3566
12683
-3825
3876,14
8695
3355
-30°
952816
-949755
953280
-3529
12563
-3616
4002
9219
4120,18
-5°
959647
-943130
959705
-1081
14917,9
1908,9
22°
962790
-941672
962915
4006
17955
4079
37°
960694
-944135
960762
4176
17812,1 4121,25 9076,14 9629,56 9122,24
50°
960506
-944610
960624
2685
16277,3 2529,13 7457,36 10421,7 7466,44
70°
961403
-944654
961385
3567
17186
3467
8254,13 13658,3 8327,27 8767
8059
13176
9974
8553
7902,34
По результатам испытаний для каждой оси рассчитаны масштабные коэффициенты Mx, My, Mz, Zx, Zy, Zz. Также определены нулевые значения выходных сигналов акселерометра Z0 в соответствующих положениях относительно осей. Рассчитанные значения приведены в таблице 2.
188
Секция 2. «Компьютерные науки и технологии»
Таблица 2. Масштабные коэффициенты и нулевые значения выходных сигналов Температура
Mx
Zx
My
Zy
Mz
Zz
Z0
-50 °
951217,7 2 368,5
-8190,0
4493,7
-2539,9
6155,6
0,00249
-30 °
951402,1 1646,7
-8068,1
4495,4
-2579,1
6640,4
0,00173
-5 °
951403,7 8 273,0
-7252,2
7665,8
-2683,8
10974,5
0,00870
22 °
952262,7 10 590,0
-6956,4
10999,0
-2258,1
10918,5
0,01112
37 °
952432
8 296,6
-6831,7
10980,4
-265,2
9364,4
0,00871
50 °
952587,9 7 977,5
-6835,0
9442,4
-1479,9
8941,8
0,00837
70 °
953024,4 8 370,1
-6834,5
10352,1
-996,9
8977,9
0,00878
Далее представлены графики масштабных коэффициентов и нулевых значений выходных сигналов (рис. 2, 3).
Рисунок 2 – Изменение масштабных коэффициентов при различной температуре
Рисунок 3 – Изменение нулевых значений выходных сигналов акселерометра при различной температуре 189
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Испытания показали высокую устойчивость масштабных коэффициентов акселерометров при изменении температуры. В диапазоне от –50° до 70°C максимальное изменение масштабного коэффициента без использования термокомпенсации не превысило ±0,12%. Изменение смещения нулевого сигнала акселерометров в том же диапазоне температур не превысило ±0,023 g и может быть скомпенсировано по сигналам встроенного термодатчика. Выводы Использование программной термокомпенсации может повысить точность акселерометра за счет использования температурной характеристики самого акселерометра. К достоинствам термокомпенсации можно отнести готовность датчика к работе сразу после включения (переходные процессы длятся менее 0,5 сек. после подачи питания, а дальнейший прогрев чувствительного элемента и электронной схемы обработки строго закономерен и компенсируется с большой точностью) и низкое потребление тока. Однако использование метода непрограммной термокомпенсации существенно усложняет систему, увеличивает ее стоимость и габариты. Применение программной термокомпенсации позволит значительно снизить изменение, а также систематическую и случайную составляющие нулевого сигнала. Литература 1. Аврутов В.В. Надежность и диагностика / В.Аврутов, Н. Бурау. LAP LAMBERT Academic Publishing, 2015. – 164 с. 2. Аврутов В.В. Интеркардинальная девиация гирокомпаса с динамически настраиваемым гироскопом // Прикладная механика. – 1991. – т. 27, № 6. – С.99-106. 3. Е.П.Попов Теория линейных систем автоматического регулирования и управления. – М.:Наука 1978, 256стр. 4. Антонова М.В. Модель погрешностей волоконно-оптического гироскопа / Автореферат диссертации на соискание уч. степ. канд. техн. наук / - М.: МГТУ им. Н.Э. Баумана,2014. – 18 с. 5. Бурмистров В.П. Автоматизированная система испытаний прецизионных гироскопических приборов / В.П. Бурмистров, Н.А. Темляков, А.А. Хасанов // Гироскопия и навигация. – 1995. – №3 (10). – с. 24-29. 6. Бутенин Н.В. Курс теоретической механики: учебник в 2-х томах. Т. II: Динамика. – М.: Наука, 1979. – 544 с. 7. Измайлов Е.А. Скалярный способ калибровки и балансировки бесплатформенных инерциальных навигационных систем / Е.А. Измайлов, С.Н. Лепе, А.В. Молчанов, Е.Ф. Поликовский // XV Международная конференция по интегрированным навигационным системам. / ГНЦ РФ ЦНИИ «Электроприбор». – СПб., 2008. – С.145-154. 190
Секция 2. «Компьютерные науки и технологии»
8. Avrutov V. On Scalar Calibration of an Inertial Measurement Unit / V. Avrutov, S. Golovach, T. Mazepa // 19-th St. Petersburg International Conference on Integrated Navigation Systems. St. Petersburg, Russia, 2012. - State Research Center (CSRI) Elektropribor, 2012, pp.117-121. 9. Ideal-Aerosmith. The Model 9790-BVR Scorsby Motion Test Table [Электронный ресурс]. – Режим доступа: http://www.ideal aerosmith.com/motion/scorsby-motion-test-table-9790-bvr. Капустин Д.А., Швыров В.В., Галимурза С.А., Суворова Е.Ю. Влияние температуры воздушных потоков на точность позиционирования. Современные датчики микроэлектромеханических систем способны измерять параметры движения с точностью в несколько сантиметров, однако, когда датчик установлен в беспилотных летательных аппаратах и рядом с ним расположены несущие винты, которые прокачивают потоки воздуха, и на показания датчиков накладываются флуктуации плотности воздушных масс разной температуры – при этом высокую точность измерений реализовать невозможно. Влияние на показания датчиков оказывают изменения температур корпуса и окружающей среды. Следовательно, существенным недостатком этих датчиков является выраженная зависимость результатов измерения от температур корпуса и окружающей среды. Ключевые слова: МЭМС, гироскоп, акселерометр, флуктации, температура, термокомпенсация Kapustin D.A., Shvyrov V.V.,Galimurza S.A., Suvorova E.Y. Influence of the air flow temperature on the accuracy of positioning. Modern sensors of microelectromechanical systems are able to measure the parameters of motion with an accuracy of a few centimeters, however, when the sensor is installed in unmanned aerial vehicles and next to it are the supporting screws that pump air flows, and the sensor readings are superimposed fluctuations in the density of air masses of different temperatures – with high accuracy of The sensor readings are influenced by changes in the temperature of the body and the environment. Consequently, a significant drawback of these sensors is the pronounced dependence of the measurement results on the temperature of the body and the environment. Keywords: MEMS, gyroscope, accelerometer, fluctuations, temperature, thermal compensation
191
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
УДК 004.4: 614.8
АВТОМАТИЗАЦИЯ РАСЧЁТА СИЛ И СРЕДСТВ ДЛЯ ЛИКВИДАЦИИ ПОЖАРА В ЗДАНИЯХ ПОВЫШЕННОЙ ЭТАЖНОСТИ Катруша И.А., Толпекина М.Е. ГОУ ВПО «Академия гражданской защиты» МЧС ДНР (г.Донецк) e-mail: igor.purel@gmail.com, tolpekina.marina@gmail.com Катруша И.А., Толпекина М.Е. Автоматизация расчёта сил и средств для ликвидации пожара в зданиях повышенной этажности. В работе рассмотрено применение информационных технологий для расчета расхода сил и средств при тушении пожаров в зданиях повышенной этажности. Указана возможная область применения полученных данных. Ключевые слова: здание повышенной этажности, расчет средств и сил, информационные технологии, разработка программы.
Постановка проблемы В наше время трудно представить современные города без высотных зданий. В 2010 году в Донецком регионе находилось 204 здания повышенной этажности. В 2014 году только в Донецке было 18 зданий высотой 20 этажей и более. Тушение пожаров в высотных зданиях имеет ряд трудностей. К таким трудностям можно отнести сложность эвакуации людей, отсутствие подъездных площадок для пожарной техники, сложность и трудоемкость подачи средств тушения в верхние этажи, за частую наблюдается неисправность систем противодымной защиты, в состав которых входит автоматическая пожарная сигнализация, дымоудаление, подпор воздуха и внутренние противопожарные краны. Учитывая данные особенности, с целью предупреждения чрезвычайных ситуаций, проводятся изучение и оценка данных обстановки, разрабатываются оперативнотактические планы реагирования на чрезвычайные ситуации. Вопросами пожаротушения в зданиях повышенной этажности занимаются многие специалисты, в частности А.В. Подгрушный, А.Н. Денисов, Ч.Д. Хонг. О.Н. Белорожев и А.В. Абрамов выделили ряд особенностей организации действий по тушению таких пожаров[1, c. 302]. Следует отметить, что с каждым годом совершенствуется противопожарная защита зданий и сооружений, развиваются технологии. Одной из актуальных задач в области управления является организация управления тушением пожаров и проведением спасательных работ в зданиях повышенной этажности. Успешное тушение пожара и скорость его ликвидации зависит от правильного выбора тактики тушения пожара [3, c. 253]. В связи с этим, регулярно проводятся пожарно-тактические учения, изучение и контроль состояния объектов, наиболее подверженных риску. 192
Секция 2. «Компьютерные науки и технологии»
Цель данной работы – разработать программу расчета сил и средств тушения пожаров в зданиях повышенной этажности. Определить требуемое количество сил и средств для тушения и предполагаемое время тушения. Изложение основного материала Жилые и общественные здания высотой 10 и более этажей, а также производственные здания с отметкой пола верхнего этажа 30 метров относятся к зданиям повышенной этажности. Архитектурно и объемнопланировочные решения здания и его высота, прежде всего, влияют на особенности массо-теплообмена, на физические и химические особенности, и, следовательно, на особенности развития пожара. Исходными данными при расчете сил и средств для тушения пожаров являются: тактико-техническая характеристика пожарной техники, способ перекачки, наличие пожарных водоемов, число, тип и диаметр пожарных рукавов, рельеф местности. Еще одним ключевым параметром является схема выбранной расстановки сил и средств[4, c.135]. Расчет производится в следующей последовательности: 1. Определяют напор на насосе пожарного автомобиля, установленного на водоисточник, по формуле: H hb nSQ 2 H bx ,
(1)
где H hb - напор на насосе, м вод. ст.; n - количество рукавов, шт.; S - сопротивление одного рукава в зависимости от типа и диаметра; Q - суммарный расход из стволов, подсоединенных к одной наиболее нагруженной магистральной линии, л/с; Hbx - напор на конце магистральной рукавной линии, м вод. ст. (принимается в зависимости от способа перекачки, но не менее 10 м вод. ст.). 2. Определяют расстояние между машинами, работающими в перекачку, по формуле: N пр
Н н Н bx SQ 2
,
(2)
где Nпр - расстояние между машинами в системе перекачки в рукавах, шт.; Hн - напор на насосе, м вод. ст.; Hbx - напор на конце магистральной рукавной линии, м вод. ст. (принимается в зависимости от способа перекачки, но не менее 10 м вод. ст.); S - сопротивление одного рукава в зависимости от типа и диаметра; Q - суммарный расход из стволов, подсоединенных к одной наиболее нагруженной магистральной линии, л/с. 3. Определяют напор на головном насосе Hгол. н, м вод. ст., по формуле: H гол.н nр S м. л Q м2 . л Н р Н ств Z , 193
(3)
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
где nр - количество рукавов магистральной линии, шт.; Sм. л – сопротивление одного рукава в магистральной линии в зависимости от типа и диаметра; Qм. л - суммарный расход ОТВ из стволов, подсоединенных к одной наиболее нагруженной магистральной линии, л/с; Hр - напор у разветвления с учетом потерь в рукавах от насоса, стоящего на водоисточнике, до головного насоса и потерь в рабочих рукавных линиях, принимается равным 15 м вод. ст.; Hств - напор на стволе, м вод. ст.; Z - высота подъема пожарного ствола, м. Далее рассчитываются такие элементы расчета: предельное расстояние подачи воды, требуемый и фактический расход воды на тушение, требуемый и фактический расход воды на защиту, площадь пожара на момент подачи стволов на тушение, количество рукавов, количество машин для подачи воды в перекачку, время развертывания сил и средств на требуемый этаж, необходимое количество отделений и человек личного состава для ликвидации пожара, формулы расчета которых можно увидеть в разработанной методике [4, c.13]. Для выполнения заданного расчета была написана программа на языке программирования Delphi. Результат работы программы представлен на рисунке 1.
Рисунок 1 – Расчет сил и средств для тушения пожара Выводы Написанная программа позволяет рассчитывать параметры пожаротушения, определить предполагаемое время локализации пожара, определить необходимое количество стволов, количество человек личного 194
Секция 2. «Компьютерные науки и технологии»
состава и отделений. Такие данные необходимы при проведении плановотактических учений для формирования навыков принятия решения по тушению пожара в условиях реального чрезвычайного происшествия. Однако, предугадать распространение пожара невозможно. Есть еще масса факторов, которые могут влиять на этот процесс. Данный расчет приведен для ситуации, когда не нужно спасать людей с верхних этажей. Расчет привлечения дополнительного личного состава для эвакуации населения, учет дополнительных факторов планируется произвести при усовершенствовании созданной программы. Литература 1. Белорожев О.Н., Абрамов А.В. Особенности организации действий по тушению пожаров в зданиях повышенной этажности / Пожарная безопасность: проблемы и перспективы: Сб. статей по материалам VII Всероссийской науч.-практ. конф. с междунар. уч. 29-30 сент. 2016 г.: в 2-х ч. Ч. 1 / ФГБОУ ВО Воронежский институт ГПС МЧС России. – Воронеж, 2016. – 363 с. 2. Самойлов С.В. Информационные технологии в сфере безопасности // С.В. Самойлов, В.П. Марюха, В.А. Руденко, Е.В. Агулов – Химки: АГЗ МЧС России, 2013. – 252с. 3. Теребнев В. В. Пожарная тактика: Основы тушения пожаров: учеб. пособие / В. В. Теребнев, А. В. Подгрушный. – М.: Академия ГПС МЧС России, 2012. – 322 с. 4. Методики расчета сил и средств для тушения пожаров [Электронный ресурс]: методические указания для курсового и дипломного проектирования по дисциплине «Пожарная тактика» / М-во образования и науки Рос.Федерации, Волгогр. гос. архит.-строит. ун-т ; сост. Н. Ю. Клименти. — Электронные текстовые и графические данные — Волгоград: ВолгГАСУ, 2013. Катруша И.А., Толпекина М.Е. Автоматизация расчёта сил и средств для ликвидации пожара в зданиях повышенной этажности. В работе рассмотрено применение информационных технологий для расчета расхода сил и средств при тушении пожаров в зданиях повышенной этажности. Указана возможная область применения полученных данных. Ключевые слова: здание повышенной этажности, расчет средств и сил, информационные технологии, разработка программы. Katrusha I., Tolpekina M., Automation of the calculation of forces and means for eliminating a fire in buildings of high storeys. The paper discusses the use of information technology to calculate the expenditure of forces and means for extinguishing fires in buildings of high-rise number. The possible scope of the obtained data is indicated. Keywords: high-rise building, the calculation of means and forces, information technology 195
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
УДК 681.5
УПРАВЛЕНИЕ ЭЛЕКТРОПИТАНИЕМ В ДОМЕ ПО СЕТИ Wi-Fi Логачёва С.А., Плотникова С.В., Государственное бюджетное нетиповое общеобразовательное учреждение «Республиканский лицей-интернат «Эрудит» – центр для одаренных детей Министерства образования и науки Донецкой Народной Республики (г. Донецк) e-mail: lsofa1204@gmail.com Логачёва С.А., Плотникова С.В. Управление электропитанием в доме по сети Wi-Fi. В работе был проведён анализ современных разработок проекта «умный дом», предложений его на рынке. Разработано собственное решение для реализации проекта, который включает систему энергосбережения (управление электропитанием). Данное решение можно считать востребованным, поскольку требует минимальных финансовых затрат и является универсальным. Ключевые слова: микроконтроллер ESP8266, среда программирования Arduino IDE, проект «умный дом», энергосбережение.
Введение Современные достижения науки позволяют опираться на уже созданные модели и маркетинговые предложения, в частности на идею «умного дома». На сегодня существует достаточное количество концепций относительно того, как оптимизировать пространство и экономить личное время. К ним, например, относятся онлайн-банкинг, синхронизация приложений, работа бытовой техники от Wi-Fi и прочее. Однако существует немаловажный аспект стоимости реализации подобных проектов, которая включает стоимость материалов, услуг разработчика, а также маркетинг [1]. Актуальность темы обусловлена растущими темпами занятости человека на работе, что вызывает необходимость облегчения бытовых условий и создания повседневного комфорта. Целью работы является разработка программного обеспечение для серверной части системы, выбор необходимых программных средств для реализации концепции и создание приложения для управления центральным контроллером через мобильное устройство, исследование алгоритмов, которые позволят увеличить энергосбережение системой «умный дом». Исходя из актуальности темы была поставлена задача: необходимо разработать алгоритм, который будет управлять электропитанием в доме через Интернет, найти оптимальное решение для создания проекта «Умный дом», которое подразумевает поиск методов и техник, наименее затратных, но имеющих большой коэффициент полезного действия. Такие методы должны обладать следующими характеристиками: удобство в применении, 196
Секция 2. «Компьютерные науки и технологии»
лёгкость в обслуживании, малозатратность. На данный момент существует множество разработок и исследований, связанных с системами «умный дом». Однако из-за того, что разработка «умных домов» производится коммерческими структурами, информация про все результаты и технологии находится в закрытом доступе, что усложняет поиск документации по данной теме [2]. Анализ существующих разработок и данных Впервые система «умный дом» приобрела популярность в 2010 году. На данный момент эта система является выгодной, так как экономит и время, и деньги. Инновационные разработки и усовершенствование их направлены не только на улучшение бытового комфорта, но и на энергосбережение. Яркий пример энергосбережение в каждом доме – холодильник. Лампочка внутри него не горит, когда тот закрыт. Это поможет сократить потребление электроэнергии, а, соответственно, и денежные затраты. Большинство современных проектов, связанных с «умным домом», подразумевают системы модулей, расположенных по всему дому. Каждый прибор является полноценным компьютером, которым управляет заказчик. Одними из простейших примеров систем модулей является контролирование температуры и влажности в доме. Однако покупатель может установить себе в дом не весь проект, а выбранные им системы. Необходимо разработать модуль с минимальными финансовыми затратами, а также алгоритм, который будет управлять электропитанием в доме через Интернет. В работе был произведён анализ уже существующих решений для системы «Умный дом». Был разработан собственный вариант реализации алгоритма [2]. Например, компания «SmartOn» предлагает такие системы: автоматизация управления освещением, мультирум создание и контролирование микроклимата, а компания «SmartHouse», помимо вышеперечисленного, предлагает видеонаблюдение, уход за садом, безопасность. Система управления освещением. При проектировании дома большие усилия прилагаются на то, чтобы создать правильное освещение. В большинстве случаев в комнату приходится размещать множество групп света, и под каждую из них свой собственный выключатель. В конце концов это становится неудобным, так как подобрать «нужный выключатель» становится сложно. В системе «умный дом» данная задача упрощается. Создаются определенные сценарии («Романтический», «Вечеринка», «Стандартный»), которые предполагают включение заранее продуманных групп освещения. Данный принцип в разы упрощает управление домом, что является главной задачей проекта. Система безопасности. 197
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
В каждую комнату устанавливаются датчики движения, на двери и окна— датчики открытия. Когда человек уходит из дома, он переводит систему в состояние «Режим защиты». Это состояние характерно тем, что при любом движении большого объекта, срабатывает сигнализация, вызывается специальная служба. Система видеонаблюдения. Данная система предполагает постоянное слежение за домом. Видеонаблюдение необходимо не только как средство защиты, но также может использоваться как «видеоняня». Микроклимат. Данная система помогает контролировать и регулировать температуру и влажность воздуха в доме. Когда заказчик надолго уезжает, система переходит в особый статус, где происходит экономия электроэнергии, например, выключение отопления. Мультирум. В каждой комнате ставятся приборы, способные воспроизводить звук. Система предполагает, что, куда бы заказчик не пошёл, музыка будет «идти за ним». Уход за садом. «Уход за садом» предполагает, что система сама контролирует влажность почвы и поливает её, не давая растениям погибнуть [3,4]. Разработка программного глобальных переменных
обеспечения:
определение
констант
и
Разработка программного обеспечения будет осуществляться в среде Arduino IDE. Поскольку управление приборами происходит по сети Wi-Fi, обозначим сеть, к которой будет подключаться модуль. Для этого нужно определить две константы, одна з которых будет отвечать за название WiFi сети, а вторая — пароль от неё: const char* ssid = "HomeNet"; const char* password = "12TKL3212TKL3232"; Исходя из распиновки модуля ESP8266 (рис. 1) можно сделать вывод, что в данном случае подключение может производиться либо через GPIO5, либо через GPIO4. В данной работе будет использоваться только GPIO5. Для универсальности кода будем использовать переменную k? Отвечающую за количество подключенных приборов к модулю. Чтобы объявить использование пинов, в код программы добавим следующую сроку: int gpio5_pin = 5; int gpio4_pin = 4; int gpio3_pin = 3;
198
Секция 2. «Компьютерные науки и технологии»
Рисунок 1 – Распиновка модуля ESP8266 Разработка программного обеспечения: функция setup() Задачи для данной функции: установление режима работы пина, подключение к сети Wi-Fi, отправка сообщений о работе на монитор порта. Установим режим работы GPIO: pinMode(gpio5_pin, OUTPUT); pinMode(gpio4_pin, OUTPUT); pinMode(gpio3_pin, OUTPUT); Поскольку в начале состояние лампочки “Off”, соответственно, напряжение не посылается: digitalWrite(gpio5_pin, LOW); digitalWrite(gpio4_pin, LOW); digitalWrite(gpio3_pin, LOW); Как только модуль начнёт подключаться к сети Wi-Fi, отправим на монитор порта предупреждение, что модуль начал подключаться к сети: Serial.print("Connecting to "); Serial.println(ssid); Далее идёт подключение к сети. Пока модуль не подключился к сети WiFi и не отправил на монитор порта сообщение об этом, ожидаем. WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); Поскольку управление приборами будет происходить через Webстраницу, то нужно задать начало работы Web-сервера: server.begin(); Формирование части html-кода для Web-страницы: Web+="<html><style>.b1{ font-weight: 700;color: white;text-decoration: none;padding: .8em 1em calc(.8em + 3px);border-radius: 3px;background: 199
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
rgb(178, 34, 34); box-shadow: 0 -3px rgb(139, 0, 0) inset;transition: 0.2s;}.b2{font-weight: 700; color: white;text-decoration: none;padding: .8em 1em calc(.8em + 3px); border-radius: 3px; background: rgb(64,199,129); box-shadow: 0 -3px rgb(53,167,110) inset;transition: 0.2s;}</style><body bgcolor = #FFDAB9><h1>Web Server</h1>"; В зависимости от переменной k, которую пользователь задаёт, формируем Web-страницу, с помощью которой будет осуществлено управление напряжением. Переменная k будет отвечать за количество подключенных приборов (максимум 3): for (int i = 1; i<=k;i++){ if (i==1){ Web+="<h2>GPIO 5; Web+="<form action = \"/gpio5on\" ><button type = submit class = b1> ON</button></form>"; Web+="<form action = \"/gpio5off\" ><button type = submit class = b2> Off</button></form>"; } else if (i==2){ Web+="<h2>GPIO 4; Web+="<form action = \"/gpio4on\" ><button type = submit class = b1> ON</button></form>"; Web+="<form action = \"/gpio4off\" ><button type = submit class = b2> Off</button></form>"; } else if (i==3){ Web+="<h2>GPIO 3 "; Web+="<form action = \"/gpio3on\" ><button type = submit class = b1> ON</button></form>"; Web+="<form action = \"/gpio3off\" ><button type = submit class = b2> Off</button></form>"; } } Web+="</body></html>"; В зависимости от нажатия кнопки происходит переход по ссылке, которая отвечает за включение прибора: server.on("/", [](){ server.send(200, "text/html", Web); }); server.on("/gpio5on", [](){ server.send(200, "text/html", Web); digitalWrite(gpio5_pin, HIGH); gpio5_state = "ON"; delay(1000); }); server.on("/gpio5off", [](){ 200
Секция 2. «Компьютерные науки и технологии»
server.send(200, "text/html", Web); digitalWrite(gpio5_pin, LOW); gpio5_state = "Off"; delay(1000); }); server.on("/gpio4on", [](){ server.send(200, "text/html", Web); digitalWrite(gpio4_pin, HIGH); gpio4_state = "ON"; delay(1000); }); server.on("/gpio4off", [](){ server.send(200, "text/html", Web); digitalWrite(gpio4_pin, LOW); gpio4_state = "Off"; delay(1000); }); server.on("/gpio3off", [](){ server.send(200, "text/html", Web); digitalWrite(gpio3_pin, LOW); gpio3_state = "Off"; delay(1000); }); server.on("/gpio3on", [](){ server.send(200, "text/html", Web); digitalWrite(gpio3_pin, HIGH); gpio3_state = "ON"; delay(1000); }); server.begin(); Вывод Проект «Умный дом» подразумевает использование множества систем, синхронизируемых между собой. Системы могут быть абсолютно различными, например, видеонаблюдение, пожарная сигнализация и тому подобное. В каждой системе присутствует модуль, который является полноценным компьютером. Управление модулями осуществляется через специальное приложение, предоставляемое компанией, которая реализует заказ. Систему «умный дом» можно установить в доме не в полном объёме, а лишь необходимые для заказчика модули. Такие системы позволяют контролировать дом даже на расстоянии, что гарантирует безопасность и обеспечивает удобство использования данного проекта. Например, существует модуль «пожарная безопасность». Если датчик зафиксирует дым в доме в отсутствие хозяина, то система 201
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
самостоятельно вызовет пожарную службу; если же датчик зафиксирует движение при активации функции «Взято под охрану», то главный компьютер вызовет специальную службу. В представленной работе был разработан собственное решение с использованием платы ESP8266 в среде Arduino IDE. Результаты проведенной работы дают основания полагать, что подобный проект с предложенным решением требует минимальных финансовых затрат, является универсальным, то есть возможно подключение одновременно нескольких приборов. В перспективе вожможно расширение функционального потенциала системы , оптимизация кода. Литература 1. Авдеев А.С. Разработка систем автоматизации жилых и офисных помещений «Умный Дом» // Сб-к научных трудов студентов «Катановские чтения-2014». — 2014. — С. 142-143. 2. Авдеев А.С., Герасимова А.И. Основные проблемы программирования систем «Умного Дома» // Перспективы науки. — 2014. — С. 62-65. 3. Тесля Е. «Умный дом» своими руками. Строим интеллектуальную цифровую систему. — Спб.: Питер, 2011. — 194 с. 4. Атрощенко В.А., Кошевая С.Е., Серикова М.В. К вопросу формирования данных систем управления Умного Дома // Современные проблемы науки и образования. — 2014. — № 5. Логачёва С.А., Плотникова С.В. Управление электропитанием в доме по сети Wi-Fi. В работе был проведён анализ современных разработок проекта «умный дом», предложений его на рынке. Разработано собственное решение для реализации проекта, который включает систему энергосбережения (управление электропитанием). Данное решение можно считать востребованным, поскольку требует минимальных финансовых затрат и является универсальным. Ключевые слова: микроконтроллер ESP8266, среда программирования Arduino IDE, проект «умный дом», энергосбережение. Logacheva S.A., Plotnikova S.V. Power management in a house by Wi-Fi. The article analyzes the modern achievements in development of “smart house” design. The own solution for realizing the project that includes power-saving system (power management) was developed. This solution is considered to be high-demand as it requires minimal cost and is universal. Keywords: microcontroller ESP8266, programming support environment Arduino IDE, project “smart house”, power-saving.
202
Секция 2. «Компьютерные науки и технологии»
УДК 332.146.2
К ВОПРОСУ О СОДЕРЖАНИИ ПОНЯТИЯ «КОНКУРЕНТОСПОСОБНОСТЬ РЕГИОНА» Павлыш Э.В. ВГУ имени П.М. Машерова (г. Витебск, Республика Беларусь) e-mail: strelokp@mail.ru Павлыш Э.В. К вопросу о содержании понятия «конкурентоспособность региона». В статье рассмотрена сущность и структура межрегиональной конкуренции и конкурентоспособности региона. Исследованы факторы конкурентоспособности региона. Очерчена роль инновационной составляющей в обеспечении конкурентоспособности региона. Ключевые слова: межрегиональная конкуренция, конкурентоспособность региона, факторы, инновационная составляющая.
Введение Одной из характерных особенностей современного развития мировой экономики является усиление конкурентной борьбы практически во всех сегментах мирового рынка. Субъектами международной конкуренции становятся не только и не столько отдельные производители, а и национальные и региональные экономические системы. Этот факт предопределяет необходимость обеспечения конкурентоспособности региона с целью достижения устойчивого социально-экономического развития как в текущих условиях, так и в стратегической перспективе. При этом конкурентоспособность региона формируется и проявляется в многоуровневом экономическом пространстве. Являясь свойством региона, как социально-экономической системы макроуровня, конкурентоспособность объединяет в себе макро- и микроэкономические субъекты, а её формирование происходит под влиянием предприятий, организаций (микроуровень), государственной власти на уровне города, региона и государства в целом (макроуровень) и внешнеэкономической среды (метауровень). Таким образом, стратегические принципы обеспечения конкурентоспособности региона определяют все три уровня экономического пространства, что обусловливает необходимость исследования их взаимосвязи и взаимообусловленности.
Конкурентоспособность региона Понятие конкурентоспособности региона многоаспектно. Так, Р. Фатхутдинов предполагает, что конкурентоспособность определяет диагностическую способность региона выдерживать конкуренцию в сравнении с аналогичными регионами на конкретном (внешнем или внутреннем) рынке. По мнению Ю. Скопина, конкурентоспособность определяет способность региона к экономическому росту в условиях открытой экономики [1, c. 100]. 203
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
А.З. Селезнев определяет конкурентоспособность региона как обусловленное экономическими, социальными, политическими и другими факторами положение региона и его отдельных товаропроизводителей на внутреннем и внешнем рынках, отражаемое через показатели (индикаторы), адекватно характеризующие такое состояние и его динамику [2, c.30]. Большинство современных исследований выделяет в качестве движущей силы региональной конкурентоспособности следующие факторы [3, с. 131]: 1) кластеры; 2) человеческий капитал; 3) имеющиеся предприятия и сети; 4) инновации/региональные инновационные системы; 5) управление и институциональный потенциал; 6) отраслевая структура и тип предприятий; 7) инфраструктура (в широком понимании); 8) типология регионов и уровень интеграции предприятий; 9) интернационализация и характер прямых иностранных инвестиций (ПИИ); 10) географическое положение; 11) инвестиционная привлекательность. Конкурентоспособность региона, таким образом, определяется как результат взаимодействия перечисленных факторов, особенностей хозяйственно-политической среды, организационных способностей и эффективности механизма функционирования экономики, её хозяйствующих субъектов. В соответствии с концепцией ключевых факторов успеха территорий профессора Р.М. Кантера решающее значение для региональной конкурентоспособности имеет формирование совокупности факторов, обеспечивающих владение следующим набором ключевых навыков [4]: - производство товаров и услуг на мировом уровне; - умение создавать новые технологии; - способность управления территорией как единой системой; - умение выявлять интересы различных групп общества и формирование на их основе общих целей. Конкурентоспособность территории представляет собой гибкую к инновациям систему производства товаров и услуг и тем самым способность обеспечивать высокие стандарты жизни. Можно выделить наиболее важный способ создания конкурентного преимущества – знания, представляющую собой основу конкуренции в целом. Большинством исследований на всех уровнях анализа выделяется ценовая и структурная (общая) конкурентоспособность. При этом общая конкурентоспособность системно освещает производственно-технологический и экспортный потенциал региона [5, с.12-13]. В целом, конкурентоспособной можно считать экономику региона, которая обеспечивает: поддержку возрастающих стандартов жизни; привлечение инвестиций в производственную и непроизводственную сферы экономики региона; достижение и сохранение таких позиций, при которых предприятия 204
Секция 2. «Компьютерные науки и технологии»
хозяйственного комплекса региона успешно реализуют на внутреннем и внешнем рынке свою продукцию. Заключение Систематизируя существующие подходы к определению конкурентоспособности региона, можно определить ее, как способность использовать конкурентные преимущества и позиции региона на целевых рынках с целью выполнения его основной функции – обеспечение комфортных условий воспроизводства для всех элементов его социально-экономической системы. При этом ключевым фактором конкурентоспособности региона и национальной экономики в целом на международному уровне в современных условиях отечественные и зарубежные исследователи называют способность к инновационному развитию. Литература 1. Булочников П.А., Лавров В.В. Повышение конкурентоспособности регионов как основа эффективного социально-экономического развития // Известия Санкт-Петербургского государственного экономического университета. - 2019. - № 5-1 (119). - С. 99-105. 2. Селезнев А.З. Конкурентные позиции и инфраструктура рынка России. — М.: Юристъ, 1999. — 384 с. 3. Сепик, Д. Конкурентоспособность регионов: некоторые аспекты [Электронный ресурс] / Д.Сепик – М.: РЕЦЭП, 2005. – 44 с. – Режим доступа: http://www.recep.ru/files/documents/regional_competitiveness_ru.pdf 4. Адрианов В. Конкурентоспособность России в мировой экономике // Мировая экономика и международные отношения. – 2006. – №3. 5. Зеленкевич М.Л. Теория конкурентоспособности национальной экономики как основа развития мировой торговли / М.Л. Зеленкевич // Тенденции развития мировой торговли в ХХІ веке : матер. V Межд. научн.практ. конф., Пермь, 26-28 ноября 2012 г. / Пермский институт (филиал) ФГБОУ ВПО «Российский государственный торгово-экономический университет». - Пермь : Изд-во «От и До», 2012. - Т.1. - С. 12-16 Павлыш Э.В. К вопросу о содержании понятия «конкурентоспособность региона». В статье рассмотрена сущность и структура межрегиональной конкуренции и конкурентоспособности региона. Исследованы факторы конкурентоспособности региона. Очерчена роль инновационной составляющей в обеспечении конкурентоспособности региона. Ключевые слова: межрегиональная конкуренция, конкурентоспособность региона, факторы, инновационная составляющая. Pavlysh E.V. To the question of the content of the concept of "competitiveness of the region". The article examines the essence and structure of interregional competition and competitiveness of the region. The region's competitiveness factors have been investigated. The role of the innovation component in ensuring the competitiveness of the region is outlined. Keywords: interregional competition, regional competitiveness, factors, innovative component. 205
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
УДК 681.3
РАЗРАБОТКА МОБИЛЬНОГО КРОССПЛАТФОРМЕННОГО ПРИЛОЖЕНИЯ С ПОМОЩЬ REACT NATIVE Сорока А. С., Завадская Т. В. ГОУ ВПО «Донецкий национальный технический университет» (г. Донецк) e-mail: 1kakady1@gmail.com Сорока А.С., Завадская Т.В. Разработка мобильного кроссплатформенного приложения с помощь React Native. Статья посвящена анализу разработки приложения c помощью библиотеки React Native. Проведено сравнение библиотек и стандартных решений, подходящих для реализации конкретных задач. Ключевые слова: React Native, Expo SDK, кроссплатформенность, iOS, нативные приложения.
Введение В современном обществе у каждого есть собственное мобильное устройство и различные организации понимают, что большая часть трафика тратится на работу с ними. Создаются различные приложения, которые трудно поддерживать, из-за использования различных операционных систем (ОС). В связи с этим появляются различные кроссплатформенные решения разработки, одним из таких решений является React Native. Постановка проблемы Существует множество сред для разработки, но самые востребованные из них – это кроссплатформенные. Большую популярность они приобрели изза возможности использования web-элементов, нативности, поддержки нескольких операционных систем. Одними из основных конкурирующих сред являются Expo SDK (использует библиотеку React Native) и Flutter SDK (использует язык программирования Dart). В данной статье рассмотрим Expo SDK и библиотеки, с которыми он будет работать, т.к. Expo имеет большую популярность у разработчиков. Expo SDK Expo - набор инструментов для разработчика, построенных на библиотеке React Native. Этот набор инструментов зависит от одного ключевого момента, а именно в Expo можно создавать большинство приложений без необходимости написания собственного кода в том случае, если присутствует полный набор API, доступных для Javascript. [1]
206
Секция 2. «Компьютерные науки и технологии»
Данное условие очень важно, потому что от React Native всегда можно перейти к нативному коду. В некоторых случаях это полезно, но есть ограничения. Появляеется необходимость в тестировании файлов сторонними специалистами, что добавляет работы разработчику. Expo использует библиотеку React Native, которая разработана для создания нативно отображаемых iOS и Android-приложений. В ее основе лежит разработанная в Facebook JS-библиотека React, предназначенная для создания пользовательских интерфейсов. Данный фреймворк ориентирован не на браузер, а на мобильные платформы. При разработке приложения можно использовать React Native для написания чистых, быстрых мобильных приложений, используя привычную JS-библиотеку React и единую кодовую базу JavaScript. В свою очередь React — это JS-библиотека для создания широко пользовательских интерфейсов веб-приложений. React распространен, и в отличие от более крупных MVC-фреймворков решает относительно узкую задачу - рендеринг интерфейса. React может использоваться для разработки одностраничных и мобильных приложений. Преимущества: настройка и установка проекта проста и не занимает много времени; во время работы командой, любой ее член может открыть проект во время работы над ним; имеется возможность открыть приложения во время разработки на своем устройстве через QR-кода или ссылки. Пропадает необходимость отправлять весь файл .apk или .ipa на свое устройство; для запуска приложения не требуется “сборка”; интегрирует некоторые базовые библиотеки в стандартный проект (Push Notifications, Asset Manage); можно создавать файлы. apk и .ipa размещая их в собственном магазине. Недостатки: отсутствует возможность добавления собственных модулей; нет возможности использовать библиотеки, использующих собственный код в Objective-C/Java; стандартное приложение занимает большом объем памяти; если есть необходимость нужно использовать: FaceDetector, ARKit o Платежи, то нужно разместить приложение на ExpoKit; при добавлении на ExpoKit, появляется ограничение реактивной версией, поддерживаемой ExpoKit в этот момент времени; отладка в ExpoKit (с родными модулями) намного сложнее, так как она смешивает два языка и разные библиотеки. Начало работы с Expo Expo был выбран, т.к. у него большее количество скачиваний, имеется большая база библиотек, в отличии от Flutter можно найти намного большее количество полезной информации и документации. Чтобы начать разработку необходимо скачать приложение Expo на свое устройство. Оно позволит компилировать приложение сразу на устройство без установки, где имеется возможность отладки на устройстве. После этого следует перейти на официальный сайт Expo, где будут написаны команды 207
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
для установки на компьютер. Запустить приложение можно командой expo start в консоли, после чего будет доступен QR-код, который нужно отсканировать. После компиляции можно будет увидеть первый экран приложения (Рис.1). Изменить содержимое можно в файле App.js. Для лучшей настройки приложения следует установить проект без дополнительных библиотек. Навигация в приложении Для навигации по приложению используют React Navigation. Данная библиотека имеет возможность не привязываться к отдельному компоненту и предавать параметры на нужный экран. Установить ее можно через менеджеров пакетов npm или yarn. Этот способ установки распространяется и на другие библиотеки, перед установкой следует проверять поддержу определенной версии SDK. Для подключения навигации выполняется импорт установленной библиотеки. После импорта станут доступны: createAppContainer, createStackNavigator. createAppContainer - отвечает за управление состоянием приложения и связывает навигатор верхнего уровня со средой приложения, а createStackNavigator предоставляет способ для приложения переходить между экранами, где каждый новый экран размещается поверх стека [5]. На рис. 2 показан пример кода для домашнего экрана с навигацией.
Рисунок 1 - Пример кода домашнего экрана
Рисунок 2 –Домашний экран
Хранилище данных Данные в React «текут» через компоненты. Это называется «однонаправленный поток данных» — поток данных проходит в одном направлении от родителя к дочернему компоненту. При этом не очевидно, как два компонента, несвязанные отношением родитель-ребенок, будут взаимодействовать между собой. Для этого используют хранилище данных, которое может занимать большую часть разработки, т.к. данные пользователя нужно хранить, обрабатывать, изменять, отсылать на сервер. Существует много разных библиотек для работы с данными, одни из популярных это: Redux, Modx, Apollo GraphQL. Redux — библиотека для 208
Секция 2. «Компьютерные науки и технологии»
JavaScript с открытым исходным кодом, предназначенная для управления состоянием приложения. Чаще всего используется совместно с React или Angular для разработки клиентской части. Содержит ряд инструментов, позволяющих значительно упростить передачу данных хранилища через контекст. Ключевые моменты Redux: хранилище (store) хранит состояние приложения; действия (actions) - некоторый набор информации, который исходит от приложения к хранилищу и указывает, что именно нужно сделать, передача информации выполняется методом dispatch(); создатели действий (action creators) - функции, которые создают действия; reducer - функция (или несколько функций), которая получает действие и в соответствии с этим действием изменяет состояние хранилища. Redux имеет следующие недостатки: большой размер библиотеки; сложная структура разработки; использование единого источника; сложный в изучении; при неправильном использовании может замедлить приложение. Из положительных сторон можно выделить: использует подход функционального программирования, что хороша подходит для начинающих разработчиков; хорошая документация; масштабируемость; понятность и чистота хранилища. Отправка и получение данных Данные для приложения хранятся в базе данных и их нужно получать. Для этого используют AJAX-запросы. Технология Ajax очень популярна и используется на многих сайтах. В документации можно найти разные реализации функций для работы с Ajax на чистом нативном JavaScript. Но с такими функциями не очень удобно работать, и, зачастую, они имеют проблемы с кроссбраузерностью, поэтому, как правило, для работы с Ajaxзапросами используются различные фреймворки и библиотеки [4]. Самой популярной является библиотека Axios, предназначенная для выполнения HTTP-запросов, основанная на промисах. У библиотеки есть следующие преимущества: работает в среде Node.js и в браузерах; поддерживает промисы; позволяет выполнять и отменять запросы; позволяет задавать тайм-аут ответа; поддерживает защиту от XSRFатак; позволяет перехватывать запросы и ответы; поддерживает индикацию прогресса выгрузки данных; широко используется в проектах, основанных на React и Vue [3]. Также присутствуют и недостатки: библиотека сложна в изучении, имеет большой размер. Одна из особенностей, которая выделяет эту библиотеку по сравнению с fetch(), — автоматические преобразования JSON-данных. При использовании fetch() для передачи данных в JSON, необходимо выполнить процесс в два этапа. Сначала сделать фактический запрос, а затем вызвать метод json() для полученных данных с сервера. В тех случаях, когда необходимо только получить или отправить данные, можно использовать fetch. Это XMLHttpRequest нового поколения. 209
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Он предоставляет улучшенный интерфейс для осуществления запросов к серверу: как по части возможностей и контроля над происходящим, так и по синтаксису, так как построен на промисах. Пример вызова данного метода: fetch('https://***/***/post').then(response => response.json()) .then(commits => alert(post[0].author.login)); Заключение Технологии мобильной разработки развиваются очень быстро, следовательно, нельзя останавливается на одном способе разработки. Стоит рассматривать различные подходы для достижения поставленной задачи. Пока в мире IT индустрии нет определенных стандартов и предписаний, указывающих какую технологию использовать, поэтому следует выбирать такую, которая индивидуально подходит для конкретного проекта. Выбранная технология должно позволять выполнить поставленную перед разработчиком задачу с максимальной эффективностью.
Литература 1. React Native [Электронный ресурс]: facebook.github — Режим доступа: https://facebook.github.io/react-native/docs/tutorial.html 2. Кроссплатформенность [Электронный ресурс]: wikipedia — Режим доступа: https://ru.wikipedia.org/wiki/ Кроссплатформенность 3. A definitive guide to Redux vs. MobX [Электронный ресурс]: LogRocket — Режим доступа: https://blog.logrocket.com/redux-vs-mobx/ 4. Axios: Ajax-запросы без jQuery [Электронный ресурс]: zyubin — Режим доступа: https://zyubin.ru/saitostroenie/web-razrabotka/axios-ajaxzaprosy-bez-jquery.html 5. React Navigation [Электронный ресурс]: reactnavigation — Режим доступа: https://reactnavigation.org Сорока А.С., Завадская Т.В. Разработка мобильного кроссплатформенного приложения с помощь React Native. Статья посвящена анализу разработки приложения c помощью библиотеки React Native. Проведено сравнение библиотек и стандартных решений, подходящих для реализации конкретных задач. Ключевые слова: React Native, Expo SDK, кроссплатформенность, iOS, нативные приложения Soroka A. S., Zavadskaya T. V. Development of mobile cross-platform application with the help of React Native. The article is devoted to the analysis of application development with the help of React Native library. A comparative analysis of libraries and standard solutions suitable for the implementation of specific tasks are done. Keywords: React Native, Expo SDK, cross-platform, iOS, native applications.
210
Секция 2. «Компьютерные науки и технологии»
УДК 004.4:614.8
ПРОГРАММНЫЙ КОМПЛЕКС ДЛЯ РАСЧЕТА ПАРАМЕТРОВ РАБОТЫ В СРЕДСТВАХ ИНДИВИДУАЛЬНОЙ ЗАЩИТЫ ОРГАНОВ ДЫХАНИЯ Степанов Н.А., Кучер Т.В. ГОУВПО «Академия гражданской защиты» МЧС ДНР (г.Донецк) e-mail: nikita.stepanov_mchs@mail.ru, kucher_t@mail.ru Степанов Н.А., Кучер Т.В. Программный комплекс для расчета параметров работы в средствах индивидуальной защиты органов дыхания. В работе предлагается описание компьютерной программы, разработанной в среде программирования Delphi, для расчета параметров работы в средствах индивидуальной защиты органов дыхания. Ключевые слова: программа, Delphi, СИЗОД, дыхательный аппарат.
Введение Расчеты параметров работы в средствах индивидуальной защиты органов дыхания (СИЗОД) проводятся с целью повышения безопасности работы личного состава пожарной охраны в непригодной для дыхания среде (НДС). Основной задачей при проведении расчетов является определение допустимых временных интервалов для безопасного выполнения личным составом тех или иных действий в НДС с применением СИЗОД. К средствам индивидуальной защиты органов дыхания и зрения отнесены дыхательные аппараты на сжатом воздухе (ДАСВ) с открытым циклом дыхания, а также дыхательные аппараты на сжатом кислороде (ДАСК) с замкнутым циклом дыхания, которые предназначены для защиты органов дыхания и зрения человека от вредного воздействия непригодной для дыхания, токсичной и задымленной газовой среды при тушении пожаров и выполнении аварийно-спасательных работ в зданиях, сооружениях и на производственных объектах. Постановка задачи Временная методика определяет расчет следующих основных параметров работы в СИЗОД: общее (допустимое) время работы звена газодымозащитной службы (ГДЗС) в НДС, мин: ( Рmin .вкл. Р уст. раб . ) Vб Т общ Q K сж где Рmin.вкл. - минимальное давление в баллонах газодымозащитников при включении; Руст.раб. - давление устойчивой работы редуктора, для большинства типов ДАСВ 10 кгс/см2, для ДАСК от 10 до 30 кгс/см2; 211
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Q – средний минутный расход воздуха/кислорода газодымозащитником, зависит от тяжести работы; Vб – объем баллонов, зависит от модели баллона; Ксж – коэффициент сжимаемости воздуха, зависит от давления воздуха в баллонах ДАСВ, существенное влияние на запас воздуха в баллонах дыхательных аппаратов оказывает только при давлениях свыше 250атм, в связи с чем для всех ДАСВ, стоящих на вооружении подразделений ГПС, принимается 1,1. При расчетах для ДАСК не используется. ожидаемое время возвращения звена ГДЗС из НДС: Т возвр Т вкл Т общ где Твкл –время включения звена газодымозащитников в СИЗОД. Параметры, определяемые при поиске очага: давление, которое газодымозащитники могут максимально израсходовать при следовании к очагу пожара, кгс/см2: Рmin .вкл. Р уст. раб . Pmax .пад.доп. К где Рmax.пад.доп. - значение максимального падения давления при движении звена ГДЗС от поста безопасности (ПБ) до конечного места работы, кгс/см2; Руст. раб - давление воздуха, необходимое для устойчивой работы редуктора, кгс/см2, определяется технической документацией заводаизготовителя; К - коэффициент, учитывающий необходимый запас дыхательной смеси на обратный путь с учетом непредвиденных обстоятельств, для проведения спасания людей, при нормальных условиях работы звена равен 2,5, при сложных условиях принимается равным 3. давление, при котором звену необходимо выходить из НДС, кгс/см2: Рвых Рmin .вкл. Рmax .пад.доп. время с момента включения в СИЗОД до подачи команды постовым ПБ на возвращение из НДС, мин: Р V Т раб вых б Q K сж время подачи команды постовым ПБ на выход звена ГДЗС из НДС: Т вых Т вкл Т раб
контрольное давление, при котором звену ГДЗС необходимо выходить из НДС, кгс/см2: в нормальных условиях: 1 Рк.вых Рmax .пад. Рmax .пад. Р уст. раб . 1,5 Рmax .пад. Р уст. раб . 2 1 Рmax .пад. – запас воздуха на непредвиденные обстоятельства. где 2 в сложных условиях: Рк.вых. 2 Рmax .пад. Р уст. раб . 212
Секция 2. «Компьютерные науки и технологии»
время работы звена ГДЗС у очага пожара, мин: (Р Рк.вых. ) Vб Т раб min .оч. Q K сж где Рмин.оч. – наименьшее значение давления в баллонах у одного из членов звена ГДЗС у очага пожара, кгс/см2. время подачи команды постовым ПБ на возвращение звена ГДЗС из НДС: Т к.вых. Т оч. Т раб. где Точ. – время прибытия звена ГДЗС к очагу пожара. Результаты работы
Для расчета основных параметров работы в СИЗОД была написана программа на языке Delphi. При запуске программы (рис. 1) вначале следует выбрать вариант дыхательного аппарата – на сжатом воздухе или кислороде, ввести исходные данные – время включения звена ГДЗС и время его прибытия к очагу пожара, выбрать объем баллона и условия работы. После ввода количества газодымозащитников в звене вводим данные по давлениям по каждому баллону (рис. 2). После нажатия кнопки «Расчет» в окне появляются результаты расчета. Также можно посмотреть диаграмму падения давления в СИЗОД (рис. 3).
Рисунок 1 – Ввод исходных данных 213
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Рисунок 2 – Результаты работы программы
Рисунок 3 – Диаграмма падения давления в СИЗОД
214
Секция 2. «Компьютерные науки и технологии»
Выводы
В результате проделанной работы разработан программный продукт, с помощью которого можно быстро посчитать параметры работы в средствах индивидуальной защиты органов дыхания, программа выполняет расчет для дыхательных аппаратов на сжатом воздухе и сжатом кислороде. Ошибки в расчете потребления воздуха в СИЗОД и скорость расчета чреваты тем, что сотрудники звена ГЗДС, оставшиеся без достаточного запаса воздуха, просто-напросто рискуют жизнью и здоровьем. Программа поможет рассчитать точное время, полагающееся на труд и выход ГЗДС из небезопасного помещения. Литература
1. Соколов Е.Е., Бурков И.В., Назаров Д.Е., Никитин М.И. Эксплуатация средств индивидуальной защиты органов дыхания и зрения (СИЗОД). Учебное пособие.- Иваново: ОН и РИГ ИвИ ГПС России, 2006.-118 с. 2. Методические указания по проведению расчетов параметров работы в средствах индивидуальной защиты органов дыхания и зрения, утв. зам. министра МЧС РФ А.П. Чуприяном 05.08.2013 3. Архангельский А. Я. Программирование в Delphi. Учебник по классическим версиям Delphi. Бином - М., 2017. - 583 c. 4. Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Самоучитель по программированию на Free Pascal и Lazarus. - Донецк.: ДонНТУ, Технопарк ДонНТУ УНИТЕХ, 2011. - 503 с. Степанов Н.А., Кучер Т.В. Программный комплекс для расчета параметров работы в средствах индивидуальной защиты органов дыхания. В работе предлагается описание компьютерной программы, разработанной в среде программирования Delphi, для расчета параметров работы в средствах индивидуальной защиты органов дыхания. Ключевые слова: программа, Delphi, СИЗОД, дыхательный аппарат. Stepanov N.A., Kucher T.V. Program complex for calculation of parameters of work in means of individual protection of respiratory organs. The paper offers a description of a computer program developed in the Delphi programming environment to calculate the parameters of work in personal respiratory protection. Keywords: program, Delphi, RPE, protective device.
215
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
УДК 519.683.8
ПОДСИСТЕМА ТЕСТИРОВАНИЯ ПО КУРСУ «АЛГОРИТМЫ И СТРУКТУРЫ ДАННЫХ» Строкин В.С., Ольшевский А.И. ГОУ ВПО «Донецкий национальный технический университет» (г. Донецк) кафедра искусственного интеллекта и системного анализа e-mail: vlad-strokin@yandex.ru, a_olshevskiy@mail.ru Строкин В.С., Ольшевский А.И. Подсистема тестирования по курсу «Алгоритмы и структуры данных». Рассмотрена классификация структур данных. Определена последовательность построения курса обучения и подходы формирования набора поддерживающих вопросов для обучения. Спроектирована база тестовых экзаменационных вопросов. Разработана модель обучаемого и процедура интеллектуального управления процессом тестирования. Проанализирована эффективность обучения по набору ответов обучаемого. Ключевые слова: структуры данных, алгоритмы, вычислительная сложность построения курса обучения, модель обучаемого, база вопросов, тестирование, интеллектуальный анализ.
Общая постановка проблемы Центральной проблемой компьютерного обучения является проблема создания машинных обучающих программ, способных обеспечить эффективную организацию содержания учебного курса, стратегий усвоения и режимов активного взаимодействия ученика с машиной [1]. Помимо функции обучения, связанных с получением информации об объекте и повышением ее уровня, необходимы также функции управления процессом обучения и проверки знаний усвоения материала. Интеллектуальный анализ решений – это процедура проверки, при которой обучающая система способна проанализировать ответы студента на тестовые задания, указать, что именно неправильно или неполно освещено в ответе и, как следствие, какие знания недостаточно усвоены студентом. В связи с этим интеллектуальные обучающие системы могут предоставлять обучаемому подробную информацию об ошибках и соответственно адаптировать учебный процесс к индивидуальным особенностям студента[2]. Постановка задачи Целью преподавания дисциплины «Алгоритмы и структуры» является систематическое изложение типовых проектных решений по конструированию классических структур данных, не вошедших непосредственно в языки программирования, классических алгоритмов обработки данных (сортировка и поиск). Эта дисциплина формирует инженерную эрудицию специалиста в области программного обеспечения 216
Секция 2. «Компьютерные науки и технологии»
вычислительной техники. Полученные знания, умения и навыки будут полезны будущим специалистам при проектировании, создании и испытаниях информационных систем. Задачи дисциплины: изучение основных типов данных и принципов организации данных в языках программирования высокого уровня; приобретение студентами знаний, умений и навыков разработки линейных списков, древовидных структур данных; изучение основных алгоритмов сортировки, поиска данных, хеширования. Любая программа предназначена для обработки данных, от способа организации которых зависят алгоритмы работы, поэтому выбор структур данных должен предшествовать созданию алгоритмов [3]. Основная побудительная причина изучения алгоритмов состоит в том, что это позволяет обеспечить огромную экономию ресурсов, вплоть до получения решений задач, которые в противном случае были бы невозможны. Цель работы – проектирование и разработка подсистемы тестирования по курсу «Алгоритмы и структуры», для повышения качества обучения, повышение объективности оценки знаний студентов. Исследование Анализ ответов, является самой естественной и наиболее сложной задачей при организации системы контроля знаний обучаемых. К сожалению, тестовый подход надо рассматривать в контексте с общим процессом в системе обучения. Подсистема тестирования включает адаптацию вопросов, например, к объёму курса, модели обучаемого, автоматический подбор и организацию структуры интеллектуального управления следующей порции учебного материала – в зависимости от того, какие компоненты знания и процедуры изучаемого предмета обучаемый усвоил и насколько хорошо. Задачи тестирования: – проверка соответствия знаний, умений и навыков обучающихся целям обучения на определённом этапе формирования компетенций; – удовлетворение запросов обучающихся в объективной и независимой оценке знаний; – получение объективной информации о результатах образовательной деятельности и его качестве. При программировании комплекса необходимо сначала подготовить и систематизировать учебный материал, а затем адаптировать материала по уровням сложности. Для реализации принципов индивидуального обучения обучающая система должна включать модель обучаемого и модель предметной области. В таблице 1 приведены темы курса «Алгоритмы и структуры» в соответствии с учебной рабочей программой. 217
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Таблица 1. Тема по дисциплине «Алгоритмы и структуры» Тема
Содержимое
№ 1. 2. 3. 4. 5. 6. 7.
8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Основные понятия и определения. Динамика развития структур данных. Классификация структур данных. Технологии проектирования программных систем. Процедурноориентированного программирования и объектно-ориентированного программирования. Методы поиска. Линейный и дихотомический поиск. Реализация методов поиска. Рост функции. Главный параметр. Примеры функций. Время для решения крупных задач Методы сортировки. Простые методы (by selection, by exchange, by insertion). Усовершенствованные методы сортировки. Метод квадратичной выборки. Выбор с подсчетом. Обменная сортировка с разделением-"быстрая" (quicksort). Сортировка слиянием. Таблицы с вычисляемым входом. Метод открытого перемешивания. Перемешивание с цепочками переполнения в дополнительной таблице и динамической памяти. Перемешивание с внутренними цепочками. Функции расстановки. Динамические структуры. Связные списки. Отображение и применение стеков, очереди и дека. Строковые структуры. Представление строкового типа. Представление массивом символов. Метод «завершающего байта». Операции над строками. Методы поиска подстроки в строке. Прямой поиск строки. Алгоритм КнутаМорриса-Прата (КМП). Алгоритм Бойера-Мура (БМ). Алгоритм Рабина-Карпа. Анализ алгоритмов. Понятие О-нотацией (O-notation). Рекурсия: понятие рекурсии, математическая функции. Нелинейные структуры. Типы данных с нелинейными структурами. Классификация деревьев. Работа с двоичными деревьями. Построение упорядоченного дерева. Поиск и удаление элементов. Обход дерева. Дерево поиска с барьером Сбалансированные деревья. Основные свойства АВЛ-деревья. Рост АВЛдеревья. Б-деревья. Свойства. Поиск. Пример включение в Б-дерево порядка 2. Деревья оптимального поиска. Файлы. Индексирование. Структуры хранения и методы доступа в СУБД. Базы данных. Основные свойства. Модели данных: иерархические, сетевые, реляционные.
Подготовка тестирования. Тестовые вопросы формулировались в соответствии с определенными темами, раскрытыми в процессе преподавания учебной дисциплины. Они сформулированы в виде вопросов, небольших задач и могут сопровождаться схемами, рисунками. Проектируемая подсистема тестирования разработана с таким учетом, что каждому тестовому вопросу должно соответствовать четыре ответа по теме учебной дисциплины, среди которых правильным является, либо один ответ, либо два, либо три или все. Этот способ усложняет ответы и позволяет 218
Секция 2. «Компьютерные науки и технологии»
набрать 0%, 25%, 50%, 75% или все 100% в зависимости от количества правильных ответов и общего балла за вопрос. Экзаменационные тестовые вопросы разрабатываются по уровням сложности, и группируются в базы тестовых экзаменационных вопросов (БТЭВ). Количество тестовых вопросов, выносимых на экзамен, устанавливается в зависимости от объёма и содержания дисциплины и определяется нормативными документами «Временное положение о тестовой форме контроля знаний студентов во время промежуточной аттестации». Отличительной чертой в профиле образовательной подготовки студентов ДонНТУ является, что курс «Алгоритмы и структуры» читается на разных направлениях подготовки: программная инженерия; информационные системы и технологии; системный анализ и управление; прикладная информатика и д.п. Поэтому в системе предусмотрена настройка подсистемы: – при объёме менее 4 зачётных единиц количество вопросов составляет не менее 20; – при объёме от 4 до 5 зачётных единиц – не менее 25; – при объёме более 5 зачётных единиц – не менее 40. Преподаватель предварительно устанавливает баллы каждого вопроса в зависимости от темы (уровень сложности) и количества правильных ответов. Подсистема генерирует вопросы для каждого пользователя, при этом сумма баллов за правильные ответы на все вопросы экзаменационного билета равняться 100. 100-балльная шкала используется для последующего перевода в оценку по национальной шкале и шкале ECTS. Программная реализация Подсистемы тестирования является частью общей обучающей системы по курсу «Алгоритмы и структуры», которую необходимо интегрировать в рамках одной системы для формирования компетентностей обучающегося в единой информационно-образовательной среде[4]. Поэтому, после регистрации пользователя создается модель обучаемого, которая включает в себя информацию сбора статистических показателей усвоения учебного материала: определение количества входов в систему; временные характеристики, в том числе и время затраченное на решения тестов; определение общего числа ошибок и т.д. Спроектированная внутренняя структура базы данных позволяет для каждого обучаемого создавать отдельную модель и хранить и обновлять ее, при каждом новом вхождении в систему и изменять в процессе обучения. Система позволяет осуществлять углубленную индивидуализацию обучения на основе логико-оптимизационных методов автоматизации планирования действий с веб-интерфейсом для удалённых пользователей. Для реализации принципов индивидуального обучения обучающая система включает модель обучаемого и модель предметной области. 219
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Для оценки уровня знаний, пользователям предлагают пройти тестовые задания, которые генерируются автоматически с учетом их индивидуальных способностей и мотиваций (анализ модели обучаемого). Организация тестирования осуществляется подсистемой: – регистрация пользователя; – настройка подсистемы (модель обучаемого, направление подготовки и д.п.); – генерация тестовых вопросов; – процесс тестирования; – анализ и оценка уровня знаний, умений и навыков у обучаемого до и после тестирования, его индивидуальных способностей и мотиваций (обеспечивает конфиденциальность ответов); – вывод результатов тестирования. На рисунке 1 изображена общая схема алгоритма программы.
Рисунок 1 – Общая схема алгоритма программы Результаты тестов отображаются в модели обучаемого и влияют на дальнейший процесс обучения. 220
Секция 2. «Компьютерные науки и технологии»
Выводы Подготовлен и систематизирован учебный материал по уровням сложности, спроектирована и разработана база тестовых экзаменационных вопросов. Определена последовательность построения курса обучения, модель обучаемого и процедура управления процессом тестирования, которая используется для планирования и выбора дальнейших действий. Разработана процедура проверки уровня знаний по результатам тестирования. Литература 1. Интеллектуальные обучающие системы [Электронный реурс]. –
Режим доступа : http://studbooks.net/1593672/ informatika/ intellektualnye _obuchayuschie_sistemy. 2. Юрков Н.К. Интеллектуальные компьютерные обучающие системы [Электронный ресурс] /Н. К. Юрков // – Режим доступа : http://www.mtas.ru/upload/library /MONOGRAFIYa_IKOS_2010.pdf 3. Вирт Н. Алгоритмы и структуры данных. Пер.с англ.- 2-е изд., исп.-СПб.: Невский Диалект, 2001.-352 с.,ил.Кнут, Дональд, Эрвин Искусство программирования, том 3. Сортировка и поиск, 2-е изд.: Пер. с англ.: Уч.пос. – М. Издательский дом «Вильямс», 2000. – 832 с.: ил. – Парал.тит.англ.
4. Строкин В.С. Проектирование интеллектуального обучающего модуля «Динамические структуры данных» [Текст] / В.С. Строкин, А.И. Ольшевский, // Сб. мат. «Программная инженерия: методы и технологии разработки информационновычислительных систем» (ПИИВС2018). – Донецк : ДонНТУ, 2018. – С. 257-260 Строкин В.С., Ольшевский А.И. Подсистема тестирования по курсу «Алгоритмы и структуры данных». Рассмотрена классификация структур данных. Определена последовательность построения курса обучения и подходы формирования набора поддерживающих вопросов для обучения. Спроектирована база тестовых экзаменационных вопросов. Разработана модель обучаемого и процедура интеллектуального управления процессом тестирования. Проанализирована эффективность обучения по набору ответов обучаемого. Ключевые слова: структуры данных, алгоритмы, вычислительная сложность построения курса обучения, модель обучаемого, база вопросов, тестирование, интеллектуальный анализ. Strokin V.S., Olshevsky A.I. Testing subsystem for the course "Algorithms and data structures." The classification of data structures is considered. The sequence of constructing the training course and approaches to the formation of a set of supporting questions for training are determined. The base of test examination questions was designed. A model of the learner and a procedure for intelligent control of the testing process have been developed. The effectiveness of training on the set of student responses is analyzed. Key words: data structures, algorithms, computational complexity of building a training course, student model, question base, testing, intellectual analysis. 221
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
УДК 621.311
АНАЛИЗ СПОСОБОВ МОДЕЛИРОВАНИЯ МИКРОГРИДСИСТЕМ С ВОЗОБНОВЛЯЕМЫМИ ИСТОЧНИКАМИ ЭНЕРГИИ И ВОДОРОДНЫМИ ТОПЛИВНЫМИ ЭЛЕМЕНТАМИ Ткаченко С.Н., Коваленко А.В., Корытченкова Е.Е. ГОУ ВПО «Донецкий национальный технический университет» (г. Донецк) e-mail: e.e.korytchenkova@gmail.com Ткаченко С.Н., Коваленко А.В., Корытченкова Е.Е. Анализ способов моделирования микрогрид-систем с возобновляемыми источниками энергии и водородными топливными элементами. Работа посвящена вопросам устройства, функционирования и математического моделирования режимов работы интеллектуальных микрогрид-систем с возобновляемыми источниками энергии и водородными топливными элементами. Произведён анализ существующих программных продуктов, пригодных для анализа микрогрид, из которого установлено, что наиболее подходящим программным комплексом является MathWorks® MATLABTM. Ключевые слова: интеллектуальная микрогрид-система, источники энергии, водородные топливные элементы, программный комплекс.
возобновляемые моделирование,
Постановка проблемы На современном этапе развития электроэнергетики в мире наблюдается тенденция внедрения возобновляемых источников энергии (ВИЭ). С целью облегчения управления электроэнергетическими системами (ЭЭС) с большой долей ВИЭ разработана концепция интеллектуальной ЭЭС Smart grid с принципами децентрализации, использования виртуальных электростанций и микрогрид-систем [1-4]. Вопросам анализа нормальных, анормальных и аварийных режимов микрогрид-систем с ВИЭ посвящены работы [2-5]. Однако в вышеуказанных работах в недостаточной степени рассмотрены системы, использующие водородные топливные элементы (ВТЭ) в качестве накопителей энергии. Поэтому детальный анализ режимов микрогрид-систем с ВИЭ и ВТЭ является актуальной проблемой. Изложение основного материала В качестве примера рассмотрим в данной работе микрогрид-систему, удалённую на значительное расстояние от мощных узлов генерации ЭЭС. В данную микрогрид входят: фотоэлектрическая станция (ФЭУ), ветровая энергетическая установка (ВЭУ) на базе асинхронного генератора двойного питания (АГДП), группа ВТЭ, система получения водорода (электролизная 222
Секция 2. «Компьютерные науки и технологии»
установка), узел статической нагрузки (освещение, система питания устройств автоматики, релейной защиты и управления), три асинхронных двигателя (АД) с короткозамкнутым ротором (КЗР). Рабочее напряжение трёхфазного переменного тока на шинах микрогрид-системы – 0,4 кВ. Связь с электроэнергетической системой обеспечивается с помощью силового трансформатора (10/0,4 кВ) и одной воздушной ЛЭП напряжением 10 кВ. Схема главных электрических соединений вышеуказанной микрогрид показана на рисунке 1.
Рисунок 1 – Схема главных электрических соединений микрогрид-системы с ВИЭ и ВТЭ Будем считать, что исследуемая микрогрид-система предназначена для обеспечения бесперебойного электроснабжения ответственных потребителей технологического цикла первой категории, а именно трёх АД с КЗР (М1, М2 и М3) мощностью 250 кВт и напряжением статора 0,4 кВ и узла статической нагрузки с заданным графиком. В качестве примера подобной микрогрид можно привести стратегически важную насосную станцию (основную или промежуточную) системы водоснабжения, расположенную где-нибудь в горах, степной или пустынной местности, удалённой от мощных узлов генерации электроэнергии. Ключевой особенностью данной микрогрид является использование в 223
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
качестве системы аккумулирования энергии хранилище водорода и группу ВТЭ типа PEMFC (Proton Exchange Membrane Fuel Cell) [1,2,5]. Интеллектуальная система управления или виртуальная станция (ВрЭС) микрогрид-системы настраивается таким образом, что в режимах избытка электроэнергии, производимой ВЭУ и ФЭУ, будет запускаться система производства водорода (СПВ), тем самым пополняя его запасы. В качестве СПВ может быть использована, например, классическая электролизная установка [5]. В настоящее время для проведения математического моделирования с целью анализа переходных и установившихся процессов исследуемой микрогрид можно выделить группу программных продуктов: DigSILENT® PowerFactoryTM; ETAPTM производства компании Operation Technology, Inc. / ETAP®; PSS® SINCAL производства компании Siemens®; The HOMER Pro® microgrid software производства компании HOMER® Energy LLC; MathWorks® MATLABTM; Программный комплекс PowerFactoryTM от компании DigSILENT® представляет собой мощную вычислительную систему для моделирования целого спектра задач электроэнергетики, как например, расчёты токов короткого замыкания, перетоков мощности и др. На рис.2 приведена копия экрана вышеуказанной программы. Начиная с 15-й версии, в PowerFactoryTM появилась возможность моделировать режимы с ВИЭ, в том числе и с ВТЭ. Однако, как показал анализ, PowerFactoryTM содержит упрощенные модели ВЭУ, солнечных панелей и ВТЭ, что при детальном анализе микрогрид будет вносить определённую неточность.
Рисунок 2 – Копия экрана пакета DigSILENT® PowerFactoryTM 224
Секция 2. «Компьютерные науки и технологии»
Аналогичные выводы можно сделать, исходя из анализа таких программных комплексов, как ETAPTM производства компании Operation Technology, Inc. / ETAP® [8], PSS® SINCAL производства компании Siemens® [9] и The HOMER Pro® microgrid software производства компании HOMER® Energy LLC [10]. Также следует отметить определённые сложности с настройкой, поиском параметров объектов моделируемой схемы, а также применение графических обозначений элементов схемы, соответствующих зарубежным стандартам. Копии экрана вышеуказанных программ показаны на рисунках 3, 4 и 5 соответственно.
Рисунок 3 – Копия экрана программного комплекса ETAPTM производства компании Operation Technology, Inc. / ETAP® Программный комплекс MathWorks® MATLABTM представляет собой мощный инструмент для различных нужд математического моделирования [11]. Благодаря встроенной библиотеке MATLABTM Simulink предоставляется возможность создать качественную детальную математическую модель, отражающую физические процессы во всех элементах схемы, таких как водородные топливные элементы, ветровая энергическая установка, фотоэлектрическая установка, асинхронные двигатели и др. Отдельно следует отметить возможность детального моделирования цифровой системы управления преобразователей частоты и инверторов, что положительно повлияет, в конечном счёте, на точность вычислений. На рис.6 приведена копия экрана программного комплекса MathWorks® MATLABTM.
225
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Рисунок 4 – Копия экрана программного комплекса PSS® SINCAL производства компании Siemens®
Рисунок 5 – Копия экрана программного комплекса The HOMER Pro® microgrid software производства компании HOMER® Energy LLC
226
Секция 2. «Компьютерные науки и технологии»
Рисунок 6 – Копия экрана программного комплекса MathWorks® MATLABTM Выводы В статье рассмотрена структура и особенности интеллектуальной микрогрид-систем с возобновляемыми источниками энергии и водородными топливными элементами. Произведён анализ существующих программных комплексов, позволяющих моделировать режимы работы микрогрид-систем с возобновляемыми источниками энергии и водородными топливными элементами. Установлено, что наиболее подходящим для точного моделирования и детального анализа режимов работы микрогрид с возобновляемыми источниками энергии и водородными топливными элементами является программный комплекс MathWorks® MATLABTM. Литература 1. Стычинский З.А. Возобновляемые источники энергии: Теоретические основы, технологии, технические характеристики, экономика / З.А. Стычинский, Н.И. Воропай – Magdeburg: Издательство Магдебургского университета имени Отто-фон-Герике (Otto-von-Guericke-Universität Magdeburg). docupoint GmbH, 2010.– 209 с. 2. Buchholz B.M. Smart Grids – Fundamentals and Technologies in Electricity Networks / Bernd M. Buchholz, Zbigniew Styczynski // SpringerVerlag Berlin Heidelberg, 2014. –396 p. 3. Zhiwen M. Fuel Cell Backup Power System for Grid Service and MicroGrid in Telecommunication Applications / Zhiwen Ma, Josh Eichman, Jennifer Kurtz // The National Renewable Energy Laboratory (NREL)-2018. – P.1–9. 227
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
4. Ткаченко С.Н. Энергосистема будущего. Концепция Smart grid. Специфика реализации на Украине / С.Н. Ткаченко – Журнал «Електротехніка та електроенергетика». – Випуск 1. – Запоріжжя: ЗНТУ, 2014. – С. 75 – 82. 5. Полякова Т.В. Состояние и перспективы водородной энергетики в России и мире [Аналитическая записка] / Т.В. Полякова – Центр глобальных проблем ИМИ. 2015. – 37 с.; 6. Modeling and Simulation of DIGSILENT-based Micro-grid System / Yang Zhang, Hongli Yun, Qiang Li, Tonghe Liu // TELKOMNIKA Vol. 12, No. 6, June 2014: P.4379 – 4386. 7. Официальный сайт компании DigSILENT® – Режим доступа: https://www.digsilent.de/en/ 8. Официальный сайт компании Operation Technology, Inc. / ETAP® – Режим доступа: https://etap.com/solutions/microgrid-management-control 9. Официальный сайт компании Siemens®. Программное обеспечение для расчёта электрических сетей PSS® SINCAL – Режим доступа: https://new.siemens.com/ru/ru.html 10. Официальный сайт компании HOMER® Energy LLC. The HOMER Pro® microgrid software – Режим доступа: https://www.homerenergy.com/products/pro/index.html 11. Официальный сайт компании MathWorks® – Режим доступа: https://www.mathworks.com Ткаченко С.Н., Коваленко А.В., Корытченкова Е.Е. Анализ способов моделирования микрогрид-систем с возобновляемыми источниками энергии и водородными топливными элементами. Работа посвящена вопросам устройства, функционирования и математического моделирования режимов работы интеллектуальных микрогрид-систем с возобновляемыми источниками энергии и водородными топливными элементами. Произведён анализ существующих программных продуктов, пригодных для анализа микрогрид, из которого установлено, что наиболее подходящим программным комплексом является MathWorks® MATLABTM. Ключевые слова: интеллектуальная микрогрид-система, источники энергии, водородные топливные элементы, программный комплекс.
возобновляемые моделирование,
Tkachenko S.N., Kovalenko A.V., Korytchenkova E.Е Analysis of methods for modeling microgrid systems with renewable energy sources and hydrogen fuel cells. The work is devoted to the issues of device construction, operation and mathematical simulation of the operating conditions of intelligent microgrids with renewable energy sources and hydrogen fuel cells. The analysis of existing software products suitable for the analysis of microgrids was making, from which it was finding that the most suitable bundled software is MathWorks® MATLABTM. Keywords: intelligent microgrids, renewable energy sources, hydrogen fuel cells, operating conditions, bundled software. 228
Секция 2. «Компьютерные науки и технологии»
УДК 004.35, 004.42, 004.51
ПОДСИСТЕМА УПРАВЛЕНИЯ ЭЛЕКТРОПРИБОРОВ В УСЛОВИЯХ СИСТЕМЫ «УМНЫЙ ДОМ» Усова А. С., Хмелевой С. В. ГОУ ВПО «Донецкий национальный технический университет» (г. Донецк) e-mail: anastaciy27@gmail.com, hmelevoy_sergey@ukr.net Усова А. С. Хмелевой С. В. Подсистема управления электроприборов в условиях системы «Умный дом». В статье описана разработка подсистемы управления электроприборов в условиях системы «Умный дом». Проведён анализ объекта управления. Произведён выбор технического обеспечения, представлена принципиальная схема. Разработана физическая модель данных. Рассмотрен укрупнённый алгоритм управления электроприборами. Приведена схема обмена данными между периферийными устройствами. Ключевые слова: «Умный дом», управление электроприборами, связь мобильного устройства с микроконтроллером, техническое обеспечение, информационное обеспечение, алгоритмическое обеспечение.
Введение В современном мире одну из главных позиций занимают автоматизированные системы управления интеллектуальными зданиями. «Умный дом – это здание, обеспечивающее продуктивное и эффективное использование рабочего пространства» [1]. «Умные дома» предназначены для создания безопасного и комфортного жилища, основанного на индивидуальных потребностях и образе жизни хозяев. Одним из приоритетных пунктов внедрения системы «Умного дома» в своё жилище является оперативное управление электроприборами. Так как оно обеспечивает удобство, экономию и безопасность. Целью исследования, приведенного в данной статье, является разработка подсистемы управления электробытовых приборов в условиях системы «Умный дом», позволяющей обеспечить: повышение энергосбережения; повышение комфортности пребывания человека в доме путем улучшения управляемости электробытовых приборов; повышение комфортности пребывания человека в доме путем внедрения расписания работы электроприборов; обеспечение безопасности пребывания человека в доме. Анализ объекта управления Реализация разрабатываемой подсистемы, будет проходить на примере двухкомнатной квартиры. Современный рынок богат разнообразным 229
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
спектром оборудования и датчиков, позволяющих решить все поставленные задачи. Первая функция «Умного дома» – управления электроприборами через приложение на мобильном устройстве. Управление электроприборами осуществляется двумя способами: дистанционно – по нажатию на кнопку приложения в мобильном телефоне или по расписанию, которое составляется из базы данных на мобильном телефоне. Вторая функция – контроль микроклимата. На основании показаний датчиков температуры, влажности и давления, установленных во всех комнатах квартиры, микроконтроллер будет осуществлять управление микроклиматом жилья согласно ГОСТ 30494-2011 [2]. Третья функция – экономия, достигается управлением основными потребителями электроэнергии – отоплением и бойлером. Благодаря датчику присутствия хозяев дома, подсистема будет переходить в режим энергосбережения. Четвёртая функция – безопасность жизнедеятельности человека в квартире. Регулируется показаниями датчиков температуры, влажности и давления, а также спектров газа.
Рисунок 1 – Расположение датчиков Техническое обеспечение Рассмотрим выбранные периферийные устройства. Для обеспечения безопасности жизнедеятельности человека в доме, будет производится 230
Секция 2. «Компьютерные науки и технологии»
мониторинг за датчиком горючих газов MQ-2 [3], датчиком температуры, влажности и давления BME280 [4] и датчиком присутствия HC-SR501 [5]. Связь между мобильным устройством и микроконтроллером, для дистанционного управления электроприборами, будет осуществляться с использованием Bluetooth модуля HC-06 [6]. Для выполнения всех поставленных задач был выбран микроконтроллер STM32F4 [7]. У микроконтроллера STM32F4 насчитывается 140 портов ввода-вывода. Задействованные порты описаны в табл. 1. Название порта PA2, PA3 PE0 PE1 PC2, PC3 PB6, PB7 PD0 PD1 PD2 PD3 PD4
Таблица 1. Используемые порты Название ввода/выводы USART2 (Bluetooth модуль HC-06) Электроприбор1(чайник) Электроприбор 2 (кофе-машина) SPI2 (датчик горючих газов MQ-2(1) - датчик горючих газов MQ-2 (3)) I2C1 (датчик температуры, влажности и давления BME280(1) датчик температуры, влажности и давления BME280(5)) Датчик движения HC-SR501 (1) Датчик движения HC-SR501 (2) Датчик движения HC-SR501 (3) Датчик движения HC-SR501 (4) Датчик движения HC-SR501 (5)
На рис. 2 представлена принципиальная схема разрабатываемой подсистемы.
Рисунок 2 – Принципиальная схема разрабатываемой подсистемы На данной схеме показано подключение к микроконтроллеру STM32f4 5 датчиков температуры, влажности и давления BME280, 5 датчиков движения HC-SR501, 3 датчиков горючих газов MQ-2, и электроприборов. 231
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Информационное обеспечение Среди различные СУБД выбрана SQLite. SQLite удобно использовать в целях тестирования функционала приложений для мобильных устройств, когда важен легкий перенос приложения. На рис. 3 представлена физическая модель данных, а в табл. 2 описаны её сущности.
Рисунок 3 – Физическая модель данных Сущность user pribor raspisanie raspisanie_on_two log_sobitiy
Таблица 2. Сущности модели данных Описание Данные об зарегистрированных пользователях разрабатываемой подсистемы Данные об электрических приборы, которыми можно дистанционно управлять Данные об расписании для изменения текущего состояния электроприборов Данные об расписании на 2-ое суток для изменения текущего состояния электроприборов, которое будет передано на микроконтроллер Данные изменениях текущего состояния электроприборов
Алгоритмическое обеспечение В данной диаграмме использования рассмотрен укрупнённый алгоритм управления электроприборами. Действующими лицами выступают пользователь и администратор. Пользователь может осуществлять ввод расписания на смартфоне для изменения, текущего состояния электроприбора. Или же в мобильном приложении выбирать команды на включение или выключение электроприбора непосредственно в тот же момент времени. Все данные о командах и расписании передаются на Bluetooth, а затем на микроконтроллер. Администратор производить настройку периферийных 232
Секция 2. «Компьютерные науки и технологии»
устройств, просматривает файлы о логирование событий, настраивает программу микроконтроллера на выполнение пришедших данных с Bluetooth модуля. Где М – это программа для мобильного устройства. К – это программа для микроконтроллера.
Ввод расписания (М)
Передача через Bluetooth модуль (М)
Выполнение расписания и команд (К)
Пользователь
Настрройка периферийных устройств (К)
Осуществление команды на изменения текущего состояния электроприбора(вкл./выкл.) (М)
Логирование событий (К) Администратор
Рисунок 4 – Диаграмма использования Данные вводятся пользователем через мобильное устройство, сохраняясь в БД. Когда пользователь приходит домой, Bluetooth модуль телефона входит в «родную» сеть, таблица «Расписания на 2-ое суток», см. рис. 3, передаётся через приёма-передатчик на микроконтроллер. Аналогично данные передаются при управлении электроприборами дистанционно, когда пользователь нажимает соответствующую кнопку приложения. Вывод данных происходит следующим образом. Микроконтроллер получает управляющие сигналы с датчиков и электроприборов подсистемы. После чего предаёт эти данные через Bluetooth модуль на мобильный телефон. Пользователь может просматривать эти данные в виде мониторинга и статистики, которая содержит информацию о наименованиях электроприборов и времени изменения их текущих состояний. В основном цикле производится опрос установленных датчиков, а работа с Bluetooth модулем HC-06 производится с помощью прерывания по USART при передаче, а не в основном цикле. На рис. 5 приведена схема обмена данными между периферийными устройствами.
Рисунок 5 – Схема обмена данными между периферийными устройствами 233
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Выводы Разрабатываемая подсистема дистанционного управления электроприборами в условиях системы «Умный дом» предназначена для удобного и оперативного управления электроприборами, обеспечивающая безопасность дома и существенную экономию электроэнергии. Литература 1. Тесля, Е. «Умный дом» своими руками. Строим интеллектуальную цифровую систему в своей квартире. / Е. Тесля. – СПб: Питер, 2008. – 224 с. 2. ГОСТ 30494-2011. Здания жилые и общественные. Параметры микроклимата в помещениях – Москва, Стандартинформ, 2013. – 6 с. 3. Datasheet MQ-2 GAS SENSOR// HANWEI ELETRONICS CO.,LTD. 4. Datasheet BME280// BME280 Integrated Environmental Unit 5. Datasheet HC-SR501// HK Shan Hai Group Limited 6. HC-06 Datasheet// Shenzhen Feasycom Technology Co.,Ltd. – Режим доступа: 7. Cortex-M4 – STM32F4xx https://www.compel.ru/lib/ne/2012/2/4-lider-po-proizvoditelnosti-sredi-yadercortex-m4-stm32f4xx Усова А. С., Хмелевой С. В. Подсистема управления электроприборов в условиях системы «Умный дом». В статье описана разработка подсистемы управления электроприборов в условиях системы «Умный дом». Проведён анализ объекта управления. Произведён выбор технического обеспечения, представлена принципиальная схема. Разработана физическая модель данных. Рассмотрен укрупнённый алгоритм управления электроприборами. Приведена схема обмена данными между периферийными устройствами. Ключевые слова: «Умный дом», управление электроприборами, связь мобильного устройства с микроконтроллером, техническое обеспечение, информационное обеспечение, алгоритмическое обеспечение. Usova A.S. Hmelevoy S.V. Electrical appliances control in the conditions of the Smart home system. The development of electrical appliances control subsystem in the conditions of Smart home system is described. The analysis of the control object is carried out. The technical support is chosen, the circuit diagram of the developed subsystem is made. A physical data model has been developed. The enlarged algorithm of control of electric appliances is considered. The scheme of data exchange between peripheral devices is given. Keywords: Smart home, control of electrical appliances, communication of a mobile device with a microcontroller, technical support, information support, algorithmic support.
234
Секция 2. «Компьютерные науки и технологии»
УДК 004.056
ПРИМЕНЕНИЕ МИКРОКОМПЬЮТЕРОВ В АВТОМОБИЛЕСТРОЕНИИ, ИХ АРХИТЕКТУРА И СПОСОБЫ ПОВЫШЕНИЯ ИХ БЫСТРОДЕЙСТВИЯ Хомутов В.С., Краснокутский В.А. ГОУ ВПО «Донецкий национальный технический университет» (г. Донецк) e-mail: homutoff.vlad@gmail.com Хомутов В.С., Краснокутский В.А. Применение микрокомпьютеров в автомобилестроении, их архитектура и способы повышения их быстродействия. В данной статье рассмотрены основные требования, предъявляемые к современным автомобильным микроконтроллерам, проблемы быстродействия и способы их решения. Ключевые слова: микроконтроллеры, быстродействие.
Введение Компьютерные технологии с каждым годом занимают всё больше и больше значение в нашей жизни. Повсеместная компьютеризация не обошла стороной и автомобилестроительную отрасль. В автомобилестроительной отрасли компьютерные технологии используются максимально широко, в основном применяются различные микроконтроллеры и другие цифровые логические схемы. Начиная от простых датчиков, снимающих показатели работы двигателя и заканчивая бортовыми компьютерами со встроенным G-PS, и блоком мультимедиа. Микрокомпьютеры управляют работой двигателя, отвечают за переключение передач типа «робот», управляют тормозной системой, системами безопасности. Такая загруженность предъявляет особые требования к повышенному быстродействию, надёжности и многозадачности микроконтроллеров. И основной проблемой разработчиков является, как раз, повышение быстродействия и многозадачности при сохранении невысокой стоимости, надёжности и помехозащищённости таких устройств.
235
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Рисунок 1 – Системы автомобиля управляемые микроконтроллерами
Типы контроллеров в автомобилях Автомобильные контроллеры бывают нескольких типов, начиная механическими и оптическими заканчивая многозадачными микрокомпьютерами. Механические контроллеры характеризуются высокой дороговизной и низкой надёжностью, поэтому сейчас они не применяются. Электрические аналоговые контроллеры требуют частой регулировки в процессе эксплуатации, что повышает стоимость обслуживания таких устройств. Все описанные ранее типы управляющих устройств имеют серьёзные недостатки, что делает их применение параллельно с микроконтроллерами, для уменьшения их загруженности слишком невыгодным. Таким образом, наиболее часто используемые схемы управления – это различные устройства, построенные на основе цифровых микросхем.
236
Секция 2. «Компьютерные науки и технологии»
Рисунок 2 – Варианты управляющих устройств в автомобильной промышленности Какие задачи ставятся перед микроконтроллерами в автомобилях и способы их решения В связи с бурным развитием и совершенствованием микроконтроллеров наблюдается рост степени интеграции и функциональных возможностей цифровых логических схем. Это позволяет выполнять параллельную обработку данных и гибко изменять конфигурацию устройства. Постоянно возрастают требования к бортовым контроллерам, к их вычислительной мощности, функциональности, надёжности. Помимо задачи сбора информации с датчиков, диагностики и управления возникают задачи требующие высокой вычислительной мощности контроллеров. В зависимости от области применения управляющих систем меняются требования к ним. Например в области - управления электроприводом. Для управлением асинхронными электрическими двигателями применяется векторный алгоритм управления с преобразованием координат и бездатчиковой системой управления. Отсутствие датчиков позволяет упростить и удешевить систему управления, хотя и требует хотя и требует решения задачи моделирования работы двигателя в реальном времени. С другой стороны система управления двигателем внутреннего сгорания требует обширной сети датчиков, начиная с датчика температуры двигателя заканчивая датчиком дроссельной заслонки и датчиками форсунок. Также, в таком случае к управляющему микроконтроллеру, помимо требований повышенного быстродействия с возможностью выполнения различных 237
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
математических функций и способностью работы в многозадачном режиме, предъявляются специфические требования, такие, как работа в условиях тряски, расширенном диапазоне температур, защита от влаги. Способы повышения быстродействия управляющих систем в автомобиле Существует несколько основных подходов к повышению быстродействия и многозадачности бортовых микроконтроллеров. Первый подход – это увеличение количества ядер, что позволяет не повышая частоты работы микроконтроллера существенно повысить его производительность за счёт распределения задач управления различными системами и модулями на разные ядра. Зачастую, в наше время применяется следующий подход. Различными системами управляют различные микроконтроллеры, что значительно повышает отказоустойчивость всей системы и позволяет подобрать для каждого модуля наиболее подходящий к нему тип микроконтроллера, однако такой подход сильно усложняет всю систему управления и повышает её стоимость. С ростом требований к быстродействию бортовых микроконтроллеров скорости быстродействия, быстродействия микроконтроллеров построенных на основе CISC и даже, RISC архитектуры уже не достаточно. Повысить быстродействие позволило объединение RISC, CISC и DSP(Digital Signal Processor) модулей на одном кристалле. Ещё один подход к увеличению быстродействия это создание микроконтроллеров со специфической архитектурой. Например, комбинирование на одном кристалле ядер с гарвардской и фон неймановской архитектурой и разделение между ними различных задач. В гарвардской архитектуре имеется раздельная память команд и данных. Физическое разделение этих модулей памяти позволяет организовать одновременный доступ к данным и командам, увеличивая при этом быстродействие. Ядрам с гарвардской архитектурой целесообразно будет поручить управление работой двигателя и другими модулями автомобиля, так как выполнение этих задач требуют высокой скорости вычислений и работы в режиме жёсткого реального времени и в ту же очередь эти процессы не требуют больших объёмов памяти, что нивелирует недостатки данной архитектуры. Так же для ещё большего повышения быстродействия управление простыми модулями, имеющимися у большинства современных автомобиля, таким как управление блоком ОБС, подушками безопасности и т.д на жёсткие логические схемы или на отдельные специализированные 238
Секция 2. «Компьютерные науки и технологии»
микро-ядра. Фон неймановская архитектура имеет общий блок памяти для команд и данных, что позволяет более гибко использовать память. Ядра с такой архитектурой целесообразно будет использовать для выполнения задач требующих больших объёмов данных. Таких, например, как климат контроль, мультимедиа, спутниковая навигация.
Рисунок 3 – Пример схемы многоядерного 32-х разрядного микроконтроллера XMOS xCORE-200 Литература 1) Палуга К.А Микроконтроллеры современных автомобилей.
в
системах
управления
Хомутов В.С., Краснокутский В.А. Применение микрокомпьютеров в автомобилестроении, их архитектура и способы повышения их быстродействия. В данной статье рассмотрены основные требования, предъявляемые к современным автомобильным микроконтроллерам, проблемы быстродействия и способы их решения. Ключевые слова: микроконтроллеры, быстродействие. Khomutov V.S., Krasnokutsky V.A. Application of microcomputers in motor industry, their architecture and methods of increase of their fast-acting. The basic requirements produced to the modern motor-car microcontrollers, problems of fast-acting and methods of their decision, are considered in this article. Keywords: microcontrollers, fast-acting.
239
Секция 3. «Инженерия программного обеспечения»
Председатель: Секретарь:
Бельков Дмитрий Валерьевич Ногтев Евгений Александрович
Секция 3. «Инженерия программного обеспечения»
УДК 004.4’2
АНАЛИЗ ИНСТРУМЕНТОВ СОЗДАНИЯ, МОДИФИКАЦИИ И ПРАКТИЧЕСКОГО ПРИМЕНЕНИЯ API В СОВРЕМЕННЫХ САПР НА ПРИМЕРЕ CATIA Бондаренко Е.С., Григорьев А.В. ГОУ ВПО «Донецкий национальный технический университет» (г. Донецк) e-mail: katusha.bondarencko@yandex.ua Бондаренко Е.С., Григорьев А.В. Анализ инструментов создания, модификации и практического применения API в современных САПР на примере CATIA. В работе рассмотрены возможности функционала разнообразных API для работы в САПР CATIA. Выделены преимущества использования языка программирования Java, как самого распространенного и востребованного, для создания приложений и рассмотрены перспективы развития API САПР. Ключевые слова: слова: API, Java, разработка приложений, интерфейс, язык программирования.
Введение Сейчас создано множество универсальных систем проектирования для повышения эффективности труда инженеров и облегчения процесса производства. Они обладают мощной функциональностью моделирования и широкими возможностями встроенных инструментальных средств. Но даже этих решений для выполнения конкретных производственных задач иногда бывает недостаточно. Тогда на помощь специалистам приходит интерфейс прикладного программирования (API), то есть некоторый набор готовых классов, процедур, функций, структур и констант, созданный для упрощения написания пользовательских программных модулей, интегрированных с САПР [1]. Наличие в CAD-системах API позволяет осуществлять тонкую настройку системы проектирования и помогает сократить время разработки дополнительных программных компонентов к уже имеющейся на предприятии САПР. Однако ни одна из имеющихся систем автоматизированного проектирования не обладает полным набором функциональных возможностей для ее полноценного использования специалистами. Это делает актуальным задачу анализа инструментов создания и применения API в современных САПР. Целью работы является анализ инструментов создания, модификации и практического применения API для создания дополнительных модулей и приложений в современных САПР на примере САПР CATIA V5. 241
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Для достижения поставленной цели были поставлены следующие задачи: изучить особенности API в CATIA V5; привести пример получения данных массива с помощью CATIA; выделить библиотеки, которые используются в CATIA; привести пример написания кода для обмена данными с CATIA; открытие продукта в CATIA с помощью VBA; сделать вывод по полученным результатам и выделить преимущества использования API в САПР. Использование Java API Java используют для написания приложений, дополняющих системы автоматизированного проектирования. В CATIA V5 используется API, который позволяет вызывать различные функции из приложения. CAA - продукт Java Interactive Dashboard (JID) - компонент CAA конфигурация разработки Java Base, который предоставляет интегрированную среду разработки для настройки продуктов ENOVIA 3d COM и создания приложений Java на основе CAA для Windows NT и UNIX [3]. В Windows NT, в сочетании с CAA - продуктом для создания приложений для нескольких рабочих пространств, CAA - диспетчером модульных тестов Java и CAA - диспетчером исходного кода, он обеспечивает высокотехнологичную среду для поддержки крупномасштабной разработки приложений Java с высокой степенью безопасность и промышленная надежность. CAA - продукт Java Unit Test Manager (JUT) - этот продукт доступен в качестве дополнения к CAA JID. Это облегчает тестирование и контроль качества, важные для эффективной разработки качественного, без регрессионного программного обеспечения на основе Java. Его функции включают в себя: - Автоматическое повторное тестирование Java во время выполнения с программируемыми временными рамками; Результаты файла генерируются для публикации через веб или офисные инструменты, такие как Microsoft Excel. - Автоматическое сравнение результатов: настройка событий и критериев ошибок в тестовых объектах. - Среда автоматического воспроизведения для Java: в Windows NT и с помощью Rational PureCoverage можно просмотреть фактический код, протестированный во время воспроизведения объектных тестов, включая строки кода и вызываемые методы. Существуют и библиотеки, используемые для облегчения работы программиста в САПР CATIA. Com4j - библиотека, предназначенная для интеграции java-приложений и dll-библиотек, использующих COM-технологию (Component Object Model).
242
Секция 3. «Инженерия программного обеспечения»
Com4j автоматически импортирует библиотеку типов и генерирует необходимые java-классы. Можно получить данные массива с помощью CATIA с помощью API com4j для получения координаты точки. Для этого используется следующий код: Dim p3 As Variant Dim arrayOfCoord(2) As Variant Set p3 = hybridShapePointCoord1 'set variant = strongly typed point object p3.GetCoordinates arrayOfCoord Чтобы получить объект CATIA Part с com4j для java, пишут: Document doc = docs.open(new Holder<>("E:\\test.CATPart")); PartDocument part = doc.queryInterface( PartDocument.class); Язык Java состоит всего из 50 ключевых слов, но Java API имеет несколько тысяч классов - с десятками тысяч методов, которые можно использовать в ваших программах. Java можно использовать для разработки разных типов программ: — автономные программы; — апплеты; — веб-дополнения; — распределенные программы. Существует способ обмена данными с CATIA V5 с использованием Java. Часто возникает необходимость импортировать 3D-точки (данные x, y, z) в САПР CATIA. Это можно осуществить, создавая электронную таблицу excel, используя библиотеку Java, а затем выполняя визуальный базовый макрос из excel для добавления данных в CATIA. Но можно пропустить шаг excel и напрямую отправить данные в CATIA. Если у вас нет лицензии CAA, единственным API, открытым CATIA V5, является VB. Хорошо, что на самом деле это COM-интерфейс, который вы можете вызывать не только из VBA, но и из разных языков, поддерживающих этот протокол. (C++, Python, Java,...). Для Java нужна библиотека для доступа к COM и, следовательно, API CATIA. Проще всего это сделать, используя Jacob. Jacob - это мост JAVA-COM, который позволяет вызывать компоненты автоматизации COM из Java. Он использует JNI для собственных вызовов в библиотеки COM и Win32. Проект Jacob начался в 1999 году и активно используется тысячами разработчиков по всему миру. Как проект с открытым исходным кодом, он извлек выгоду из объединенного опыта этих пользователей, многие из которых внесли изменения в код и отправили их обратно для включения в проект. 243
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Вот пример кода с помощью Jacob для обмена данными с CATIA: import java.net.UnknownHostException; import com.jacob.com.Dispatch; import com.jacob.com.Variant; import com.jacob.activeX.ActiveXComponent; class TestMacroInvocation { public static void main( String [] args ) throws Exception { ActiveXComponent catia = new ActiveXComponent("CATIA.Application"); catia.setProperty("Visible", new Variant(true)); Dispatch oDocuments = catia.getProperty("Documents").toDispatch(); Dispatch oDocument = Dispatch.call(oDocuments, "Open", "C:UsersMeDesktopTestRib.CATPart").toDispatch(); Dispatch.call(catia, "StartCommand", "MyMacro"); Dispatch.call(catia, "Quit"); } Java - не единственный язык программирования, доступный для настройки продуктов V5. CAA RADE V5 позволяет использовать VB Automation, которая использует преимущества собственной архитектуры V5 для обеспечения высочайшего уровня открытости в CATIA V5, включая инструменты как производительности, так и возможностей. Есть несколько методов в CATIA, которые стабильно работают в CATIA VBA, а через интерфейс COM не совсем корректно. Это одна из основных функций в CATIA - открытие продукта. Хорошим решением будет написать мини-функцию VBA в строке, а затем вызвать ее в CATIA через Python. Приведем пример: import random import win32com.client CATIA = win32com.client.GetActiveObject(CATIA.Application) CATVBALanguage = 1 # Здесь CATIA вызывает диалоговое окно NewProductDocument = CATIA.Documents.Add(Product) # Дальше пишем код на VBA CREATE_PRODUCT_VBA_CODE = Public Function create_product(part_number as CATBSTR) as Document Set create_product = CATIA.Documents.Add("Product") create_product.Product.PartNumber = part_number 244
Секция 3. «Инженерия программного обеспечения»
End Function PART_NUMBER = test_product_{}.format(random.randint(1, 100)) NewProductDocument = CATIA.SystemService.Evaluate( CREATE_PRODUCT_VBA_CODE, CATVBALanguage, create_product, #Функция VBA для вызова и возврата результата из [PART_NUMBER] # Массив аргументов для функции VBA ) print(NewProductDocument.Product.PartNumber) Открытие существующего продукта очень хорошо работает, и любые сценарии могут продолжаться без проблем. Однако создание продукта, сохранение и его закрытие заставляет CATIA блокировать файл. Поэтому при повторном открытии в качестве уже существующего продукта CATIA выходит из окна. Библиотеки, используемые в Catia Еще одним вариантом работы с продуктами Catia является .NET [3]. Чтобы открыть Catia через .NET, нужно добавить ссылки в свою программу (проект). При этом используем Catia в VB.Net. Чтобы добавить ссылку, выполните следующие действия: Проект -> Добавить ссылку -> COM. Там есть список ссылок, многие из них для Catia. Теперь добавляете разные ссылки в зависимости от того, что вам необходимо сделать. Основные библиотеки: Библиотека объектов Drafting2DLInterfaces, файл: Layout2DTypeLib .tlb - для рисования. - Библиотека объектов DraftingInterfaces, файл: DraftingTypeLib .tlb для рисования. - Библиотека объектов GSMInterfaces, файл: CATGitTypeLib.tlb - для файла HybridShapeFactory InfInterfacet. Базовая библиотека объектов. - Библиотека, файл: MecModTypeLib.tlb - базовая ссылка. - Библиотека объектов PartInterfaces, файл: PartTypeLib.tlb - для моделирования деталей. Заключение В результате работы исследованы возможности использования API в среде САПР Catia V5 для создания дополнительных модулей и приложений. Java является эффективным инструментом создания API, т.к. в процессе разработки программного обеспечения он позволяет создавать приложения с высокой степенью безопасности и надежности. 245
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Литература 1. Д. Зитен. Программирование макросов CATIA V5 с помощью скрипта Visual Basic, McGraw-Hill, 2013. 2. Система автоматизированного проектирования CATIA [Электронный ресурс]. – Режим доступа: http://bourabai.ru/cm/catia.htm/graphics/graphics/dm/cad.htm – Заглавие с экрана. 3. Development of a Modular API for the CAD-System Catia V5 TOMAS FORS Master’s Degree Project Stockholm, Sweden, 2004. Бондаренко Е.С., Григорьев А.В., Анализ инструментов создания, модификации и практического применения api в современных сапр на примере catia. В работе рассмотрены возможности функционала разнообразных API для работы в САПР CATIA. Выделены преимущества использования языка программирования Java, как самого распространенного и востребованного, для создания приложений и рассмотрены перспективы развития API САПР. Ключевые слова: слова: API, Java, разработка приложений, интерфейс, язык программирования. Bondarenko E.S., Grigoryev A.V. Аnalysis of tools for creating, modification and practical application of api in modern cads by the example of catia. The paper considers the functionality of various APIs for working in CAD CATIA. The advantages of using the Java programming language as the most widespread and demanded for creating applications are highlighted and the prospects for the development of CAD APIs are considered. Keywords: words: API, Java, application development, interface, programming language.
246
Секция 3. «Инженерия программного обеспечения»
УДК 004.932.72
ИССЛЕДОВАНИЕ ВОЗМОЖНОСТИ БИЛАТЕРАЛЬНОЙ ФИЛЬТРАЦИИ ДЛЯ РЕШЕНИЯ ЗАДАЧ РАСПОЗНАВАНИЯ ОБЪЕКТОВ НА ИЗОБРАЖЕНИЯХ И DEPTH IMAGE BASED RENDERING (DIBR) Борискин Д.В., Зори С.А. ГОУ ВПО «Донецкий национальный технический университет» (г.Донецк) e-mail: shark9797@mail.ru, sa.zori1968@gmail.com Борискин Д.В., Зори С.А. Исследование возможности билатеральной фильтрации для решения задач распознавание объектов на изображениях и Depth Image Based Rendering. Статья посвящена вопросу исследования возможностей билатеральной фильтрации для использования при решении задач распознавания изображений. Дано описано понятие билатеральной фильтрации, пример её использования. Показано что, решение задач DIBR основаны на эффективном анализе и построении карт глубины, который в свою очередь использует на одном из этапов процедуру билатеральной фильтрации, отличающихся высокой вычислительной сложностью. Таким образом, изучение возможностей эффективной реализации билатеральной фильтрации позволит существенно повысить эффективность DIBR и процедур распознавания изображений. Ключевые слова: распознавание образов, DIBR, билатеральная фильтрация, Гаусс- фильтр, глубина изображения, RGB, эффективность.
Введение Компьютерная обработка и распознавание объектов на изображениях одно из интенсивно развиваемых отраслей современной компьютеризации. Распознавание 3D объектов по 2D изображениям является одной из важнейших задач анализа сцен и компьютерного зрения в последнее время. Актуальность работы: в данное время при обработке изображений используются множество фильтров, включая билатеральный. Но для того, чтобы решить задачи по распознаванию объектов на изображениях, нужно подключать дополнительные модули программных систем, что очень затратно в условиях ограниченного времени и вычислительных мощностей. Использование билатерального фильтра для данного спектра задач является обоснованным с точки зрения производительности без необходимости использования дополнительных средств и технологий, т.к. это базовый фильтр, который входит в стандартный функциональный набор ПО по обработке изображений. Цель работы Цель работы: исследование и анализ функциональных возможностей билатерального фильтра для распознавания объектов на изображениях. 247
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Билатеральный фильтр Билатеральный фильтр - это фильтр нелинейного сглаживания изображения с сохранением его границ. Данный фильтр всегда используется при обработке изображений в компьютерной графике. Математические основы билатеральной фильтрации Билатеральное фильтрование - это фильтрование с использованием нелинейной техники [1]. Оно расширяет сглаживание Гаусса, что позволяет увеличивать показатели фильтра за счёт соответствующей ему относительной интенсивностью пикселя, который находится в центре изображения. Наглядно это видно в математических формулах, приведённых ниже. Предположим, что функция f(x,y) – исходная, которая отображает яркость изображения, в зависимости от координат x,y и будет равна яркости текущего изображения в данном пикселе. После этого для любого пикселя на оси, в области размера n, где a0 - центр области, r(a) – коэффициент рангового фильтра, который определяется по формуле (1): r a
e
,
(1)
График функции коэффициента рангового фильтра изображён на рисунке 1.
Рисунок 1 – График функции коэффициента рангового фильтра Аналогичным образом задаётся коэффициент g(a), определяется близостью к центральному пикселю по формуле (2): g x, y
e
,
который
(2)
где t - масштабный коэффициент, график функции которой изображён на рисунке 2. 248
Секция 3. «Инженерия программного обеспечения»
Рисунок 2 – График функции коэффициента g Для центрального пикселя, который находится в пределах (a0) его новая величина h(a0) рассчитывается по формуле (3): ∑
∗
∗
,
(3)
где, k - константа нормализации увеличения интенсивности которая высчитывается по формуле(4): ∑
∗
.
(4)
График функции константы нормализации изображён на рисунке 3.
Рисунок 3 – График функции константы нормализации Глубина изображения как основа DIBR Глубина изображения на основе рендеринга (DIBR) [2] - это процесс синтеза виртуальных видов сцены из захваченных цветных изображений или видео со связанной информацией о глубине. Глубина изображения основывается на глубине цвета изображения [3]. Глубина цвета изображения определяется количеством бит на один пиксель, которое может отображаться на экране монитора. Все данные хранятся в битах. Есть изображения, которые известны как «Базовый цвет», где каждый пиксель определяется значением каналов RGB или CMYK [4]. Пример задания цветов канала RGB изображён на рисунке 4. 249
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Рисунок 4 – Примеры цветовых диапазонов Изображения, которые использующие CMYK, тоже являются истинным цветом. Решение задач DIBR основаны на эффективном анализе и построении карт глубины, который в свою очередь использует на одном из этапов процедуру билатеральной фильтрации, отличающихся высокими вычислительной сложностью и временными затратами. Билатеральный фильтр служит методом предобработки изображения, т.к. распознавание образов затруднено благодаря наличию искажений и шумов на изображениях, а в DIBR - для подавления шумов на картах глубины [5]. Таким образом, изучение возможностей эффективной и параллельной реализации билатеральной фильтрации позволит существенно повысить эффективность DIBR и других процедур распознавания и обработки изображений. Заключение В статье описаны возможности билатеральной фильтрации, дано описание алгоритма фильтрации на математическом языке. Показано что, решение задач DIBR основаны на эффективном анализе и построении карт глубины, который в свою очередь использует на одном из этапов процедуру билатеральной фильтрации, отличающихся высокой вычислительной сложностью. Таким образом, изучение возможностей эффективной и параллельной реализации билатеральной фильтрации позволит существенно повысить эффективность DIBR и других процедур распознавания и обработки изображений. Литература 1 Билатеральные фильтры кратко [Электронный ресурс] – Режим доступа: http://old.unick-soft.ru/Articles.cgi?id=11 – Заглавление с экрана. 2 An overview of free view point Depth-Image-Based Rendering (DIBR) [Электронный ресурс] – Режим доступа: http://www.apsipa.org/proceedings_2010/pdf/APSIPA197.pdf – Заглавление с экрана. 3 Глубина цвета изображения. [Электронный ресурс] – Режим доступа: 250
Секция 3. «Инженерия программного обеспечения»
https://ru.wikipedia.org/wiki/%D0%93%D0%BB%D1%83%D0%B1%D0%B8%D 0%BD%D0%B0_%D1%86%D0%B2%D0%B5%D1%82%D0%B0 – Заглавление с экрана. 4 Глубина цвета [Электронный ресурс] – Режим доступа: http://fb.ru/article/87913/kompyuternaya-grafika-glubina-tsveta– Заглавление с экрана. 5 Directional Joint Bilateral Filter for Depth Images [Электронный ресурс] – Режим доступа: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4168506/– Заглавление с экрана.
Борискин Д.В., Зори С.А. Исследование возможности параллельной реализации билатеральной фильтрации для решения задач распознавание объектов на изображениях и Depth Image Based Rendering. Статья посвящена вопросу исследования возможностей билатеральной фильтрации. Дано описано понятие билатеральной фильтрации, пример её использования, а также использования глубины изображения для решения задач DIBR. Показано что, решение задач DIBR основаны на эффективном анализе и построении карт глубины, который в свою очередь использует на одном из этапов процедуру билатеральной фильтрации, отличающихся высокой вычислительной сложностью, таким образом изучение возможностей эффективной и параллельной реализации билатеральной фильтрации позволит существенно повысить эффективность DIBR и других процедур распознавания и обработки изображений. Ключевые слова: распознавание образов, DIBR, билатеральная фильтрация, Гаусс, глубина изображения, RGB, эффективность. Boriskin D.V., Zori S.A. Investigation of the possibility of parallel implementation of bilateral filtering for solving problems of object recognition in images and Depth Image Based Rendering. The article is devoted to the study of bilateral filtration capabilities. The article describes the concept of bilateral filtering, an example of its use, as well as the use of image depth for solving DIBR problems. It is shown that the solution of DIBR problems is based on effective analysis and construction of depth maps, which in turn uses bilateral filtering at one of the stages, which are distinguished by high computational complexity, thus studying the possibilities of effective and parallel implementation of bilateral filtering will significantly increase the efficiency of DIBR and others recognition and image processing procedures. Keywords: pattern recognition, DIBR, bilateral filtering, Gauss, image depth, RGB, efficiency.
251
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
УДК 004.42
АВТОМАТИЗАЦИЯ ТРАССИРОВКИ МНОГОПОТОЧНЫХ ПРОГРАММ Воробьёв Л.О. ГОУ ВПО «Донецкий национальный технический университет» (г. Донецк) e-mail: lev.vorobjev@rambler.ru Воробьёв Л.О. Автоматизация трассировки многопоточных программ. Рассмотрены основные аспекты отладки многопоточности и проведена аналогия с сложности программирования с принципом неопределённости Гейзенберга. Ключевые слова: многопоточность, принцип неопределённости Гейзенберга
Введение Порой возникает необходимость ускорить вычисления при решении задач прогнозирования, обработки графической информации и др. Для этого помогает распараллеливание задачи на несколько вычислительных машин. Грубо говоря, виртуальный компьютер [1] и есть та машина, которая выполняет один поток операций. Многопоточной [2] называется программа, которая выполняет сразу несколько потоков инструкций, т. е. последовательностей операторов. Для выполнения многопоточных программ используется несколько арифметико-логических устройств (АЛУ). Следует учитывать, что программа выполняется тогда, когда ей предоставлен квант времени планировщиком задач. Это создает сложность в проверке корректности программы, которая заключается в том, что многопоточная программа выполняется с определенными задержками на каждом потоке. Если программа небольшая, то проверить все возможные случаи фрагментации программы на кванты времени не составит труда. При увеличении размера программы сложность её проверки возрастает экспоненциально, поскольку задержка может произойти после любой инструкции и длится неопределенное количество квантов. Для проверки многопоточной программы применяется тестирование по методу «белого» ящика [3], когда исходный код программы записывается в дизассемблированном виде и нумеруется инструкции. Затем в таблице трассировки с несколькими столбцами для каждого потока инструкций проверяется работа программы. Все варианты задержек перебрать на бумаге нереально, поэтому включается интуитивный подход. Выделяется фрагмент кода, который начинается и заканчивается одной из инструкций: – запись в общую переменную; – установка сигнального состояния объекта синхронизации; 252
Секция 3. «Инженерия программного обеспечения»
– цикл активного ожидания; – ожидание сигнального состояния объекта синхронизации. Затем проверяется, что будет если задержка произойдет после первой инструкции, затем после второй и так до предпоследней; при этом варьируется длительность задержки; процесс повторяется для случаем, когда выполняется два, три или более потоков. В общем задача заключается в том, чтобы пользователь вводил что-то наподобие модульных тестов для результатов трассировки. А система проверяла соответствие каждого случая этому требованию. Как происходит отладка многопоточных программ на самом деле. В код программы вставляется отладочная информация. При выполнении программы она записывает в текстовый файл журнал своих действий: номер потока и что он сделал. Этот журнал содержит ценную информацию о том, какая последовательность действий дает сбой. Иными словами, журнал ведётся для того, чтобы несколько рабочих записывали туда свои действия, а потом начальник выяснял, почему результат оказался неправильным. Каждый рабочий по отдельности выполняет свою работу правильно. А если их несколько, то происходит рассогласование. Задержка между инструкциями равносильно тому, что рабочий отвлекается от своей работы, например ответ на телефонный звонок. При этом неизвестно, после какого действия зазвонит телефон. Другой рабочий может тоже отвлекаться. При этом рабочих может быть больше двух. Журнал нужен, чтобы выяснить, какая инструкция дала сбой. А затем проинструктировать рабочих так, чтобы их рассинхронизация не влияла на результат работы. Ведь никогда не знаешь, когда планировщик задач вытеснит поток с процессора. Поэтому нужно просчитать все варианты. Если программа маленькая, то можно воспользоваться тестированием по методу «черного» ящика. Для этого запускается программа несколько тысяч раз. Допустим, в одной из тысячи итераций планировщик задач создал задержку в такой момент, что программа зашла в тупик. Задача тестирования по методу «чёрного» ящика состоит в том, чтобы найти все критические места в программе, задержка в которых может нарушить её работу. При написании многопоточных программ следует учитывать, что: – после каждой строки может быть пауза; перед выполнением следующей инструкции другой поток может выполнить много инструкций; – следует учитывать возможность выполнения более двух потоков. Физическая природа многопоточных программ Многопоточная событийно-ориентированная программа с обширным глобально изменяемым состоянием проявляет все признаки 253
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
неопределенности в квантовой механике [4]. При попытке отладки такой программы её поведение меняется и ошибки невозможно обнаружить. Нечто похожее есть и в квантовой механике. Принцип неопределённости Гейзенберга гласит, что при попытке увеличить точность измерения одной величины точность измерения другой уменьшается. Законы квантовой механики находят свое отражение в программном обеспечении. Физика не контролирует процесс ядерной реакции. Радиоактивный распад ядра Урана – полностью случайное явление. Внутри ядра атома действует принцип неопределённости: нельзя с точностью определить значение какой-либо величины, не изменив при этом значение другой. Поэтому физика не может предсказать, в какой момент рванет ядерный реактор. Аналогично дело обстоит в многопоточной программе. Программа, в которой выполняются много потоков – это ядерный реактор. И если его не контролировать, то он рано или поздно выйдет из строя. В ядерном реакторе для его контроля есть графитовые стержни, которые замедляют цепную ядерную реакцию. А в многопоточной программе роль таких стержней играет синхронизация. Так же, как и в таблице Менделеева существует конечное число элементов, существует ограниченное число высокоуровневых конструктов многопоточности, которые нормально работают. По аналогии с радиоактивностью химического элемента можно судить о подверженности многопоточной программы взаимной блокировке и гонке данных. Потому использовать примитивы синхронизации можно только для реализации высокоуровневых синхронизационных структур. Внутри такой структуры, чем больше строк кода, тем больше вероятность того тем меньше надежность программы. Поэтому необходимо до предела сокращать размер конструктов. Ядро атома состоит из протонов и нейтронов. По аналогии с примитивами синхронизации, если баланс протонов и нейтронов нарушается, то ядро становится неустойчивым, т. е. радиоактивным. Изотоп существует некоторое время, потом распадается. Программа работает, а потом попадает в неопределенное поведение,если в ней допущены ошибки синхронизации. Чтбы этого избежать, следует использовать библиотеки многопоточности, которые просто работают. Выводы Отладку многопоточных программ можно автоматизировать с помощью полного перебора всех вариантов задержки между такими инструкциями: – ожидание с блокировкой потока (напр. WaitForSingleObject); – установка сигнального состояния события (SetEvent); 254
Секция 3. «Инженерия программного обеспечения»
– уменьшение счётчика семафора (ReleaseSemaphore); – снятие блокировки (ReleaseMutex); – изменение значения атомарной переменной. Для каждого такого варианта выполнения потоков проверяется условие корректности, заданное программистом либо тестировщиком на основании общепринятого контракта данной синхронизационной структуры. Эффективность трассировки зависит от количества строк кода: чем их меньше, тем больше скорость перебора всех вариантов задержки. Часто бывает, что исправить многопоточную программу можно только полностью переписав её. Чем объёмнее многопоточная программа, тем больше вероятность того, что она работает неправильно. Поэтому необходимо стремиться сократить число атомарных операций в каждой подпрограмме. Литература 1. Корнеев В.Д. Параллельное программирование в MPI. – 2-е изд., испр.– Новосибирск: Изд-во ИВМиМГ СО РАН, 2002. – 215 с. 2. Гасанов З.З. Анализ производительности многопоточных программ, написанных на языках Java и Go // Наука и образование сегодня, 2018 – С. 2527 3. Степанченко И.В. Методы тестирования программного обеспечения: Учебное пособие – Волгоград: ВолгГТУ, 2006. – 74 с. 4. Мишель Д. Почему они не умеют писать многопоточные программы: перевод с англ. – 2014 – Режим доступа: https://dev.by/news/pochemu-oni-ne-umeyut-pisat-mnogopotochnye-programmy
Воробьёв Л.О. Автоматизация трассировки многопоточных программ. Рассмотрены основные аспекты отладки многопоточнhttps://dev.by/news/pochemuoni-ne-umeyut-pisat-mnogopotochnye-programmyости и проведена аналогия с сложности программирования с принципом неопределённости Гейзенберга. Ключевые слова: многопоточность, принцип неопределённости Гейзенберга Vorobyov L.O. Trace automation of multithreaded programs. The main aspects of multithreading debugging are considered and an analogy is made with the complexity of programming with the Heisenberg uncertainty principle. Keywords: multithreading, Heisenberg uncertainty principle
255
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
УДК 004.4
К ВОПРОСУ О САМОСИНТЕЗИРУЕМОСТИ ПРОГРАММ Воробьёв Л.О., Григорьев А.В. ГОУ ВПО «Донецкий национальный технический университет» (г. Донецк) e-mail: lev.vorobjev@rambler.ru, grigorievalvl@gmail.com Воробьёв Л.О., Григорьев А.В. К вопросу о самосинтезируемости программ. Авторы в статье излагают современные средства автоматизации процессов разработки программного обеспечения: кодирования, тестирования. Рассмотрены основные этапы автоматизации сборки программного продукта. Объектно-реляционное отображение представлено читателю, как средство автоматического синтеза программ для поддержания базы данных. Упомянуто функциональное программирование, как новый подход к алгоритмизации. Аспектно-ориентированное программирование представлено способом передачи опыта программистов. Ключевые слова: кодирование алгоритмов, объектно-реляционное отображение, интегрированная среда разработки, аспектно-ориентированное программирование
Введение Вопрос об автоматизации процесса программирования всегда был краеугольным камнем программной инженерии. «Автоматический синтез программного обеспечения» [1] нередко обсуждался в научных кругах [2,3]. В настоящее время появилось большое количество технологий автоматизация процесса программирования, таких как паттерны, шаблоны, фреймворки, системы пользовательского программного интерфейса и т.д. Однако, современная индустрия разработки программного обеспечения (ПО) продолжает упорно игнорировать достижениям науки прошлого столетия. К таким важнейшим достижениям недавнего прошлого следует отнести теорию формальных грамматик. Т.о., актуальным является анализ, насколько новые технологии программирования логически связаны с известными, классическими технологиями программирования, такими как формальные грамматики. Целью данной работы является: - обзор современных технологий программирования; - анализ их с точки зрения «грамматического» подхода; - выявление тенденций развития САПР программного обеспечения. Цель доклада 256
Секция 3. «Инженерия программного обеспечения»
Охарактеризовать современное состояние автоматизации процессов разработки программного обеспечения. Анализ проблемы Вопрос самопрограммируемости ЭВМ вызывает много споров. Решение прикладных задач на ПК выполняется с помощью программного обеспечения, которое создаётся людьми. Иными словами, человек обеспечивает машину программами, которые он сам и создает с помощью машины. Однако зачем человеку утруждать себя выполнением данной трудозатратной операции, если можно часть работы переложить на машину. На арену выходит персональный компьютер (ПК) с мощной аппаратной подготовкой. Его призвание: сделать всё, чтобы облегчить программирование и другие задачи, связанные с созданием ПО (табл. 1). По таблице видно, что есть два вида работ по созданию ПО: хорошо автоматизированные и – плохо автоматизированные. Человек научил машину выполнять целый ряд автоматизируемых операций по созданию ПО. Однако большую часть работы приходится на его труд. Таблица 1. Классификация работ по созданию ПО Работа человека (слабая автоматизация)
Работа машины (хорошая автоматизация)
кодирование алгоритма
компиляция и выполнение
документирование
генерация документации
инспектирование
статический анализ кода
перепроектирование с целью повышения качества проекта
обратное проектирование с целью документирования
составление диаграмм UML
генерация кода по диаграмме классов
автоматизация сборки
выполнение сборки программы
установка программы
автоматическое развертывание
написание тестов
выполнение тестов
Рассмотрим данные работы детальнее. Автоматизация кодирования алгоритмов Человек кодирует алгоритмы, а машина их компилирует. Поменяем местами человека и ПК. Теперь машина придумывает алгоритмы, а человек 257
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
должен их привести в действие. Пока машина диктует инструкции на своем языке, человеку приходится выполнять эти действия. Рано или поздно человеку надоедает выполнять однотипные операции, и у него появляется желание сократить, изменить порядок действий. А машина продолжает диктовать инструкции. Напрашивается вопрос: а зачем они нужны, ведь человек и без машины способен решать, какие действия ему выполнять. А машина, наоборот, нуждается в таком руководстве. Это свойство называется способность волеизъявления, которой у машины нет. Машина выполняет только те действия, которые нужны человеку, и только тогда, когда её заставят их выполнять. Если поменять местами столбцы нельзя, то остается пытаться сместить центр тяжести в пользу автоматизации кодирования алгоритмов. Да, алгоритмы нужны человеку, а не машине. Поэтому только человек принимает решение о создании алгоритма. А для того, чтобы передать его машине, нужен общий язык, который будет понятен и человеку и компьютеру. Итак, задача человека — записать алгоритм на таком языке, а компьютер будет этот алгоритм выполнять. Для того и нужны языки программирования, и от них нельзя избавиться по той причине, что они обеспечивают коммуникативную связь человека с компьютером. Приходим к пониманию того, что смещение центра тяжести в пользу автоматизации производится путем облегчения процесса кодирования алгоритмов. При этом язык меняется, но должен оставаться полным и сохранять однозначность. Полнота языка означает возможность его средствами объяснять ход решения любой существующей задачи. Что принципиально нового можно придумать в данной области, что облегчило бы процесс кодирования. В настоящее время можно назвать следующие способы автоматизации кодирования алгоритмов: 1) синтез по графическому образу; 2) голосовой способ ввода кода программы; 3) способ автоматического деформирования команды по первым символам; 4) совершенствование языков программирования в рамках «обычных» парадигм программирования; 5) использование новых парадигм программирования, таких как функциональное программирование и т.д. Рассмотрим названные случаи детальнее. Использование графических языков программирования, для синтеза кода может выполняться разными путями. Например, язык Scratch использует языковые схемы или шаблоны (заготовки) как инструмент автоматизации формирования кода. В частности, Scratch способен облегчить кодирование алгоритмов при обучении программированию. Процесс кодирования алгоритмов производится путем перетаскивания заготовок готовых блоков 258
Секция 3. «Инженерия программного обеспечения»
кода в окне редактирования. Влияние языка Scratch заметно в проекте по визуальному программированию для языка Java [4]. Можно так же назвать графический язык ДРАКОНа [5], на котором алгоритмы описывают в виде блок-схем, пригодных к выполнению (интерпретации). Однако названный язык имеет ряд недостатков, обусловленных самой парадигмой визуального программирования: – блок-схемы занимают больше места, чем код; – текстовые языки легче использовать в системах контроля версий, в частности для объединения изменений и разрешения конфликтов; – необходимость частого перемещение руки при вводе операторов визуального языка с клавиатуры на мышь и наоборот. Ввод исходного кода с помощью голоса есть прорыв в области ручного кодирования. На платформе CMU Spinx программа с помощью формальных грамматик дополняла речь диктора и автоматизировала клавиатурный ввод в программировании [6]. Однако, при использовании этого подхода ошибки распознавания неизбежно отражаются на корректности программы. Технология IntelliSence предоставляет пользователю возможность быстрого ввода кода путём дописывания названия функции по первым буквам. Эту технологию приписывают Microsoft, однако такая возможность реализована в других IDE (интегрированная среда разработки). Так, например, программа ctags выполняет индексацию исходного кода, а среда разработки предлагает выбор идентификатора при вводе первых букв. Автоматизация кодирования алгоритмов может достигаться за счет совершенствования языков программирования. Это заметно в сравнении JVM ориентированных языков, таких как Java, Scala, Kotlin, Swift. Каждое обновление языка учитывает специфику разрабатываемого на нём (целевого) ПО в момент своего выхода. Новый язык призван упростить те участки кода существующего ПО, которые чересчур запутаны из-за нехватки выразительных средств языка. К примеру, есть в Си т. н. сигналы, которые позволяют программе реагировать на системные прерывания [7]. И для того, чтобы определённое действие выполнялось после завершения работы программы, нужно было создать подпрограмму и передать адрес этой подпрограммы регистратору сигналов. Поскольку название этой подпрограммы нигде больше не употреблялось, новый стандарт 2011 года добавил в язык анонимные функции, которые заметно упростили регистрацию обработчика сигналов. Поскольку ПО создавалось в разное время, были использованы разные парадигмы и подходы к организации программного кода. Новые концепции ломают сложившиеся стереотипы о кодировании алгоритмов. Например, функциональная парадигма внесла существенные изменения в код, превратив его из описания процедур в описание функций. Функциональный подход 259
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
сменил тактику написания кода с декомпозиции на детализацию; заменил циклы на рекурсию и вызов подпрограммы на композицию. Функциональное программирование это, конечно, хорошая практика, но не до такой же степени, как в Haskell. Там оно пытается избавиться от оператора присваивания. В результате чего для каждого результата вычисления создаётся новая переменная и выделяется область в памяти программы. Как частный вывод, можно сказать, что формальные порождающие грамматики есть базовым инструментом практически всех названных технологий. Автоматизация тестирования программ Известно, что основными критериями качества ПО являются корректность его работы и отсутствие вязкости программного кода [8]. Последнее необходимо для оперативного внесения изменений в логику обработки информации с целью обеспечения соответствия новым требованиям. Традиционный подход к установлению корректности программы – это модульное тестирование [9]. Однако при большом количестве строк кода вариантов тестового случая может быть много и написание модульных тестов к такой программе затруднительно. Развитием технологии модульного тестирования, способное упростить автоматизацию этого процесса, является технология фаззинга [10]. В этом случае программа сама генерирует заведомо некорректные тестовые наборы и сообщает о том, какой из них привел к сбою. Для такой процедуры следует только описать структуру входных данных и установить критерии правильной работы программы. Фаззинг позволяет методом случайной генерации тестовых наборов выявить ошибки в программе, которые при обычном тестировании не будут обнаружены. Для эффективного использования этой технологии также применяется инструментирование для анализа покрытия кода [11]. Процесс генерации тестовых наборов есть яркий пример использования технологии порождающих грамматик. Автоматизация процессов поддержания проекта Под процессами поддержания проекта подразумевается выполнение определённых операций над исходным кодом [12]. Для того, чтобы автоматизировать этот процесс, используются системы автоматической сборки. По степени автоматизации сборки системы бывают: – императивными, в которых описывается процесс сборки; – декларативными, описывающие сам проект (табл. 2). 260
Секция 3. «Инженерия программного обеспечения»
Таблица 2. Системы сборки проектов Язык проекта
Императивный
Декларативный
С, С++, Pascal
Make
Automake, CMake
Java
Ant
Maven, Gradle
Пример императивного подхода: файлы для системы Make включают: – переменных, как макроопределений в языке Си; – правил сборки, которые состоят из названия файла-результата, названия исходных файлов и команды вызова программы-компилятора, который из исходных файлов делает файл результата. Для больших проектов такой подход автоматизации сборки становится слишком утомительным, поэтому мировое сообщество придумало ряд средств, автоматизирующих создания make-файлов: Automake и Cmake [13]. Файл описания проекта для CMake носит название CMakeLists.txt и содержит: – версию Cmake и название проекта; – используемый язык программирования; – расположение каталога с заголовочными файлами; – расположение каталога с исходными файлами; – дополнительные параметры компилятора; – перечень целей сборки с указанием их типов: исполняемый файл или библиотека; а для библиотеки указывается, статическая или динамическая компоновка; – указание связи между целями сборки для того, чтобы система определила, в какой последовательности их собирать. В итоге получается, что в описание проекта вмещается немного больше данных, но это избавляет от необходимости ввода команд вызова компилятора в файл сборки. База данных CMake содержит всю необходимую информацию о компиляторах, которые используются для каждого типа исходных файлов. Аналогичное соответствие сложилось в системах сборки для Java: Ant преследует императивный подход описания алгоритма сборки, а Maven и Gradle — декларативный подход. В системе сборки Maven описание проекта содержится в XML файлах. Gradle избавляет от необходимости использования этого избыточного формата, предлагая описывать проект на языке Groovy. Описание проекта для этих систем сборки содержит: – название проекта; – параметры сборки результирующего файла; – список используемых библиотек. Отличительной особенностью Maven и Gradle является то, что они автоматически загружают и подключают все используемые библиотеки 261
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
проекта. Кроме того, список исходных файлов для сборки формируется автоматически, поскольку их расположение задано стандартом. Система сборки проектов автоматизирует не только компиляцию программы, но и её инсталляцию. Так, например для интерпретируемых языков программирования библиотеки поставляются в виде архивов, которые автоматически распаковываются в директорию с библиотеками. Для создания таких архивов с библиотеками, написанными на языке Ruby, используется система Rake. Скрипт автоматизации сборки Rakefile включает: – название библиотеки, её версию; – краткое и полное описание библиотеки, её назначение; – список файлов библиотеки. Для языка Perl существует несколько аналогичных подходов к автоматизации создания архивов с библиотекой, но все они сводятся к тому, что на компьютере пользователя генерируется Makefile из описания проекта, которое включает такие же поля. Современные САПР ПО Ручной ввод текста программы есть обременительная задача для любого человека. Программист давно осознал это, и старается избежать ручной работы путем использования современных САПР ПО – интеллектуальных IDE. Использование проверенных опытом методов разработки является хорошей практикой в программировании, которая избавляет от множества проблем при создании программ. Передачу опыта и методов разработки следует автоматизировать. Неверно считать, что этим никто не занимается. Вот, к примеру, есть практика регистрации ошибок в системном журнале [12,14]. Всегда с библиотеками для ведения журнала событий «подсовывается» возможность записи в журнал разных сообщений. Для этого предусмотрена стандартизованная типология записей в журнале, которая позволяет фильтровать записи, попадающие в журнал. Если это такая хорошая практика, которая позволяет локализовать неисправности в коде, то как автоматизировать сам процесс регистрации. Автоматически вставлять регистратор в блок пойманных исключений. Для этого можем обратиться к среде разработки и добавить шаблон обработчика исключений, которая она будет вставлять автоматически при вводе пользователем заданного набора букв. Отлично, теперь автоматизирован процесс записи в журнал при обработке исключений. Теперь, ведь, необходимо, чтобы все проекты предусматривали создание файла журнала. Но тут уже самому нужно определить, как будет называться файл журнала, и настроить формат записи в нем. При этом существует много разных способов для каждой операционной системы и библиотек для платформонезависимого ведения 262
Секция 3. «Инженерия программного обеспечения»
журнала событий. В каждой из них по-разному записывается строка для записи в журнал. Для каждой из них создавать шаблон блока обработки исключений нецелесообразно, поскольку пользоваться ими никто не будет, потому что их названия будут длинными. Есть другой способ автоматизации рутинной операции ведения журнала. Вместо того, чтобы для каждой библиотеки логирования создавать отдельный шаблон, разработчик библиотеки логирования может создать по одному шаблону блока исключения для каждой среды разработки. Но теперь проблема в том, что среды разработки существуют не в единственном числе, и не каждый разработчик библиотеки логирования согласится писать шаблоны кода для таких IDE, как vim или emacs. Остается надеяться на энтузиастов, которые разрабатывают плагины vim или правила для Visual Studio. Для того то и создано аспектно-ориентированное программирование (АОП), которое позволяет выделить логирование в отдельную сущность, наподобие класса. Тогда передача опыта упрощается: аспекты логирования можно без проблем подключить к своему проекту. Большое количество команд текстового редактора vim запомнить невозможно, поэтому популярностью пользуются также среды разработки с графическим интерфейсом. IntelliJ IDEA и целый ряд подобных ей сред разработки для разных языков программирования от компании JatBrains, вытесняют всех предшественников на рынке IDE. И уже вытеснила все IDE для языка Java. На то есть веские причины, почему разработчики Java предпочитают IDEA вместо аналогичных Eclipse и NetBeans. CLion - это единственная среда разработки для языков C|C++, которая впервые автоматизировала работу с проектами, которые используют CMake в качестве средства сборки. Эта среда разработки использует файлы CMakeLists.txt для описания проектов, что позволяет полностью автоматизировать рутинные операции добавления новых файлов исходного кода в проект. При добавлении файла исходного кода CLion автоматически обновляет CMakeLists.txt, добавляя в его список новый файл. А при обновлении этого текстового файла автоматически генерируется Makefile для всего проекта. Кроме того, начиная с третьей версии CMake может сам автоматизировать внесение новых файлов исходного кода в список с помощью команды file(GLOB SRCS *.cpp). Эта строка часто используется, особенно, при переводе проектов из Visual Studio в CMake формат. Можно автоматически перевести CMake проект в Visual Studio, а наоборот — нет. И действительно, старые проекты Visual Studio имеют весьма скудные возможности по расширению стандартного алгоритма сборки. Вспомните, как мучительно происходит добавление библиотеки в список файлов для компиляции. В CMake это все автоматизировано. Достаточно добавить одну 263
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
строку, и система сборки сама найдет библиотеку и подключит её к исполняемому файлу при компиляции. Единственное, чем может похвастаться Visual Strudio – это отладчик. Другие IDE (Atom, Clion, Eclipse CDT) предоставляет графический пользовательский интерфейс для отладки программы, а основную работу возлагают на отладчик gdb с командным интерфейсом. Поскольку основная рутинная работа программиста в создании однотипных операций, которые единообразно выполняются вне зависимости от специфики задачи, CLion позволяет сгенерировать стандартную реализацию конструктора, методов доступа к полям, а оставшаяся часть класса — на усмотрение пользователя. Когда нужно исправить написание слова, которое пишется с двумя буквами "с", то неважно, где добавить букву "с" – перед уже имеющейся буквой "с" или после неё. Аналогично в программировании: неважно, что автоматизировать, создание интерфейса метода или его реализацию. Есть средства, которые генерируют реализацию по интерфейсу метода. В C++ явно не хватает рефлексии. Это хорошо прочувствовали разработчики системы объектно-реляционного отображения ODB [15]. При использовании этого средства программист описывает структуру базы данных с помощью директив препроцессора. Система ODB использует эту информацию, чтобы синтезировать процедуры записи обозначенных с их помощью структур в реляционные таблицы. Недостатком генераторов программного кода являются устаревание стандарта, на котором генерируется код. ODB генерировал код в стандарте 2014 года. Некоторые возможности этого языка объявлены устаревшими в 2017 году. И теперь то, что генерируется системой ODB, не пригодно для использования с новым компилятором языка C++. Кто возьмётся обновить генератор кода, если каждый третий год выходит новый стандарт. Другой способ автоматической реализации метода состоит в непосредственной генерации нового кода при компиляции. Несмотря на то, что в C++ с помощью метапрограммирования на шаблонах можно строить целые алгоритмы для компилятора [16], в нём никак нельзя программно определить название процедуры, которая выполняется. В языке Java эта проблема решена с помощью аннотаций: реализована библиотека Hibernate, которая позволяет генерировать SQL запросы, зная только название процедуры и её аргументы. Используя аннотации, обозначаются поля структуры, что используется для автоматического управления базой данных. Выводы В сфере производства ПО автоматизация идет большими темпами, нежели в других сферах. Объясняется это тем, что для автоматизации программирования не нужно привлекать специалистов из других областей. Сами разработчики желают упростить себе жизнь, и придумывают разные 264
Секция 3. «Инженерия программного обеспечения»
инструменты для удовлетворения своих потребностей. В отличии от, к примеру, САПР самолетов, там привлекаются авиаконструктор, который выдвигает свое видение будущей программы, для САПР ПО сам исполнитель является заказчиком и согласованность требований существенно ускоряет разработку подобных инструментов. Отличие среды разработчиков ПО от научной среды в том, что создается неконтролируемо большое количество программных продуктов. Именно по причине постоянного роста количества средств автоматизации программирования в ненаучных кругах их научная классификация должна непрерывно обновляться. Программист, который создает подобные библиотеки, преследует собственную потребность в эстетическом удовлетворении новым произведением своего шедеврального искусства. В общем случае автоматизация программирования достигается путем создания языков программирования, библиотек и шаблонов программного кода. Так, идея концептуального программирования нашла свое воплощение в языке программирования XL [17]. Литература 1. Григорьев А.В. Анализ специфики задачи проблемной адаптации САПР в современных условиях // Наукові праці Донецького національного технічного університету, серія «Інформатика, кібернетика та обчислювальна техніка»,вып. 13 (185), Донецк, ДонНТУ, 2011. – С.208-221. 2. Тыугу Э. Х. Концептуальное программирование. М.: Наука, 1984. 255 с. 3. Ильин В. Д. Система порождения программ. М.: Наука, 1989, 264 с. 4. Воробьёв Л.О. Разработка интегрированной CASE-системы для обучения студентов программированию / Воробьёв Л.О., Полетаев В.А., Моргайлов Д.Д. // Информатика, управляющие системы, математическое и компьютерное моделирование – Донецк: ДонНТУ, 2016. – С. 163-168. 5. Паронджанов В.Д. Как улучшить работу ума: Алгоритмы без программистов — это очень просто! — М.: Дело, 2001. — 360 с. 6. Бакаленко В.С. Разработка речевого распознавателя исходного кода программ в инструментальной среде CMU Sphinx. // Информатика и кибернетика – Донецк: ДонНТУ № 1(11), 2018. – С. 10-15. 7. Робачевский А.М. Операционная система Unix – СПб.: БХВПетербург, 2002 – 528 с. 8. Мартин Р.К. Быстрая разработка программ. Принципы, примеры, практика: пер. с англ. / Р. К. Мартин, Дж. В. Ньюкирк – М.: Вильямс – 2004 9. Степанченко И.В. Методы тестирования программного обеспечения: Учебное пособие – Волгоград: ВолгГТУ, 2006. – 74 с.
265
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
10. Фаззинг, фаззить, фаззер: ищем уязвимости в программах, сетевых сервисах, драйверах // Журнал «Хакер» – 2010 – Режим доступа: https://xakep.ru/2010/07/19/52726/ – Заглавие с экрана 11. Руденко О.Г. Методы динамического иструментирования кода / О.Г. Руденко, С.В. Мирошниченко // Системы обработки информации – Харьков: ХНУРЭ № 6(102), 2012. – С. 134-138. 12. Mike Clark. Pragmatic Project Automation. How to Build, Deploy, and Monitor Java Applications – The Pragmatic Bookshelf, 2004 – 172 c. 13. Дубров Д.В. Программирование: система построения проектов CMake. Учебник для магистратуры – М.: Издательство Юрайт, 2016. – 422 с. 14. Солтер Н.А. C++ для профессионалов : Пер. с англ. / Н.А. Солтер, С.Д.Клепер – М. : ООО «И.Д. Вильямс», 2006 – 912 с. 15. Code Synthesis Tools. C++ Object Persistence with ODB – 2015 – Режим доступа: https://www.codesynthesis.com/products/odb/doc/odbmanual.pdf 16. Вандевурд Д. Шаблоны С++. Справочник разработчика: Пер. с англ. / Д. Вандевурд, Н.М. Джонаттис, Д. Грегор – СПб.: «Альфа-книга», 2018. – 848 с. 17. XL Extensible Language The Art of Turning Ideas into Code – Режим доступа: http://xlr.sourceforge.net/ – Заглавие с экрана Воробьёв Л.О., Григорьев А.В. К вопросу о самосинтезируемости программ. Авторы в статье излагают современные средства автоматизации процессов разработки программного обеспечения: кодирования, тестирования. Рассмотрены основные этапы автоматизации сборки программного продукта. Объектно-реляционное отображение представлено читателю, как средство автоматического синтеза программ для поддержания базы данных. Упомянуто функциональное программирование, как новый подход к алгоритмизации. Аспектно-ориентированное программирование представлено способом передачи опыта программистов. Ключевые слова: кодирование алгоритмов, объектно-реляционное отображение, интегрированная среда разработки, аспектно-ориентированное программирование Vorobyov L.O., Grigoryev A.V. To the question of self-synthesizing programs. The authors of the article present modern means of automating software development processes: coding, testing. The main stages of automation of software product assembly are considered. Object-relational mapping is presented to the reader as a means of automatically synthesizing programs to maintain the database. Functional programming is described as a new approach to algorithmization. Aspect-oriented programming is represented by a way of transferring the experience of programmers. Keywords: coding algorithms, ORM, IDE, AOP
266
Секция 3. «Инженерия программного обеспечения»
УДК 004.4
АНАЛИЗ СУЩЕСТВУЮЩИХ ПРОТОКОЛОВ ПЕРЕДАЧИ ГОЛОСОВЫХ СООБЩЕНИЙ В МЕССЕНДЖЕРАХ С ЦЕЛЬЮ ПОВЫШЕНИЯ ЭФФЕКТИВНОСТИ СРЕДСТВ ЗАЩИТЫ ПЕРЕДАВАЕМЫХ ДАННЫХ Вязмин В.И., Чернышова А. В. ГОУ ВПО «Донецкий национальный технический университет» (г. Донецк) e-mail: testerreality@gmail.com, chernyshova.alla@rambler.ru Вязмин В.И., Чернышова А.В. Анализ существующих протоколов передачи голосовых сообщений в мессенджерах с целью повышения эффективности средств защиты передаваемых данных. В статье рассмотрены наиболее популярные мессенджеры, описаны их достоинства и недостатки. Выполнен краткий анализ протоколов передачи голосовых сообщений, а также используемые решения для защиты передаваемых сообщений в мессенджерах. Ключевые слова: мессенджеры, аудиоданные, поток, кодек, протокол, шифрование.
Введение В момент, когда средняя скорость интернета по всему миру стала достаточно приемлемой для передачи значительного объема данных, начали появляться голосовые мессенджеры [0]. Мессенджер — это клиент-серверное приложение, может быть реализовано для пользователя как мобильное приложение или веб-сервис для мгновенного обмена сообщениями. Это направление развивается достаточно быстро и эффективно, что приводит к созданию по меньшей мере сотен, а то и тысячи мессенджеров разными фирмами-разработчиками программного обеспечения и отдельными программистами по всему миру. Организация общения между людьми с помощью голосовых мессенджеров является важной задачей, несмотря на множество существующих решений, так как вопросы защиты передаваемой информации всегда актуальны и нуждаются в тщательном анализе и усовершенствовании в соответствии с современными требованиями к безопасности. Месенджеры — это новый способ поддержания связи между людьми при помощи обмена мгновенными сообщениями, в том числе и голосовыми сообщениями, вне зависимости от их географического положения. Подходы к реализации протоколов передачи голосовых сообщений у каждого разработчика свои. В данной статье рассмотрены наиболее часто используемые подходы к реализации потоковой передачи аудиоданных на примере популярных голосовых мессенджеров. 267
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Обзор существующих голосовых мессенджеров Одним из наиболее популярных голосовых мессенджеров в настоящее время является Viber [2]. Viber — это приложение для VoIP (Voice over Internet protocol) [3] и обмена мгновенными сообщениями с кроссплатформенными возможностями, которое позволяет пользователям обмениваться аудио- и видео-звонками, а также мгновенными голосовыми и видео-сообщениями. Для передачи потоковых данных Viber использует протокол RTP [4]. Если необходимо шифровать данные, то поток RTP преобразуется в SRTP [5] и шифруется с помощью алгоритма Salsa20 [6] с использованием ключа сеанса. Для получения ключа сеанса каждая сторона генерирует 256-битную пару ключей Curve25519 [7], в которой используются уникальные идентификаторы устройств пользователей [8]. Данный ключ действителен только на время этого сеанса связи и не хранится на серверах, что гарантирует определенный уровень конфиденциальности. Следующим, не менее известным мессенджером является Signal [9]. Signal — это приложение для обмена сообщениями, позволяющее совершать аудио- и видео-звонки. Signal известен как наиболее безопасный на данный момент времени мессенджер, поскольку реализует очень надежное сквозное шифрование [10]. Вплоть до марта 2017 года голосовые звонки были зашифрованы с помощью протокола SRTP и протокола соглашения о ключах ZRTP [11]. Следовательно, для всех потоковых данных используется протокол RTP. Однако, на текущий момент времени Signal использует технологию WebRTC [12], в основе которой лежит все тот же RTP, однако для шифрования используется уже Signal Protocol [13]. Также, разработчики приняли во внимание, как работает кодирование аудиопакетов. Это связано с тем, что кодеки [14] с переменным битрейтом [15] могут создавать возможности для атак по побочным каналам. Поэтому команда обновила аудиокодек Signal с Speex [16] на Opus [17] . Кодек Opus будет использоваться с постоянной скоростью передачи данных (CBR), а не с переменной (VBR), что должно минимизировать утечку информации [18]. Следуя из всего вышеперечисленного можно сделать вывод, что Signal действительно является самым защищенным мессенджером на данный момент. Однако, активные пользователи социальных сетей слышали и многие, вероятно, используют такой мессенджер, как Facebook Messenger [19]. Facebook Messenger — чрезвычайно популярное приложение для обмена сообщениями и связи. Оно работает в Chrome / Firefox и Opera [20], а также в Android и iOS [21]. Facebook Messenger скрывает используемые протоколы передачи данных, однако благодаря исследованиям под руководством Филиппа Ханке [22], можно сделать вывод, что данный мессенджер использует технологию WebRTC. Следовательно, потоковые данные проходят через протокол RTP. Поскольку Facebook Messenger владеет 10% мирового мобильного VoIP-трафика, то защищенность передачи данных не должна ставиться под сомнение. Однако, вместо DTLS [23] между 268
Секция 3. «Инженерия программного обеспечения»
мобильными клиентами используется старая схема шифрования SDES [24], которая является одним из методов обмена ключей SRTP. Широко известным недостатком SDES является то, что ключи шифрования отправляются через сигнальные сервера и могут использоваться для обратной дешифровки трафика, что ставит под вопрос приватность данного мессенджера. Однако стоит отметить, что с октября 2016 года в Facebook Messenger введена опция «Секретных сеансов связи», которая использует протокол Signal. Отсюда следует, что Facebook Messenger может быть достаточно надежным, если пользователи будут использовать данную опцию. Обзор протоколов передачи голосовых сообщений Каждый голосовой мессенджер так или иначе передает потоковые данные по сети. Как правило, для этих целей используется протокол RTP (Real-time Transport Protocol) — транспортный протокол в реальном времени. Именно он обеспечивает передачу данных в реальном времени. Данные RTP обычно доставляются по протоколу UDP [25], который является ненадежным транспортным протоколом. Следовательно, нет гарантии доставки пакетов на транспортном уровне. Пакеты будут приниматься в том порядке, в котором они были отправлены или пакеты будут отправляться с постоянной скоростью. Порядковые номера пакетов и временные метки позволяют приложению, принимающему пакеты RTP, восстанавливать последовательность пакетов отправителя, обнаруживать изменения в сети и соответствующим образом корректировать. На рисунке 1 представлена схема передачи аудиоданных по сети с использование протокола RTP.
Рисунок 1 – Передача аудиоданных по сети с использованием протокола RTP Использование протокола UDP для инкапсуляции пакетов RTP включает в себя определенные ограничения, такие как ошибки при передаче. В результате любая потерянная или поврежденная часть просто игнорируется. Протокол RTP служит для передачи звука и изображений, но никак не отслеживает целостность передаваемых данных. RTP не обеспечивает автоматическую повторную передачу пропущенных пакетов. 269
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Однако, передавать данные, используя только RTP неразумно с точки зрения безопасности передаваемых данных, поскольку они могут быть перехвачены третьими лицами. Следовательно, все мессенджеры, как правило, шифруют передаваемые данные и большинство мессенджеров для этих целей используют протокол SRTP. Сегодня большая часть трафика VoIP отправляется без какой-либо криптографической защиты и уязвима с точки зрения прослушивания и модификации, поэтому использование средств защиты является актуальной задачей. SRTP (Secure Real — Time Transport Protocol) представляет собой расширение протокола RTP, которое добавляет дополнительные функции безопасности, такие как аутентификация сообщений, их шифрование, проверка целостности и защита от замены данных, в основном предназначен для VoIP-коммуникаций. SRTP является одним из протоколов безопасности, используемых для технологии WebRTC. Как правило, в SRTP по умолчанию для шифрования используется AES-CM [26]. Основной причиной выбора AES-CM было отсутствие расширения полезной нагрузки (зашифрованная полезная нагрузка имеет ту же длину, что и исходная). Другая особенность AES-CM позволяет обрабатывать пакеты не по порядку, что подразумевает возможность обрабатывать пакеты параллельно. Под полезной нагрузкой подразумевается часть передаваемого пакета, в которой находится фактическое сообщение. Следовательно, можно сделать вывод, что все голосовые мессенджеры для передачи потоковых данных используют протокол RTP, поверх которого используют различные алгоритмы шифрования. Использование распределенной архитектуры в голосовых мессенджерах Распределенной системой является набор независимых серверов, которые являются для пользователя единой объединенной системой. В голосовых мессенджерах, как правило, передача медиаданных (RTP) происходит непосредственно между устройствами, не проходя через сервера, следовательно роль распределенных серверов именно при передаче потоковых данных не велика. Однако стоит отметить, что перед началом сеанса связи, пользователям необходимо согласовать необходимые порты, кодеки и вид шифрования, именно на этом этапе существенно упрощает задачу распределенная архитектура приложения. Распределенная архитектура приложения для обмена голосовыми сообщениями позволяет организовывать взаимодействие миллионов пользователей по всему миру, обеспечивая передачу данных в реальном режиме времени с надежной криптографической защитой передаваемой между пользователями информацией.
270
Секция 3. «Инженерия программного обеспечения»
Выводы Изучив возможности наиболее известных мессенджеров, а также принцип работы протокола обмена информацией в этих клиент-серверных приложениях, можно сделать вывод, что для потоковой передачи данных в большинстве известных мессенджеров служит протокол RTP. Для обеспечения защиты передаваемой информации поверх протокола RTP используются известные криптографические алгоритмы шифрования. Тем не менее, есть необходимость в более детальном изучении современных протоколов передачи голосовых и мгновенных сообщений, с целью повышения эффективности алгоритмов работы клиентской и серверной частей приложения, а также усовершенствование подходов в генерации, обмене, хранении ключей для криптографической защиты информации в голосовых мессенджерах. Литература 1. Обзор мессенджеров. Лучшие и популярные интернет мессенджеры // VoIPOFfice [Электронный ресурс] – Электрон. дан. – 2019. – Режим доступа: http://www.voipoffice.ru/tags/messendzhery. – Заглавие с экрана. 2. Rakuten Viber // Viber [Электронный ресурс] – Электрон. дан. – 2019. – Режим доступа: https://www.viber.com/ru/. – Заглавие с экрана. 3. Что такое VoIP? Технология цифровой аудиосвязи через интернет телефонию // VoIPOFfice [Электронный ресурс] – Электрон. дан. – 2019. – Режим доступа: https://www.voipoffice.ru/tags/voip/. – Заглавие с экрана. 4. Протокол реального времени RTP // citforum [Электронный ресурс] – Электрон. дан. – 2004. – Режим доступа: http://citforum.ru/nets/semenov/4/44/rtp_4492.shtml. – Загл. с экрана. 5. Объяснение протокола SRTP / nvpushkarskiy2 // habr [Электронный ресурс] – Электрон. дан. - 2018. – Режим доступа: https://habr.com/ru/company/Voximplant/blog/413165/ – Загл. с экрана 6. Salsa20 // Википедия [Электронный ресурс] – Электрон. дан. – 2019. – Режим доступа: https://ru.wikipedia.org/wiki/Salsa20. – Загл. с экрана. 7. Curve25519, EdDSA и Poly1305: Три обделенных вниманием криптопримитива / Scratch// habr [Электронный ресурс] – Электрон. дан. 2015. – Режим доступа: https://habr.com/ru/post/247873/– Загл. с экрана 8. Подводные камни идентификации Android-устройства / miproblema// habr [Электронный ресурс] – Электрон. дан. - 2018. – Режим доступа: https://habr.com/ru/post/434726/– Загл. с экрана 9. Signal // Signal [Электронный ресурс] – Электрон. дан. - 2019. – Режим доступа https://signal.org/ru/– Загл. с экрана
271
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
10. Сквозное шифрование: описание и принцип работы метода // comss1 [Электронный ресурс] – Электрон. дан. - 2015. – Режим доступа: https://www.comss.ru/page.php?id=2468 – Загл. с экрана 11. Защита от прослушивания разговоров — строим безопасную SIP телефонию своими руками / gevlichenko // habr [Электронный ресурс] – Электрон. дан. 2015. – Режим доступа: https://habr.com/ru/company/ppbbxx/blog/253073/ – Загл. с экрана 12. WebRTC #1 — Знакомимся / Leestex // habr [Электронный ресурс] – Электрон. дан. – 2012. – Режим доступа: https://habr.com/ru/post/163527/ – Загл. с экрана 13. Протокол Signal // Википедия [Электронный ресурс] – Электрон. дан. – 2019. – Режим доступа: https://ru.wikipedia.org/wiki/Протокол_Signal . – Загл. с экрана. 14. Протоколы и кодеки IP-телефонии // CataMobile [Электронный ресурс] – Электрон. дан. 2019. – Режим доступа: https://catamobile.org.ua/protokoly-i-kodeki-ip-telefonii.html – Загл. с экрана 15. Битрейт // wikiwand [Электронный ресурс] – Электрон. дан. – 2019. – Режим доступа: https://www.wikiwand.com/ru/Битрейт. – Загл. с экрана. 16. Speex // xgu [Электронный ресурс] – Электрон. дан. – 2013. – Режим доступа: http://xgu.ru/wiki/Speex. – Загл. с экрана. 17. Основы кодирования аудио с потерями. Тестирование бетаверсии Opus 1.3 / Zeben // habr [Электронный ресурс] – Электрон. дан. – 2018. – Режим доступа: https://habr.com/ru/post/346532/ – Загл. с экрана 18. Классы сервиса ATM QoS (CBR, VBR, UBR) // admin-gu.ru – справочник сисадмина [Электронный ресурс] – Электрон. дан. – 2013. – Режим доступа: https://admin-gu.ru/network/klassy-servisa-atm-qos-cbr-vbr-ubr – Загл. с экрана 19. Facebook Messenger // messenger [Электронный ресурс] – Электрон. дан. - 2019. – Режим доступа: https://www.messenger.com/– Загл. с экрана 20. Какой браузер лучше: Firefox, Chrome, Opera с точки зрения анонимности // thesafety [Электронный ресурс] – Электрон. дан. - 2019. – Режим доступа: https://www.messenger.com/– Загл. с экрана 21. Чем iOS лучше Android и чем хуже // Российская газета [Электронный ресурс] – Электрон. дан. - 2017. – Режим доступа: https://rg.ru/2017/10/25/chem‐ios‐luchshe‐android‐i‐chem‐huzhe.html – Загл. с экрана 22. Hancke P. MESSENGER EXPOSED Investigative Report // webrtcH4cKS Electronic resource . ‐ Access mode: https://webrtchacks.com/wp‐content/uploads/2015/05/messenger‐ report.pdf 23. Что такое Datagram Transport Layer Security (DTLS)? // VoIPNotes [Электронный ресурс] – Электрон. дан. - 2019. – Режим доступа: 272
Секция 3. «Инженерия программного обеспечения»
https://voipnotes.ru/cho‐takoe‐datagram‐transport‐layer‐security‐dtls/– Загл. с экрана 24. SDES // Википедия [Электронный ресурс] – Электрон. дан. – 2019. – Режим доступа: https://ru.wikipedia.org/wiki/SDES. – Загл. с экрана. 25. Протокол UDP и UDP-дейтаграммы // Компьютерные сети [Электронный ресурс] – Электрон. дан. - 2019. – Режим доступа: http://iptcp.net/protokol-udp-i-udp-deitagrammy.html. – Загл. с экрана. 26. Sameera Lakma A.G. AES-CM implementation in VoIP achieve media transport confidentiality. // researchgate [Electronic resource]. - Access mode:https://www.researchgate.net/publication/315825592_AES_CM_Encryption _of_RTP_payloads Вязмин В.И., Чернышова А.В. Анализ существующих протоколов передачи голосовых сообщений в мессенджерах с целью повышения эффективности средств защиты передаваемых данных. В статье рассмотрены наиболее популярные мессенджеры, описаны их достоинства и недостатки. Выполнен краткий анализ протоколов передачи голосовых сообщений, а также используемые решения для защиты передаваемых сообщений в мессенджерах. Ключевые слова: мессенджеры, аудиоданные, поток, кодек, протокол, шифрование. Viazmin V.I., Chernyshova A.V. Analysis of existing voice messaging protocols in instant messengers in order to increase the efficiency of transmitted data protection tools. The article discusses the most popular instant messengers, describes their advantages and disadvantages. A brief analysis of voice messaging protocols has been performed, as well as the solutions used to protect transmitted messages in instant messengers. Keywords: messengers, audio data, stream, codec, protocol, encryption
273
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
УДК 004.522
НЕЙРОСЕТЕВОЕ ПРОГНОЗИРОВАНИЕ УСПЕВАЕМОСТИ ПО МЕНТАЛЬНЫМ ХАРАКТЕРИСТИКАМ СТУДЕНТОВ Гончаров К.Д., Федяев О.И. ГОУ ВПО «Донецкий национальный технический университет» (г.Донецк) e-mail: kriogen0501@gmail.com, fedyaev@donntu.org Гончаров К.Д., Федяев О.И. Нейросетевое прогнозирование успеваемости по ментальным характеристикам студентов. Рассмотрена задача построения функциональной зависимости успеваемости студента от его ментального портрета. Её решение основывается на методах теории нейронных сетей. С помощью нейросетевой модели проведены исследования влияния архитектуры нейронной сети и структуры обучающего множества на точность прогнозирования оценки успеваемости студентов по их ментальным портретам на этапе обучения. Ключевые слова: ментальность студента, нейронная сеть, прогнозирование успеваемости, обучающее множество
Введение В работе рассматриваются вопросы прогнозирования и анализа качества обучения студентов на выпускающей кафедре университета. Система профессиональной подготовки студентов, как объект исследования, представляет собой сложную образовательную среду, в которой созданы условия обучения для субъектов образовательного процесса — преподавателей и студентов. Учитывая социально-экономическую значимость образования, оценка эффективности процессов подготовки специалистов и их трудоустройство очень важна для анализа и управления университетом как образовательной средой, в рамках которой решаются задачи составления современных образовательных стандартов, организации эффективного учебного процесса, распределения выпускников на предприятия в соответствии с полученной квалификацией и требованиями заказчиков. Перечисленные задачи являются трудно формализуемыми по причине неоднородности, интеллектуальности и динамичности взаимодействия субъектов, поэтому описать точно поведение такой системы классическими математическими методами очень проблематично. Анализ литературы показывает [1,2,3], что решение перечисленных задач успешно осуществляется методами имитационного моделирования, которые позволяют разрабатывать качественно новые модели, объединяющие достоинства математических методов, статистики, теории нейронных сетей и программирования. Например, в работе [3] рассматривается построение модели на основе нейронной сети для прогнозирования сложной задачи определения группы риска, включающей кандидатов на исключение среди 274
Секция 3. «Инженерия программного обеспечения»
студентов первого курса. Данная работа посвящена решению задача прогнозирования качества профессионального обучения студентов в зависимости от их личностных характеристик и других факторов. Она решается на основе применения искусственных нейронных сетей и сводится к разработке нейросетевой модели, способной функционально описать зависимость получаемых студентом профессиональных знаний и умений по одной дисциплине от факторов, влияющих на полноту этих знаний. В свою очередь она разбивается на две подзадачи [4]. Подзадача 1. Настройка модели по данным наблюдений. Это обратная задача, связанная с нахождением параметров модели, т. е. с построением функции f по наблюдаемым данным Mc, Мп, С и Рс: Pc f ( M c , M п , С ) , (1) где Мс – ментальность студента; Мп – ментальность преподавателя; С – среда обучения; Рс – профессионализм студента по одной изучаемой дисциплине. Ментальность студента (Мс) определяется элементами, которые характеризуют его воспитательный аспект и приобретённый жизненный опыт: Мc (m, i, p, s, ...) , (2) где m – ментальность; i – интеллект; p – психология; s – здоровье. Ментальность преподавателя (Мп) в данном случае определяется факторами, от которых зависит качество передачи знаний от преподавателя к студенту: M п (us , uz , h, v, a , ...) , (3) где us – учёная степень; uz – учёное звание; h - стаж; v - возраст; a артистизм. Среда обучения (С) характеризуется состоянием учебно-методического и технического обеспечения учебного процесса, а также уровнем организации обучения студентов. Профессионализм студента по одной изучаемой дисциплине (Рс) определяется объёмом знаний (zc) и умений (uc), которые он получает в процессе изучения данной дисциплины: zc Z д Z Pc z c u c
, ,
uc U д U , Pд Z д U д ,
(4)
Pc Pд ,
где Zд – объём знаний, определяемый учебной программой дисциплины, которая читается на кафедре; Z – объём знаний по данному профессиональному направлению, определяемый современным состоянием науки и техники; Подзадача 2. Формирование знаний и умений по ментальности участников образовательного процесса. Данная задача состоит в явном нахождении профессионализма студента (Рс), т. е. его знаний и умений, после
275
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
изучения конкретной дисциплины, по замеренным данным о ментальности студента (Мс) и преподавателя (Мп) с помощью построенной модели f: Pc f ( M c , M п , С ) . (5) Эта подзадача относится к классу прогнозных задач. С её помощью можно исследовать влияние различных параметров (содержание учебной программы, контингент студентов и т. д.) на качество образования в конкретном университете и строить другие прогнозы. Для построения модели необходимо учесть факторы (личностные характеристики), влияющие на качество усвоения студентом знаний. Структура ментального портрета студента На наш взгляд, к важным факторам, влияющим на усвоение студентом учебного материала, можно отнести совокупность индивидуальных психофизиологических особенностей личности. Для их выявления были использованы популярные психологические методы анализа личности (рис.1) [5,6,7].
Рисунок 1 — Факторы, влияющие на усвоение материала студентом В совокупности 6 тестов содержали более 200 заданий, что значительно усложняло предъявление тестов и увеличивало время тестирования при большом количестве опрашиваемых студентов. Чтобы ускорить процесс тестирования личности, была разработана система, автоматизирующая опрос студентов и обработку полученных ответов на психологические тесты [8]. Интерфейс системы включал не только традиционные оконные формы, но и в некоторых случаях ответы тестируемого могли объявляться голосом. Данный сервис системы снижал время проведения тестирования и устранял необходимость использования бумажной документации. Вся собранная информация сохранялась в базе данных, что давало возможность
276
Секция 3. «Инженерия программного обеспечения»
формировать различные варианты обучающего множества для настройки нейросетевой модели. Рассмотренные факторы позволяют охарактеризовать личность обучаемого с позиции психометрии, что дает основание рассматривать их как ментальный портрет студента. С помощью применения рассмотренных тестов были определены ментальные (многопрофильные) портреты студентов, изучающих конкретную дисциплину. В частности, были собраны материалы тестирования студентов 3 групп, изучающих в разные годы дисциплину «Методы и системы искусственного интеллекта» в объеме 60 ментальных портретов. Стратегия обучения нейросетевых моделей компетенции студентов по конкретной дисциплине
прогнозирования
Нейросетевая модель ориентируется на описание зависимости остаточных знаний студентов от их ментальности. Модель рассматривает обучение студентов как статический процесс передачи знаний и навыков от преподавателей к учащимся. Качество обучения каждого студента оценивает преподаватель оценкой в экзаменационной ведомости, используя свой профессионалный и личностный менталитет. В итоге разрабатываемая модель процесса обучения должна прогнозировать на выходе остаточные знания студента по отдельной дисциплине (знания и навыки), с которыми он выходит на рынок труда. Эта модель реализуется в блоке 2 на рис. 2. В перспективе по прогнозным данным об остаточных знаниях и умениях работодатели смогут решать вопрос о трудойстройстве студентов на вакантные должности. Блок 2
МП Студенты для прогноза
Студенты для обучения
Ментальные портреты студентов
Подсистема создания ментальных портретов студентов (МП)
МП
Модель прогноза оценки
Оценка
Блок 1
Модель прогноза знаний и умений
Остаточные знания и умения
МП Параметры модели прогноза, обучающее множество Экзаменационная ведомость, учебная программа дисциплины
САПР моделей прогноза
Преподаватель
Рисунок 2 – Структура системы настройки нейросетевых моделей по ментальным портретам студентов Объём остаточных знаний зависит от ментальности студента и некоторых других факторов, которые описаны в предыдущем разделе. Эта связь трудно формализуема, т. е. математически описать её сложно. В таких случаях, как уже было указано выше, целесообразно использовать нейронную сеть, которая позволит выявить существующую связь путем её 277
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
обучения. Для обучения нейросети имеется в распоряжении следующая объективная информация: психологический портрет, характеризующий ментальность студента; учебная программа дисциплины; критерии оценки знаний; экзаменационная ведомость, отображающая успешность обучения студентов. Нейронная сеть, реализующая первую модель на рис. 2, будет обучаться на основании ментальных портретов группы студентов и оценок из экзаменационной ведомости. Схема данной модели представлена на рис. 3. Ментальный портрет студента
Прогнозируемая оценка по дисциплине
Обучающее множество: ‐ ментальный портрет студента; ‐ экзаменационная ведомость.
Рисунок 3 - Схема обучения первой нейромодели прогнозирования оценки по стратегии «обучение с учителем» Построение и исследование нейросетевой модели оценки успеваемости студентов. Исследования качества нейросетевого прогнозирования проводились на ментальных портретах, в которых не учитывалась креативность и ряд других факторов. В этой связи входными сигналами были использованы основные ментальные характеристики студентов, описанные в предыдущем разделе, а также показатели посещаемости студентов. Входные сигналы нейросети образуют вектор X = (x1, x2, …, x6), компоненты которого описаны в табл. 1. Таблица 1. Входные параметры нейросети Название входного сигнала Тип мотивации Тип темперамента Уровень IQ Уровень социального интеллекта Уровень вычислительных способностей Посещаемость студентом учебных занятий
Код сигнала x1 x2 x3 x4 x5 x6
Нейросеть на выходе должна формировать сигналы, определяющие прогнозную экзаменационную оценку, соответствующую ментальному портрету студента, по одной изучаемой дисциплине (рис. 3). В модели оценка закодирована четырёхразрядным бинарным кодом (табл. 2). 278
Секция 3. «Инженерия программного обеспечения»
Таблица 2. Бинарное представление выходных сигналов Экзаменационная оценка 2 3 4 5
Бинарный код 0001 0010 0100 1000
Инструментальной средой для создания нейросетевой модели выступал фреймворк Deep Learning Toolbox для пакета MATLAB [9, 10]. Данный фреймворк позволяет решать задачи от создания различных моделей нейронных сетей до визуализации процессов обучения и работы нейронных сетей. Нейросетевая модель прогнозирования экзаменационной оценки строится на базе нейросети прямого распространения (Feed forward neural network) [9]. Согласно исследованиям [11] для задачи аппроксимации функции, в большинстве случаев, достаточно использовать 2-3 слоя, чтобы обеспечить реализацию любой нелинейной зависимости между входом и выходом. В модели, описанной в данной статье, использовались 2 слоя нейронов, структура которой представлена на рис. 4.
Рисунок 4 – Схема двухслойной нейросети в обозначениях Simulink Как уже было отмечено во введении, рассматриваемая задача по оценке успеваемости студентов относится к классу задач прогнозирования. На точность её решения сильно влияет структура нейронной сети. Количество слоёв и нейронов должно быть сбалансировано с объёмом и структурой обучающего множества.
Рисунок 5 – Влияние количества нейронов на качество аппроксимации (на примере функции sin(x)) 279
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
На примере аппроксимации синусоиды нейросетью, обученной на пяти заданных значениях функции, было показано, что точность может даже ухудшиться в точках, не принадлежащих обучающему множеству, с увеличением числа нейронов в скрытом слое (см. рис. 5). На точность прогнозирования сильное влияние также оказывает плотность «покрытия» области определения функции элементами обучающего множества [12]. Из рис. 6 видно, что точность аппроксимации выше в той области, которая «покрыта» большим числом обучающих пар. Недостаточный объем обучающего множества и его неравномерное «покрытие» области определения отрицательно сказывается на однозначности построения нейросетевой функции прогноза. Более того, при каждом повторном обучении получаются разные нейросетевые функции, несмотря на неизменность обучающего множества и точное совпадение значений в эталонных точках (см. рис. 6).
Рисунок 6 – Качество нейросетевой модели в зависимости от «покрытия» области определения функции обучающим множеством (на примере функции sin(x)): сплошная (красным) - точная функция; квадратики - точки обучающего множества; тире (синим), точки (коричневым) - вид аппроксимирующих нейросетевых функций при повторном обучении на одном обучающем множестве Аналогичные проблемы были замечены и при нейросетевом прогнозировании оценки успеваемости студентов на обучающем множестве, состоящем из ментальных портретов и экзаменационных оценок 60 студентов. Результаты на гистограмме (рис. 7) показывают, что в области студентов, успевающих на оценку «3», из-за большего объёма обучающих примеров вероятность точного прогноза при 100 перезапусках на обучение достигает значения 0.9, что нельзя увидеть в других областях, обозначенных оценкой. Данный эксперимент подчеркивает необходимость в дальнейшем стремиться увеличить объём и улучшить равномерность распределения элементов обучающего множества. 280
Секция 3. «Инженерия программного обеспечения»
Рисунок 7 – Влияние структуры распределения обучающего множества на способность нейросетевой функции стабильно и правильно распознавать: — вероятность модели прогнозировать однозначный результат; — распределение количества ментальных портретов на всём диапазоне ментальности в шкале оценок На рис. 8 показаны результаты прогнозирования (классификации) получаемой оценки на экзамене у 10 студентов с удовлетворительной успеваемостью (экзаменационная оценка «3»), ментальные портреты которых не учавствовали в обучении нейросетевой модели. Ментальные портреты 7 студентов были правильно отнесены к классу студентов, успевающих на оценку «3». Относительно хороший результат можно объяснить большим объёмом обучающих пар в этой группе студентов (см. рис. 7).
Рисунок 8 - Разброс по точности классификации на множестве из 10 ментальных портретов студентов с оценкой «3» 281
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Выводы В классе нейросетевых функций выполнена постановка задачи прогнозирования успеваемости студентов по их по ментальным портретам. На основании результатов психометрического оценивания личностей студентов построено обучающее множество для настройки нейромодели. Выполненные исследования показали возможность применения нейросетевого подхода к решению трудно формализуемой задачи прогнозирования успеваемости студентов на этапе их обучения и направление дальнейшей работы по улучшению качества модели. Нейросетевая модель прогнозирования остаточных знаний на уровне компетенций позволит анализировать качество обучения, видеть степень усвоения студентами учебного материала, обнаруживать расхождение по компетенциям между дисциплиной и требованиями фирм, оценивать возможность трудоустройства выпускников. Литература 1. Калинин А.М., Тарасов В.Г. Использование данных электронного обучения для оценки и прогнозирования результатов. V Международная научно-практическая конференция «Электронное обучение в непрерывном образовании, ЭОНО-2018» (Россия, Ульяновск, 18-20 апреля 2018 г.): сборник научных трудов. – Ульяновск: УлГТУ, 2018. - С. 493-501. 2. Федяев О.И. Нейросетевая модель процесса профессионального обучения молодых специалистов // Открытые семантические технологии проектирования интеллектуальных систем (OSTIS-2015): материалы 5-й межд. научно-техн. конф. (Минск, 19-21 февраля 2015 г.). – Минск: БГУИР, 2015. 3. Русаков С.В., Русакова О.Л., Посохина К.А. Нейросетевая модель прогнозирования группы риска по успеваемости студентов первого курса // Современные информационные технологии и ИТ-образование, Vol.14, N 4, 2018. - p.815-822. 4. Федяев, О.И. Формирование зависимости остаточных знаний студентов от их ментальности с помощью нейронных сетей / Федяев О.И., Грабчук О.П., Елифёров В.В. // Труды конференции ИАИ-2015, КПИ, Киев, 2015. - С. 258-265. 5. Айзенк, Г. Как измерить личность: учеб. пособие / Айзенк Г., Вильсон Г. - М.: Изд-во Когнито-Центр, 2000. - 27 с. 6. Айзенк Г. Новые тесты IQ - М.: Изд-во «ЭСКМО», 2003. – 189 с. 7. Ильин Е.П. Психология творчества, креативности, одарённости. СПб.: Питер, 2004. – 537 с. 8. Гончаров, К.Д. Система построения ментального портрета студента с речевым интерфейсом [Электронный ресурс] / Гончаров К.Д., Федяев О.И. //Информатика, управляющие системы, математическое и компьютерное моделирование в рамках IV форума «Инновационные перспективы Донбасса» (ИУСМКМ - 2018): IX Международная научно-техническая 282
Секция 3. «Инженерия программного обеспечения»
конференция, 22-24 мая 2018, г. Донецк: / Донец. национал. техн. ун-т. – Донецк: ДонНТУ, 2018. – Режим доступа: http://iuskm.donntu.org/elektronnyjarxiv-konferencii/. 9. Deep Learning: Feedforward Neural Network [Электронный ресурс] – Режим доступа: https://towardsdatascience.com/deep-learning-feedforwardneural-network-26a6705dbdc7 10. Deep Learning in MATLAB [Электронный ресурс] – Режим доступа: https://www.mathworks.com/help/deeplearning/ug/deep-learning-in-matlab.html 11. Saurabh Karsoliya Approximating Number of Hidden layer neurons in Multiple Hidden Layer BPNN Architecture. // International Journal of Engineering Trends and Technology, Vol.3, N 6, 2012. - p.714-717. 12. Бэстенс Д.-Э., Ванн ден Берг В.-М., Вуд Д. Нейронные сети и финансовые рынки: принятие решений в торговых операциях. – М.: ТВП, 1997. – 236 с. Гончаров К.Д., Федяев О.И. Нейросетевое прогнозирование успеваемости по ментальным характеристикам студентов. Рассмотрена задача построения функциональной зависимости успеваемости студента от его ментального портрета. Её решение основывается на методах теории нейронных сетей. С помощью нейросетевой модели проведены исследования влияния архитектуры нейронной сети и структуры обучающего множества на точность прогнозирования оценки успеваемости студентов по их ментальным портретам на этапе обучения. Ключевые слова: ментальность студента, нейронная сеть, прогнозирование успеваемости, обучающее множество
Goncharov K.D., Fedyayev O.I. Neural network prediction of performance on the student's mental characteristics. The considered task of constructing a functional dependence of student performance on his mental portrait. Its decision is based on the methods of the theory of neural networks. Using the neural network model, studies have been carried out of the influence of the neural network's architecture and the training set's structure on the accuracy of predicting the assessment of student performance by their mental portraits at the training stage. Key words: student’s mentality, neural network, performance prediction, training data set
283
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
УДК 004.048
АНАЛИЗ МЕТОДОВ DATA MINING С ЦЕЛЬЮ ПРИМЕНЕНИЯ В РЕКОМЕНДАТЕЛЬНОЙ СИСТЕМЕ Гума С.Н., Коломойцева И.А. ГОУ ВПО «Донецкий национальный технический университет» (г. Донецк) e-mail: svetlana325@bk.ru Гума С.Н., Коломойцева И.А. Анализ методов Data Mining с целью применения в рекомендательной системе. В данной статье рассмотрены подходы к созданию рекомендательных систем, которые основаны на методах и моделях Data Mining. Проведён анализ существующих методов для решения задачи предсказания интересов пользователя рекомендательной системы, выбрана наиболее действенная комбинация подходов к реализации алгоритмов разрабатываемой системы. Ключевые слова: обзор методов, анализ текста, извлечение знаний, рекомендательные системы.
Постановка проблемы Технологии развиваются, чтобы облегчить жизнь пользователям, поэтому большинство современных сервисов внедряют функцию рекомендаций по предпочтениям. Существует множество реализаций алгоритма выдачи рекомендаций, но не все они являются эффективными в области кино, вследствие чего многие сервисы со временем оказываются бесполезными после оценивания некоторого количества фильмов. В связи с этим актуальным является создание собственной системы, которая бы отвечала требованиям современного пользователя, активно использующего рекомендательные сервисы для поиска новых фильмов. Data Mining — процесс автоматического обнаружения в исходных данных скрытой информации – ранее неизвестной, нетривиальной, практически полезной и доступной для интерпретации человеком [1]. Отдельной областью обработки знаний является анализ неструктурированной текстовой информации. Под неструктурированной текстовой информацией подразумевают набор документов, представляющих собой логически объединенный текст, не ограниченный структурными компонентами [2]. Данная работа посвящена анализу методов и моделей исследования схожести текстов. Результаты данной работы будут использоваться в реализации собственного метода анализа текстов на естественном языке с целью создания эффективной системы составления рекомендаций.
284
Секция 3. «Инженерия программного обеспечения»
Задачи Data Mining В основном задачи, которые связаны с Data Mining, сводятся к обучению с учителем и обучению без учителя, но также отличают особый случай – контентную и коллаборативную фильтрации [3]. Под решением задачи понимается применение подходов в разных сферах деятельности с целью повышения эффективности работы путём её автоматизации. Для того, чтобы решить задачу автоматизации анализа схожести текстов, рассмотрим существующие подходы и определим алгоритм выдачи рекомендаций. Обучение с учителем подразумевает, что каждый входящий объект будет соответствовать определённому заранее выходу. Для это необходимо использовать модели, которые определяют зависимость исходных описаний объектов от ответов. К обучению с учителем относятся такие задачи: классификация [4], регрессия, ранжирование и прогнозирование. Классификация подразумевает распределение исходных объектов по существующим классам. Например, определение жанра произведения. То есть нужно определить какой-либо параметр (зависимый) по совокупности других параметров (независимых). Для текстов независимым параметром может быть частота появления слов, связанных с определением класса. В случае, когда количество независимых параметров не определено, то такой подход называется регрессионным и подразумевает нахождение вероятностей, с которыми объект можно отнести к классу. В анализе текстов часто применяется ранжирование – сортировка значений ответов происходит после получения этих ответов, а не в процессе извлечения информации. В случае с рекомендательной системой данный метод можно использовать для дополнительной сортировки результатов. В задаче прогнозирования объектами являются временные ряды, по которым нужно определить дальнейшую динамику (например, рекомендовать пользователю фильмы в зависимости от времени дня/года). При обучении без учителя нет заранее определённых классов, по которым можно рассортировать исходные объекты, в этом случае классы находят в процессе исследования зависимостей между объектами. Основными задачами, которые относят к обучению без учителя, являются кластеризация и поиск ассоциативных правил. Кластеризация является методом статистического анализа – распределение объектов в группы так, чтобы внутри группы объекты обладали наиболее схожими свойствами [4]. В рекомендательных системах кластеризация применяется при коллаборативной фильтрации, используя методы которой определяют, насколько похожи пользователи между собой и, таким образом, в рекомендованный список текущего пользователя попадают объекты, которые понравились другим пользователям со вкусами, похожими на вкусы текущего пользователя. Поиск ассоциативных правил применим для случаев, когда нужно проанализировать последовательность событий (сиквенциальный анализ), а 285
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
также подходит нахождения неслучайных зависимостей между объектами [5]. В случае рекомендательной системы фильмов такой подход поможет выявить общие черты у фильмов, и следуя принципам контентной фильтрации далее можно рекомендовать пользователю фильмы, которые подчиняются выявленным правилам. Процесс анализа текстовых данных На рисунке 1 отображена последовательность этапов извлечения данных из текста с целью получения полезных знаний.
Рисунок 1 – Этапы анализа текста Анализ информации, представленной в текстовом виде, включает в себя следующие этапы [1]. 1. Поиск информации. На данном этапе определяется набор документов, которые должны быть подвергнуты анализу, и обеспечена их доступность для дальнейшей обработки. В рекомендательной системе фильмов к документам относятся описания фильмов и отзывы пользователей. 2. Предварительная обработка документов. Следующий этап является общим для всех методов анализа, однако отличается в реализации. Все найденные на предыдущем этапе текстовые документы подвергаются предобработке с целью выделения определённой структуры для дальнейшего использования этих данных в методах автоматического определения подобия. Таким образом, из текста удаляются лишние слова и текст обретает более структурированную форму. 3. Извлечение полезных знаний. На данном этапе работают выбранные методы Text Mining для извлечения структурированных данных в текстах. Например, определение частых наборов слов и объединение их в ключевые понятия, вычисление вероятностей принадлежности документа к классу, составление индекса документов для осуществления поиска по ключевым словам, сокращение текста с сохранением смысла и др. 4. Обработка результатов. Последний этап в процессе обнаружения полезной информации решает задачу анализа полученных результатов. Результатом работы в рекомендательной системе является вывод списка рекомендованных объектов. Подходы к созданию рекомендательных систем Задачей рекомендательных систем является анализ действий пользователя, свойств объектов и особенностей сферы рекомендаций с целью предсказания дальнейших действий пользователя. Существуют такие виды 286
Секция 3. «Инженерия программного обеспечения»
рекомендательных систем: основанные на контентной фильтрации (itemitem), основанные на коллаборативной фильтрации (user-user) и гибридные [6]. Контентная фильтрация основана на том, что у каждого фильма есть «профиль» с какими-то параметрами (например, жанр, актёры). Каждый такой «профиль» сравнивается с фильмами, которые пользователь оценил высоко, и алгоритм поиска похожих объектов будет искать среди этих «профилей» наиболее схожие по параметрам. Коллаборативная фильтрация отображает отношение других пользователей к фильму и основана на создании для каждого пользователя таблицы оценённых фильмов. Производится поиск пользователей, которые оценили одинаковые фильмы. Среди списка фильмов этих пользователей в рекомендации текущего пользователя будут добавлены фильмы, которые текущий пользователь ещё не оценил, но другие пользователи оценили высоко. Для составлений рекомендаций для конкретного пользователя предлагается использовать следующие методы. 1. Анализ описаний фильмов с целью выделения ключевых понятий и ассоциативных правил; пользователю будут рекомендованы фильмы, в описании которых встречаются ключевые слова из описаний тех фильмов, которые ему уже понравились, на основании ассоциативных правил. 2. Анализ отзывов к фильмам, с которыми пользователь ещё не взаимодействовал. Предлагается оценить тональность отзывов, т.е. выделить эмоционально окрашенную лексику и выявить отношение автора отзыва к данному фильму. В случае, если отзыв имеет положительную окраску, то высока вероятность, что фильм понравится пользователю. 3. Анализ отзывов текущего пользователя, которые он оставляет к фильмам, с которыми взаимодействовал. Применяя методы Text Mining можно выяснить, что именно понравилось/не понравилось пользователю в данном фильме, и на основе полученной информации подобрать новые фильмы. Например, если пользователь в отзыве указал, что сюжет фильма ему понравился, то рекомендательная система подберёт для него фильмы с параметрами, которые влияют на сюжет. 4. Статистический анализ на основе пользовательского рейтинга, жанров фильма, участвующих актёров, режиссёров и т. п. Таким образом, разрабатываемая рекомендательная система является гибридной, т. к. включает в себя методы и контентной, и коллаборативной фильтрации. Такой подход позволяет избавиться от главного недостатка новых систем – нехватки информации от пользователей и уменьшить проблему рекомендации одних и тех же объектов за счёт разнообразия методов предоставления рекомендаций. Выводы В рамках данной статьи рассмотрены основные задачи Data Mining 287
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
относительно возможности их применения в системе рекомендаций фильмов. Для решения задачи рекомендаций предложены подходы к статистическому анализу независимых параметров объектов (фильмов), а также к анализу естественно языковой текстовой информации, такой как описания фильмов и отзывы к ним. В дальнейшем планируется определить алгоритмы в формальном виде и реализовать их и провести эксперименты для оценки эффективности системы. Литература 1. Технологии анализа данных: Data Mining, Visual Mining, Text Mining, OLAP / А. А. Барсегян, М. С. Куприянов, В. В. Степаненко, И. И. Холод. – 2-е изд., перераб. и доп. – СПб.: БХВ-Петербург, 2007. – 384 с. 2. Батура Т. В. Методы автоматической классификации текстов. – Новосибирск : Институт систем информатики им. А.П. Ершова СО РАН, 2017. – с. 87-93. 3. Машинное обучение – Режим доступа: http://www.machinelearning.ru/wiki/index.php?title=Машинное_обучение. – Заглавие с экрана. 4. Батура Т. В. Математическая лингвистика и автоматическая обработка текстов : учеб. пособие – Новосибирск : РИЦ НГУ, 2016. – 166 с. 5. Завгородный А. Ю. Метод быстрого поиска ассоциативных правил. – Х.: Системы обработки информации, 2006. — № 8(57). – с. 109-114. 6. Современные методы анализа тональности текста – Режим доступа: http://datareview.info/article/sovremennyie-metodyi-analiza-tonalnosti-teksta/ – Заглавие с экрана Гума С.Н., Коломойцева И.А. Анализ методов Data Mining с целью применения в рекомендательной системе. В данной статье рассмотрены подходы к созданию рекомендательных систем, которые основаны на методах и моделях Data Mining. Проведён анализ существующих методов для решения задачи предсказания интересов пользователя рекомендательной системы, выбрана наиболее действенная комбинация подходов к реализации алгоритмов разрабатываемой системы. Ключевые слова: обзор методов, анализ текста, извлечение знаний, рекомендательные системы. Guma S.N., Kolomoytseva I.A. Analysis of Data Mining methods for use in a recommender system. This article describes approaches to creating recommendation systems that are based on Data Mining methods and models. The analysis of existing methods for solving the problem of predicting the interests of the user of the recommendation system is carried out, the most effective combination of approaches to the implementation of the algorithms of the developed system is selected. Keywords: methods review, text analysis, knowledge extraction, recommendation systems.
288
Секция 3. «Инженерия программного обеспечения»
УДК 004.441
АНАЛИЗ СИСТЕМ СИНТАКСИЧЕСКОГО И ЛЕКСИЧЕСКОГО РАЗБОРА ПРОГРАММНОГО КОДА Косенко Ю.А., Григорьев А.В. ГОУ ВПО «Донецкий национальный технический университет» (г. Донецк) e-mail: julie.meh@yandex.ru, grigorievalvl@gmail.com Косенко Ю.А., Григорьев А.В. Анализ систем синтаксического и лексического разбора программного кода. В статье описаны ключевые моменты этапов лексического и синтаксического анализа программного кода. Затронуты проблемы использования готовых решений для генерации лексеров и парсеров и их возможные пути решения. Ключевые слова: синтаксический анализ, лексический анализ, АСД, лексема, токен, КС-грамматика.
Введение Лексема (логическая единица языка) – это структурная единица языка, которая состоит из элементарных символов языка и не содержит в своем составе других структурных единиц языка. Понятия «токен» – идентифицированная последовательность символов – и «лексема» в простых случаях считают идентичными. Процесс компиляции состоит из двух этапов: трансляции программы и компоновки машинно-ориентированной программы. Первый этап включает в себя лексический и синтаксический анализ. При создании нового языка программирования (ЯП) необходимо написание нового лексера, с описанием новых правил грамматики языка. Далее необходимо написать синтаксический анализатор – парсер – для преобразования последовательности лексем в дерево разбора. Вышеуказанные два пункта представляют собой фундамент в создании любого ЯП. Написание лексера и парсера представляет собой довольно сложную задачу, поскольку чем больше языковых конструкций в ЯП, тем больше необходимо описать правил грамматики. Цель написания данной статьи заключается в описании общей работы систем лексических и синтаксических разборов программного кода, проанализировать готовые решения автоматизации процесса анализа и выявить основные проблемы при создании подобных систем. Назначение лексического анализатора Лексический анализ в информатике представляет собой процесс аналитического разбора входной последовательности символов на лексемы, с целью получения на выходе токенов (рис.1). 289
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Рисунок 1 – Строка исходного кода проходит через лексер и преобразуется в список токенов В общем случае работа лексического анализатора сводится к следующим основным этапам: 1. Просматривается входной поток символов программы на исходном языке до обнаружения очередного символа, ограничивающего лексему; 2. Для выбранной части входного потока выполняется функция распознавания лексемы; 3. При успешном распознавании информация о выделенной лексеме заносится в таблицу лексем, и алгоритм возвращается к первому этапу; 4. При неуспешном распознавании лексемы, она помещается в поле ошибочных лексем, и делается попытка распознать следующую лексему (идет возврат к первому этапу алгоритма). Работа лексера продолжается до тех пор, пока не будут просмотрены все символы программы на исходном языке из входного потока. Лексический анализатор разработан для обработки реальных текстов, содержащих различные грамматические ошибки и опечатки. Поэтому кроме пассивного распознавания слов в исходной цепочке лексер может также активно модифицировать исходную цепочку, сливая и расщепляя лексемы, а также добавляя новые. Кроме определения границ лексем, данный анализатор также выполняет предварительное распознавание морфологических атрибутов слов, превращая лексемы в токены. Существует несколько причин, почему разделяют лексический и синтаксический анализаторы: 1. Существенное упрощение разработки. Например, включить в синтаксический анализатор комментариев и пробелов намного сложнее, чем удалить их лексером. 2. Увеличение эффективности компилятора. Отдельный лексический анализатор позволяет создать специализированный и потенциально более эффективный процессор для решения поставленной задачи. Поскольку на чтение исходного кода программы и его разбор на токены тратится много времени, 290
Секция 3. «Инженерия программного обеспечения»
3.
специализированные технологии обработки токенов могут существенно повысить производительность компилятора. Увеличивается переносимость компилятора. Особенности входного алфавита и другие характеристики используемых устройств могут ограничивать возможности лексера.
Основной принцип работы синтаксического анализатора Синтаксический разбор в широком смысле – процесс сопоставления линейной последовательности лексем (токенов) естественного или формального языка с его формальной грамматикой [2]. В ходе синтаксического анализа полученные на этапе лексического разбора токены преобразуются в структуру данных, обычно – в дерево, которое является отражением синтаксической структуры входной последовательности (рис. 2).
Рисунок 2 – Место синтаксического разбора в модели компилятора В большинстве случаев результатом работы парсера является абстрактное синтаксическое дерево или же дерево разбора (рис. 3).
Рисунок 2 – Построение на основе списка токенов АСД Абстрактное синтаксическое дерево – конечное помеченное, ориентированное дерево, в котором внутренние вершины сопоставлены с операторами языка программирования, а листья с соответствующими операндами [3]. Дерево разбора – отражает синтаксис конструкций входного языка и явно содержит в себе полную взаимосвязь операций. Абстрактное синтаксическое дерево отличается от дерева разбора тем, что в нём отсутствуют узлы и рёбра для тех синтаксических правил, которые не влияют на семантику программы. Классическим примером такого 291
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
отсутствия являются группирующие скобки, так как в АСД группировка операндов явно задаётся структурой дерева. Для языка, который описывается КС-грамматикой, какими являются почти все языки программирования, создание абстрактного дерева в синтаксическом анализаторе является тривиальной задачей. Большинство правил в грамматике создают новую вершину, а символы в правиле становятся рёбрами. Правила, которые ничего не привносят в АСД (например, группирующие правила), просто заменяются в вершине одним из своих символов. Кроме того, анализатор может создать полное дерево разбора и затем пройти по нему, удаляя узлы и рёбра, которые не используются в абстрактном синтаксисе, для получения АСД [4]. Существует несколько алгоритмов синтаксического разбора: Нисходящий парсер (англ. top-down parser) – правила грамматики раскрываются, начиная со стартового символа до получения требуемой последовательности токенов. LL-анализатор - буквы L означают, что входная строка анализируется слева направо (left to right), и при этом строится её левосторонний вывод (leftmost derivation). Восходящий анализатор (англ. bottom-up parser) – продукции восстанавливаются из правых частей, начиная с токенов-лексем и кончая стартовым символом. LR-анализатор – читает входной поток слева направо и производит наиболее правую продукцию КС- грамматики. GLR-анализатор – расширенный алгоритм LR-парсера, предназначенный для разбора по недетерминированным грамматикам. Обрабатывает все возможные трактовки входной последовательности, используя поиск в ширину. Проблема использования существующих генераторов синтаксических и лексических анализаторов Lex – программа для генерации лексических анализаторов, обычно используемая совместно с генератором синтаксических анализаторов YACC (Yet Another Compiler Compiler), который генерирует парсер на основе аналитической грамматики, описанной в нотации BNF (форма Бэкуса-Наура) или КС-грамматики. Lex читает входной поток, описывающий лексический анализатор, и даёт на выходе исходный код на языке программирования Cи. GNU Bison — программа, предназначенная для автоматического создания синтаксических анализаторов по данному описанию грамматики. Обычно используется в комплексе с лексическим анализатором flex. Основной проблемой, стоящей на пути к использованию вышеперечисленных анализаторов, является сложность в их использовании. В любом случае разработчику нового ЯП необходимо описывать правила грамматики, что может занять, в зависимости от количества языковых структур, и несколько тысяч строк кода. Последующие внесения изменений в 292
Секция 3. «Инженерия программного обеспечения»
грамматику существенно затрудняется, появляются новые зависимости в коде, что в конечном счете увеличивает время на достижение главной цели – написание нового ЯП. Возможным способом решения данной проблемы можно считать разработку нового программного продукта, включающего в себя интуитивно понятный интерфейс для разработчика и возможность создания грамматики с минимальным количеством написанного программного кода. Выводы В данной статье были описаны основные этапы работы и создания лексера и парсера, выявлены причины их использования и место в работе компилятора. Также был проведен краткий обзор на разработанные генераторы синтаксических или лексических анализаторов, сформулированы основные проблемы, возникающие при их использовании. Предложены возможные решения по устранению неудобств в использовании и внедрении анализаторов при разработке нового ЯП. Литература 1. Ахо А.В., Сети Р. Ульман Дж.Д. Компиляторы: Принципы, технологии и инструменты: Пер с англ. – М.: Издательский дом «Вильямс», 2003. – 768с. 2. Ахо А.В., Дж. Ульман. Теория синтаксического анализа, перевода и компиляции. Т. 1: Пер. с англ. – В.Н. Агафонова под ред. В. М. Курочкина. М.: Мир, 1978. – 614 с. 3. Онлайн-документация eli-project [Электронный ресурс]/ Режим доступа: https://web.archive.org/web/20070913222016/http://eliproject.sourceforge.net/elionline4.4/idem_2.html. Статья 4. https://dl.acm.org/citation.cfm?doid=1083142.1083143 «Исследование эволюции кода с использованием сравнения абстрактных синтаксических деревьев» Ю. Нямтиу, Дж. Фостера и М. Хикса, 2005. Косенко Ю.А., Григорьев А.В. Анализ систем синтаксического и лексического разбора программного кода. В статье описаны ключевые моменты этапов лексического и синтаксического анализа программного кода. Затронуты проблемы использования готовых решений для генерации лексеров и парсеров и их возможные пути решения. Ключевые слова: синтаксический анализ, лексический анализ, синтаксическое дерево, лексема, токен, КС-грамматика. Kosenko Y.A., Grigoriev A.V. Analysis of syntactic and lexical parsing systems for program code. The article describes the key points of stageslexical and syntactic analysis for program code. The problems of using ready-made solutions for generating lexers and parsers and their possible solutions are raised. Keywords: parsing, lexical analysis, AST, lexeme, token, context-free grammar. 293
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
УДК 004.896
АНАЛИЗ НАЗНАЧЕНИЯ, СТРУКТУРЫ И ИНСТРУМЕНТОВ ПОСТРОЕНИЯ ШАБЛОНОВ В СОВРЕМЕННЫХ CMS СИСТЕМАХ Кутелёв Р.С., Григорьев А.В. ГОУ ВПО «Донецкий национальный технический университет (г.Донецк) e-mail: rokut98@gmail.com, grigorievalvl@gmail.com Кутелёв Р.С., Григорьев А.В. Анализ назначения, структуры и инструментов построения шаблонов в современных CMS системах. В статье рассмотрены современные CMS. Выполнен анализ назначения и методов построения шаблонов. Рассмотрены программы для работы с шаблонами. Ключевые слова: CMS, сайт, шаблон, база знаний, структура.
Введение Современные сайты ушли далеко вперед по сравнению с более простыми собратьями из прошлого десятилетия. Полноценный сайт с серьезным набором возможностей проблематично написать «с нуля», поэтому программистам во многом помогает CMS, более известная как движок. CMS — это система управления контентом, набор скриптов для создания, редактирования и управления контентом сайта. Примерами CMS являются WordPress, Joomla, PrestaShop. Актуальность исследования шаблонов систем управления сайтом обусловлена необходимостью автоматизировать процесс работы с сайтом, создания и настройки сайта. Цель исследования - анализ механизмов построения шаблонов и выявления перспектив развития интеллектуальных систем для создания шаблонов. Обзор самых популярных CMS Существует множество различных CMS: WordPress, Joomla, 1C Битрикс, Drupal, OpenCart, MODX , Magento, ImageCMS, TYPO3, Made Simple, Concrete5 . Рассмотрим самые популярные из них. WordPress - самая популярная и одна из самых мощных CMS в мире. Система обычно используется для создания блогов и информационных порталов, но с помощью плагинов на нём можно построить хоть интернетмагазин [1]. Joomla - вторая по популярности CMS. Универсальная система, функциональность которой расширяется с помощью плагинов. Это позволяет использовать ее для создания самых разных сайтов: от простых визиток до 294
Секция 3. «Инженерия программного обеспечения»
больших информационных ресурсов с миллионной посещаемостью [2]. Drupal - Мощный инструмент, ориентированный на разработчиков и позволяющий создавать сложные сайты [3]. Таблица 1. Сравнение популярных CMS Drupal
Joomla
Примеры сайтов, работающих на CMS
Film.ru, dru.io, sbis.ru, nsportal.ru
Joomla.org, Rockettheme.com, ITWire.com, Thaindian.com
Установка
Форум Drupal.ru
Простота использования
Особенности
Плагины для кэширова ния
Оптимальные сценарии использования
Drupal наиболее требователен к технической осведомленности пользователя, что окупается самыми широкими возможностями при создании сайтов.
Система известна своей мощной таксономией и возможностями по разметке, категоризации и организации сложного контента
Pressflow — готовая сборка Drupal, доступная для загрузки. Включает в себя несколько предустановленных улучшений, в том числе нацеленных на улучшение производительности сайта Комплексные продвинутые сайты, требующие сложной организации данных. Платформы для больших сообществ, онлайнмагазины
WordPress Sonymusic.com, Mercedesbenz.com, Blog.us.playstation. com, Thewaltdisneycompany.com, Techcrunch.comLifehacker.ru
Открытая база знаний Joomla
С чего начать — ru.wordpress.org
Проще Drupal, сложнее WordPress. Относительно простая установка и настройка в совокупности с нетребовательностью к затратам времени на понимание структуры и терминологии дают возможность самостоятельно построить весьма сложный сайт
Технические знания в данном случае совсем не обязательны. WordPress простая и интуитивная. С ее помощью можно чрезвычайно быстро создать простой сайт. Также WordPress привлекает возможностью без труда переносить текст из текстовых документов на сайт, чем не могут похвастать Drupal и Joomla
Система разрабатывалась в качестве платформы для сообществ с акцентом на социальные функции
Простота является ключевым преимуществом. Многообразие в сочетании с обилием инструкций и простотой управления делают WordPress идеальной для технически не подготовленных пользователей
JotCache позволит оптимизировать выдачу поисковых запросов по сайту, а также дает возможность указать контент, который будет кэшироваться, и исключить из кэша ненужное.
WP Super Cache — плагин, оптимизирующий производительность сайта путем генерации статичных HTML-файлов из получаемого из баз данных контента
Сайты с достаточно гибкой структурой, создание которой было бы проблематично из-за ограничений WordPress. Электронная коммерция, социальные площадки
Блоги, новостные сайты и другие форматы, требующие наличия возможности быстро и легко добавлять контент. При необходимости недостающая функциональность добавляется с помощью аддонов
295
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Обзор инструментальных средств CMS Рассмотрим структура современных CMS на примере Joomla (рис. 1).
Рисунок 1 – Структура CMS Joomla [4] Joomla состоит из 3 основных уровней: Верхний, Уровень расширений: Модули - динамические информационные блоки на сайте Компоненты - основная логика, например, списки новостей Шаблоны - отвечают за внешний вид и дизайн сайта Средний, уровень Приложения. Основа этого уровня - абстрактный класс "JApplication", который расширяется за счет четырех основных классов: JInstallation - отвечает за установку и удаление сторонних расширений. JAdministrator отвечает за действия администратора. JSite несет ответственность за пользовательскую часть веб-сайта. XML-RPC дает поддержку удаленного администрирования вебсайта Joomla. Последний, уровень ядра - это не что иное как каркас нашей CMS: Framework с набором внутренних классов (иногда эту часть называют ядром. Библиотеки - написаны сторонними разработчиками, требуются для нормальной работы расширений и самого ядра Joomla Плагины - расширяют стандартные возможности ядра Joomla. Структура шаблонов существующих CMS Структуру современных шаблонов рассмотрим на примере Joomla и Drupal. Все шаблоны CMS Joomla используют типовую структуру каталогов и файлов, однако она может несколько варьироваться от шаблона к шаблону. 296
Секция 3. «Инженерия программного обеспечения»
Типичный шаблон CMS Joomla должен включать следующие каталоги: css - содержит все .css–файлы; html — содержит файлы шаблонов для вывода ядра; images — содержит все изображения, используемые шаблоном; languages — содержит дополнительные языковые файлы, используемые шаблоном. В зависимости от сложности и дизайна, в каталоге шаблона может лежать папка: javascript, которая содержит поддерживающий JavaScript, используемый шаблоном для добавления ему функциональности. Пример структуры с файлами представлен на рис. 2.
Рисунок 2 – Структура шаблона Joomla
Рисунок 3 – Структура шаблона Drupal На рис. 3 представлена структура, где чётко можно увидеть зависимость элементов шаблона. Следует понимать, что Drupal в первую очередь ищет шаблоны в самой теме. И, если находит, подключает его по умолчанию. По умолчанию все шаблоны находятся в ядре cms, в папке modules. Файл с описанием темы ( .info) - это файл описывающий имя темы, которое будет видно при работе с сайтом, а так же имя файла, которое будет использоваться для вызова функций темы. Файлы шаблонов (. tpl.php) – эти шаблоны используются для (X)HTML разметки и вывода PHP переменных. template.php - данный файл используется как площадка для написания 297
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
php кода. Остальные файлы - обычно в теме присутствуют логотип, скриншот и иконки. Рассмотрим пример создания шаблона на примере Joomla. Для создания шаблона необходимо создать следующие папки и файлы: css — директория со стилями шаблона. template.css — файл внутри каталога css, который будет содержать каскадные таблицы стилей. В больших шаблонах файлов *.css в папке гораздо больше. index.php — собственно, сам шаблон. templateDetails.xml — наиважнейший и обязательный файл, он содержит описание темы оформления. Такова минимальная комплектация темы, папка с вашим шаблоном должна содержать всё перечисленное. Разметка файла templateDetails.xml представлена на рис. 4.
Рисунок 4 – Разметка файла templateDetails.xml Код файла index.php представлен на рис. 5.
Рисунок 5 – Код файла index.php 298
Секция 3. «Инженерия программного обеспечения»
Обзор программ для работы с шаблонами Themler это новая программа для веб-дизайна, создания шаблонов для популярных CMS или статичных HTML сайтов от разработчиков программы Artisteer. Программа является самостоятельным продуктом, и не связана функционально с Artisteer [5]. Themler имеет несколько версий, главное отличие которых, возможность создавать шаблоны для разного количества CMS. Есть версии Themler в которых доступно создание шаблонов для некоторых популярных магазинных движков. Интерфейс Themler дружественен и интуитивно понятен. Однако по сравнению со своим предшественником эта программа несколько сложнее, так как имеет гораздо больше возможностей. Программа предоставляет графический режим взаимодействия, что одновременно является достоинством и недостаткам. Они автоматически генерируют весь исходный код, который может требовать дальнейшей доработки. Заключение В данном работе был проведено исследование шаблонов наиболее популярных CMS. Ярким представителем программ для работы с шаблонами является Themler. Следующим шагом развития данной программы могла бы стать система для создания интеллектуального паттерна разработка шаблонов. Данная система могла бы иметь базу знаний для шаблонов. Это позволило бы более гибко настраивать выбранные шаблоны. Позволило бы облегчить создание новых шаблонов, снизить требования для конечного пользователя. Например, пользователь выбирает определенный тип заголовка для страницы. Система строит дерево решений, выводит подходящие результаты, но указывает, что к данному типу заголовка наиболее подходит такой тип оформления, структура и т.д. Далее пользователь хочет создать основной текст страницы. Система снова строит дерево решений и выбирает наиболее подходящую структура и оформление с учетом предыдущего выбора. Такая система позволила бы облегчить создание новых шаблонов, снизить требования для конечного пользователя. В перспективе возможна доработка плагина для существующей системы CMS с применением базы знаний, дерева шаблонов. Литература 1. Работа с WordPress, 2019. [Электронный ресурс]. URL:https://wihyxek.kerubazin.ru.net › 1065598197-rabota-s-wordpress/ (дата обращения: 20.11.2019). - Назв. с экрана. 299
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
2. Обзор CMS Joomla. 2019. [Электронный ресурс]. URL: https:// https://uguide.ru/obzor-i-otzyvy-cms-joomla. Joomla/ (дата обращения: 15.11.2019). - Назв. с экрана. 3. Темизация CMS Drupal. 2019. [Электронный ресурс]. URL: https:// https:// http://drupalace.ru/lesson/temizatsiya-drupal-7-obzor-failov-temyshablona. Drupal/ (дата обращения: 17.11.2019). - Назв. с экрана. 4. Структура CMS Joomla. 2019. [Электронный ресурс]. URL: https:// https://joomla3-x.ru/shablony/joomla-shablon-struktura-katalogi-fajly-format. Joomla/ (дата обращения: 15.11.2019). - Назв. с экрана. 5. Themler. 2019. [Электронный ресурс]. URL: https:// artisteerrus.com/artisteer-i-themler/themler-obzor-programmy/ Drupal/ (дата обращения: 17.11.2019). - Назв. с экрана. Кутелёв Р.С., Григорьев А.В. Анализ назначения, структуры и инструментов построения шаблонов в современных CMS системах. В статье рассмотрены современные CMS. Выполнен анализ назначения и методов построения шаблонов. Рассмотрены программы для работы с шаблонами. Ключевые слова: CMS, сайт, шаблон, база знаний, структура. Kutelev R.S., Grigoryev A.V. Analysis of the purpose, structure and tools for building templates in modern CMS systems. The article discusses modern CMS. An analysis of the purpose and methods of constructing templates is performed. The programs for working with templates are considered. Keywords: CMS, site, template, knowledge base, structure.
300
Секция 3. «Инженерия программного обеспечения»
УДК 004.896
РАЗРАБОТКА СИСТЕМЫ УПРАВЛЕНИЯ КОНТЕНТОМ (CMS) Манойло В.Е., Григорьев А.В. ГОУ ВПО «Донецкий национальный технический университет (г.Донецк) e-mail: lusful.cat@gmail.com, grigorievalvl@gmail.com Манойло В.Е., Григорьев А.В. Разработка системы управления контентом. В статье описаны ключевые моменты по созданию систем управления контентом. Выполнен обзор существующих, популярных систем управления контентом. Проанализированы проблемы, возникающие при разработке систем управления контентом, а так же проблемы, возникающие при эксплуатации данных систем. Ключевые слова: система управления контентом, CMS, веб-приложение, вебресурс, сайт.
Введение Системы управления контентом (англ. Content Management System – CMS) – специализированные инструментальные средства, набор скриптов предназначенные для редактирования и управления контентом сайта, а так же для облегчения деятельности разработчиков, администраторов и владельцев различных веб приложений. Основная цель CMS - возможность пользователям, не обладающим навыками разработки сайтов и знаниями языков программирования, самостоятельно работать над созданием и изменением сайта без привлечения технических специалистов. Однако для организации эффективной эксплуатации требуется освоить принципы ее функционирования и детально изучить руководство по применению. Основные функции CMS: − предоставление инструментов для создания содержимого, организация совместной работы над содержимым; − управление содержимым: хранение, контроль версий, соблюдение режима доступа, управление потоком документов и т.п.; − публикация содержимого; − представление информации в виде, удобном для навигации и поиска. Существующие CMS, применяемые в веб разработке, обладают рядом существенных недостатков, которые могут привести к тому что пользователь не получить необходимый ему продукт, либо результирующий продукт будет требовать обращения к специалисту в сфере веб разработки. Индивидуально разработанная CMS призвана вывести разработку веб приложений на новый уровень и обеспечить всеми необходимыми инструментами для быстрого создания и управления веб ресурсом.
301
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Актуальность обусловлена практической потребностью, а так же популярностью использования веб приложений и потребностью управления приложением людьми без специальных знаний в сфере веб разработки. А так же применением веб технологий во всех сферах деятельности человека. Цель – определение основных аспектов при использовании CMS. Для достижения поставленной цели необходимо выполнить следующие исследовательские задачи: описать основные принципы работы CMS; проанализировать функциональные возможности CMS; выявить основные проблемы при создании веб приложений и их сопровождения, а также определить пути их решения. Принцип работы Суть работы CMS заключена в схеме разделения содержимого сайта и его дизайна. Пользователю предоставляется возможность выбрать шаблон — заготовку, которой заранее определено оформление страницы, и остается только заполнить его нужной информацией. Большинство систем управления содержимым основывается на использовании визуального редактора (WYSIWYG — от англ. What You See Is What You Get — «что видишь, то и получишь») — программы, позволяющей посредством интуитивно понятного интерфейса добавлять или изменять информацию на сайте. Стоит отметить, что сайт не состоит из совокупности страниц как таковой, а формируется динамически. Добавленный контент сохраняется в базе данных, например, MySQL, и используется при генерации странички после получения соответствующего запроса со стороны клиента [1]. Практическое применение Как правило, CMS используются для таких сайтов: блог, форум (WordPress, phpBB, vBulletin); интернет-магазин (Magento, OpenCart, osCommerce); социальные сети (InstantCMS, Social Engine); персональные сайты (WordPress, Monstra); корпоративные сайты (Joomla, Drupal); порталы (DLE, Drupal). Тем не менее, большинство CMS гибко настраиваемы и могут быть использованы для разработки сайтов различной направленности. Например, наиболее популярным и универсальным вариантом является WordPress, на котором возможно создать практически любой проект: от личного сайта до крупного портала или интернет-магазина.
302
Секция 3. «Инженерия программного обеспечения»
Рисунок 1 – Общий рейтинг CMS[4]. Анализ функциональных возможностей систем управления контентом 1. WordPress На сегодня это самая популярная система управления контентом в мире (см. рис. 2). WordPress лежит в основе более 30% сайтов по всему миру, и эта цифра постоянно растёт (см. рис. 1)! Обобщая, система управления контентом – это веб приложение, которое позволяет владельцам сайтов, редакторам, авторам управлять их сайтами и публиковать контент безо всяких знаний программирования.
Рисунок 2 – WordPress 303
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Есть множество способов использования движка. С помощью CMS WordPress можно создавать сайты-портфолио, всевозможные каталоги сайтов и статей, доски объявлений, сайты вакансий, персональные страницы, галереи, интернет-магазины, целые порталы, корпоративные сайты, сайты хостинг-провайдеров, онлайн справочники, социальные сети, стартапы, музыкальные сайты, базы знаний, сайты для размещения обзоров, новостные ленты и т.д. Как все это можно реализовать на одном движке? Функциональные возможности любого движка можно расширить путем использования плагинов (см. рис. 3). Плагин — чаще всего небольшой по объемам скрипт, который расширяет и улучшает функциональные возможности основного движка. Поскольку WordPress очень популярный движок, то и плагинов для него уже создано очень много [2].
Рисунок 3 – WordPress плагины Преимущества: 1) Бесплатная CMS с открытым кодом; 2) Имеет весьма обширный ассортимент шаблонов; 3) Быстрая и простая инсталляция; 4) Имеет понятную и простую административную панель; 5) Можно скачать дополнения и расширения (плагины); 6) Доступна возможность изменять код шаблона. Недостатки: 1) Ощутимая на сервер нагрузка. CMS WordPress, а именно масса дополнений, устанавливаемых к нему, существенно нагружают сервер, где размещен сайт; 2) Иногда низкая скорость для загрузки веб-ресурса; 3) Небольшой набор базовых возможностей; 4) Дублирование изображений и страниц. Еще один недостаток WordPress — автоматическая генерация дублей страниц, что отрицательно влияет на продвижение сайта; 304
Секция 3. «Инженерия программного обеспечения»
5) Огромное количество некачественно сделанных тем и расширений с ошибками; 6) Предвзятое отношение поисковых систем к сайту на бесплатном движке [3]. Проблематика использования CMS После анализа возможностей и технологий существующих систем управления контентом было выявлено ряд проблем. 1. Безопасность сайта Поскольку CMS очень популярны, их внутреннюю архитектуру знают все. Это значит, что любой человек знает и видит как сделан ваш сайт. Ежедневно в интернете появляется куча статей, как взломать Joomla или Wordpress, причём для того, чтобы взломать сайт, не обязательно владеть знаниями в области безопасности веб ресурсов. 2. Сложная внутренняя структура CMS Несмотря на то, что ассортимент плагинов и расширений к популярным CMS очень велик, всегда можно найти то, чего нам предложить не смогут. И вот когда возникает какая-нибудь нетипичная задача, требующая специализированной работы (например, создать менеджер задач для цели, как на этом сайте), то вы просто зайдёте в тупик. И получается, что вы очень жёстко ограничены в своих возможностях. Как следствие - сделать можно много, но не абсолютно всё. 3. Однотипность сайтов Сделать веб-сайт на CMS в точности таким, каким вы представляете в мечтах, будет довольно сложно. Да, разные системы имеют разную степень гибкости, но абсолютно каждой присуща некоторая «шаблонность», а также свои «детские болезни». 4. Медленная загрузка CMS хранит все ресурсы отдельно, сопоставляя их на лету при обращении веб-клиента к определенной странице. Это означает медленную загрузку. Индивидуальные CMS, как решение недостатков использования CMS Существуют также CMS, разработанные на заказ под конкретный проект, как следствие, их функционал не настолько широк, чем у массовых систем, но максимально соответствует поставленным задачам и не содержит лишних инструментов. На индивидуальных CMS создаются сложные и масштабные сайты со специфическими особенностями [1]. Преимущества: CMS более стабильна и менее уязвима; адаптирована под потребности проекта; меньше нагружает сервер, т.к. не перегружена излишними функциями. 305
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Недостатки: расширение функционала или решение технических трудностей потребует обращения к разработчику; предоставляется на платной основе, зачастую дороже, чем приобретение лицензии на одну из массовых CMS. Выводы В статье описаны ключевые моменты по созданию и использованию систем управления контентом. Выполнен обзор существующих, популярных систем управления контентом. Проанализированы проблемы, возникающие при разработке систем управления контентом, а так же проблемы, возникающие при эксплуатации данных систем. Предложены решения проблем использования существующих CMS. Литература 1. Что такое CMS, 2017. [Электронный ресурс]. URL: https://hostiq.ua/wiki/cms/ (дата обращения: 5.11.2019) – Загл. с экрана. 2. Плюсы и минусы CMS движков, Владимир Валах. [Электронный ресурс]. URL: https://iq-project.ru/info/pros-and-cons-of-cms (дата обращения: 3.11.2019) – Загл. с экрана. 3. Преимущества и недостатки сайта на CMS. 2017. [Электронный ресурс]. URL: https://sdvv.ru/articles/testovyy-razdel/preimushchestva-inedostatki-sayta-na-cms/ (дата обращения: 7.11.2019) – Загл. с экрана. 4. Рейтинг CMS за 2019 год. [Электронный ресурс]. URL: https://itrack.ru/research/cmsrate/ (дата обращения: 7.11.2019) – Загл. с экрана. Манойло В.Е., Григорьев А.В. Разработка системы управления контентом. В статье описаны ключевые моменты по созданию систем управления контентом. Выполнен обзор существующих, популярных систем управления контентом. Проанализированы проблемы, возникающие при разработке систем управления контентом, а так же проблемы, возникающие при эксплуатации данных систем. Ключевые слова: система управления контентом, CMS, веб-приложение, вебресурс, сайт. Manoilo V.E., Grigoriev A.V. Development of a content management system. The article describes key points in the development of content management systems. Review existing, popular content management systems. The problems that arise during the development of content management systems, as well as the problems that arise during the operation with these systems, are analyzed. Keywords: content management system, CMS, web application, web resource, site.
306
Секция 3. «Инженерия программного обеспечения»
УДК 004.512.4
АНАЛИЗ ПУТЕЙ РАЗРАБОТКИ И ПЕРСПЕКТИВА РАЗВИТИЯ СИСТЕМЫ АВТОМАТИЧЕСКОГО ПОЛУЧЕНИЯ ДАННЫХ О ЗДОРОВЬЕ ЧЕЛОВЕКА ИЗ МЕДИЦИНСКИХ УЧРЕЖДЕНИЙ ДЛЯ МОБИЛЬНОГО ПРИЛОЖЕНИЯ ДЛЯ КОНТРОЛЯ ЗА ЗДОРОВЬЕМ Музычин В.Г., Григорьев А.В. ГОУ ВПО «Донецкий национальный технический университет (г.Донецк) e-mail: musical.vg@gmail.com, grigorievalvl@gmail.com Музычин В.Г., Григорьев А.В. Анализ путей разработки и перспектива развития системы автоматического получения данных о здоровье человека из медицинских учреждений для мобильных приложений для контроля за здоровьем. В данной статье описаны пути разработки системы автоматического получения данных о здоровье, возможные варианты синхронизации мобильного приложения для контроля за здоровьем с медицинскими учреждениями. Ключевые слова: Система автоматического получения данных о здоровье, синхронизация с мед. учреждениями, контроль состояния здоровья, мобильное приложение, прототипирование интерфейса, шифрование данных.
Введение В современных реалиях все большую популярность приобретает возможность человека следить за состоянием своего здоровья, используя технологические гаджеты [1]. Такие как: Фитнес-браслеты; Умные часы; Умные термометры; Мобильные тонометры; Мобильные глюкометры; Умные весы. Также появляются совершенно новые технологии для контроля за здоровьем и умные устройства. К ним относится и Withings Aura. Это одно из инновационных разработок, которое позволяет полностью контролировать свой цикл сна. Получать информацию о любых проблемах и возможных нарушениях. Все вышеперечисленные гаджеты позволяют максимально точно и удобно контролировать состояние здоровья человека. Однако у всех представленных устройств имеется одна общая проблема – их алгоритмы и вычисления [2] основаны на показателях здоровья средне статических людей. А значит люди, имеющие индивидуальные заболевания, к примеру, диабетики и сердечники, не могут в полной мере пользоваться данными гаджетами для полноценного контроля за своим состоянием здоровья. На данный момент уже были разработаны специализированные гаджеты и устройства [3], позволяющие людям с индивидуальными заболеваниями контролировать состояние своего здоровья. Однако эти устройства являются дорогостоящими и требуют определенных умений и навыков для работы с ними, что делает невозможным их использование в широких масштабах [4]. Т.о., актуальной является решение задачи создания новых мобильных приложений, способными оптимально решить данную проблему. 307
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Целью данной статьи является: - предложить способ современного решения данной проблемы; - описать процесс синхронизации данных между приложением и государственным медицинским учреждением; - выполнить разработку прототипа мобильного приложения, реализующего синхронизацию данных о здоровье человека с базами данных медицинских учреждений; - выполнить обзор перспектив развития системы автоматического получения данных о здоровье человека из медицинских учреждений для мобильного приложения для контроля за здоровьем. Предлагаемый способ современного решения данной проблемы Необходимо реализовать возможность передачи информации о нормальных показателях здоровья человека из базы данных государственного медицинского учреждения в мобильное приложение для контроля за здоровьем. Реализация этой возможности позволит мобильному приложению максимально точно адаптироваться под конкретного пользователя, а также позволит применить множество раннее не используемых полезных функций. В их число входит: Определение приложением дозы необходимого препарата, для нормализации состояния здоровья; В случае существенных отклонений показателей здоровья от нормы вызвать медицинские службы; Реализовать возможность обратной связи пользователя и его лечащего врача; Назначение врачом медицинских препаратов без необходимости приема пациента. Процесс синхронизации данных между приложением и государственным медицинским учреждением Для синхронизации мобильного приложения пользователя и базы данных мед. учреждения требуются паспортные данные человека, что позволит безошибочно установить личность пользователя и сопоставить данные пациента в базе данных мед. учреждения (см. рис. 1).
Рисунок 1 – Процесс получения данных из мед. учреждения 308
Секция 3. «Инженерия программного обеспечения»
Так как будет осуществляться передача и хранение информации, которая может быть использована в личных целях третьих лиц, существует необходимость реализовать полную конфиденциальность данных, путем их шифрования [5] во время передачи, на время хранения и использования. Для наиболее качественного обеспечения безопасности данных рекомендуется использовать следующие алгоритмы шифрования: SHA-512; SHA-384; SHA-512/256; SHA-512/224. Разработка прототипа мобильного синхронизацию данных о здоровье медицинских учреждений
приложения, реализующего человека с базами данных
Был разработан прототип приложения, обеспечивающий вышеописанные функции. Заполнение и передача информации будет выполнена в следующем виде (см. рис. 2, 3, 4, 5):
Рисунок 2 – Экран ввода паспортных данных 309
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Рисунок 3 – Экран выбора даты рождения
Рисунок 4 – Экран подтверждения отправки данных 310
Секция 3. «Инженерия программного обеспечения»
Рисунок 5 – Экран прогресса передачи данных После выполнения представленных действий информация, удостоверяющая личность человека передается в зашифрованном виде государственному медицинскому учреждению. Далее эти данные используются сотрудниками мед. учреждения для установления личности и затем они выполняют отправку информации о здоровье человека в приложение пользователя. Данные передаются также в зашифрованном виде. Следующим шагом будет анализ полученной информации мобильным приложением и адаптация всех алгоритмов его работы под текущего пользователя. Это позволит мобильному приложению для контроля за здоровьем оптимально использовать данные, полученные с датчиков всех подключенных умных устройств. Анализ и контроль за состоянием здоровья будет проводится с учетом всех индивидуальных особенностей текущего пользователя. Обзор перспектив развития системы автоматического получения данных о здоровье человека из медицинских учреждений для мобильного приложения для контроля за здоровьем Приоритетными задачами разработки системы автоматизированного получения данных о здоровье человека являются: 1) Облегчение контроля за своим здоровьем с помощью мобильного приложения для людей, имеющих индивидуальные заболевания. 2) Удаленное общение пациентов и их лечащих врачей. 3) Избежание экстренных ситуаций со здоровьем путем своевременного вызова медицинских служб. 311
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Выводы В данной статье проанализированы пути разработки системы автоматического получения данных о здоровье, возможные варианты синхронизации мобильного приложения для контроля за здоровьем с медицинскими учреждениям. Рассмотренная на примере система предлагает ряд функций, обеспечивающая быструю, эффективную работу. Пользователями данной системой могут являться все пользователи, которые обладают базовыми навыками работы с смартфоном. Разработан прототип [6] андроид-приложения синхронизации данных. Литература 1) Приложения для здоровья [Электронный ресурс] – Режим доступа: https://paperpaper.ru/apps-for-health – Загл. с экрана. 2) Архитектура андроид приложения [Электронный ресурс] – Режим доступа: https://habr.com/ru/post/456256/ – Загл. с экрана. 3) Рынок фитнес-приложений: Тенденции, перспективы и монетизация [Электронный ресурс] – Режим доступа: https://vc.ru/flood/13302-fitness-app – Загл. с экрана. 4) Рынок фитнес-приложений: изменения за четыре года [Электронный ресурс] – Режим доступа: https://apptractor.ru/info/analytics/fitness-apps.html – Загл. с экрана. 5) Google Fit [Электронный ресурс] – Режим доступа: https://www.google.ru/fit/ – Загл. с экрана. 6) Научная оценка 30 бесплатных фитнес-приложений [Электронный ресурс] – Режим доступа: https://zozhnik.ru/best_fitness_apps/ – Загл. с экрана. Музычин В.Г., Григорьев А.В. Анализ путей разработки и перспектива развития системы автоматического получения данных о здоровье человека из медицинских учреждений для мобильных приложений для контроля за здоровьем. учреждений для мобильных приложений для контроля за здоровьем. В данной статье описаны пути разработки системы автоматического получения данных о здоровье, возможные варианты синхронизации мобильного приложения для контроля за здоровьем с медицинскими учреждениями. Ключевые слова: Система автоматического получения данных о здоровье, синхронизация с мед. учреждениями, контроль состояния здоровья, мобильное приложение, прототипирование интерфейса, шифрование данных. Muzychin V.G., Grigoryev A.V. An analysis of development paths and the prospect of developing a system for automatically obtaining human health data from medical institutions for mobile health monitoring applications. This article describes ways to develop a system for automatically receiving health data, possible options for synchronizing a mobile application for monitoring health with medical institutions. Keywords: System for automatically receiving health data, synchronization with honey. institutions, health monitoring, mobile application, interface prototyping, data encryption. 312
Секция 3. «Инженерия программного обеспечения»
УДК 004.4'24
ОПИСАНИЕ МЕТОДОВ РЕДАКТИРОВАНИЯ ДОКУМЕНТА С ПОМОЩЬЮ ГРАФИЧЕСКИХ НАДСТРОЕК MICROSOFT VISIO Ржевский К.В., Григорьев А.В. ГОУ ВПО «Донецкий национальный технический университет (г.Донецк) e-mail: nory4ik4@mail.ru, grigorievalvl@gmail.com Ржевский К.В., Григорьев А.В. Описание методов редактирования документа с помощью графических надстроек Microsoft Visio. Статья посвящена вопросу создание интеллектуальных надстроек над визуальными ректорами типа Visio. В статье описан пример использования Visio для создания рабочих графических надстроек Microsoft Visio. Ключевые слова: Microsoft Visio, ActiveX, графические надстройки, библиотека типов.
Введение Microsoft Visio — векторный графический редактор, редактор диаграмм и блок-схем для Windows. Выпускается в трёх редакциях: Standard, Professional и Pro for Office 365. Аналогично с Adobe Reader, в стандартный набор программ MS Office входит только средство для просмотра и печати диаграмм Microsoft Visio Viewer. Полнофункциональная версия Microsoft Visio Professional для создания и редактирования монограмм и диаграмм в пакеты MS Office не входит и распространяется отдельно. Первоначально Visio разрабатывался и выпускался компанией Visio Corporation. Microsoft приобрела компанию в 2000 году, тогда продукт назывался Visio 2000, был выполнен ребрендинг и продукт был включён в состав Microsoft Office. Последняя версия продукта была выпущена в 2016-м году [1]. Microsoft Visio является инструментом для создания специализированных графических редакторов различного назначения. Пример базового инструмента Microsoft Visio, используемый для таких целей, это создание и пополнение библиотеки графических символов. Однако решение более сложных задач, например, задача построения на базе Microsoft Visio интеллектуального графического редактора, например, интеллектуального редактора принципиальных схем трубопроводов, требует привлечения более развитых инструментов адаптации. Решение задачи создания интеллектуальных надстроек над визуальными редакторами делает актуальным исследование возможности привлечения для расширения функционала Microsoft Visio таких сторонних инструментов, как: Visual studio, ActiveX, XML редактора и т.д. Общая постановка задачи: изучения возможности расширения функционала Microsoft Visio путём использования сторонних компонентов. 313
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Актуальность работы заключается в необходимости исследования создания технологии интеллектуальных надстроек над визуальными ректорами. Цель работы: исследование и анализ функциональных возможностей и путей расширения функционала программного обеспечения для работы с блок-схемами. Анализ стандартных путей расширение возможностей Microsoft Visio Функциональные возможности Microsoft Visio можно расширить следующими способами: Создание специальных макросов и надстроек Visio; Создание надстроек COM (компонентной объектной модели); Использование элемента управления документом Visio; Использование библиотеки типов Visio. Охарактеризуем названые инструменты детальнее. 1.1. Макросы и надстройки Макросы и надстройки — это программы, расширяющие функциональные возможности Visio. Именно то, как вы запускаете макрос или надстройку, зависит от контекста, для которого она была разработана. Если надстройка предназначена для запуска за пресбоями приложения Visio, ее следует выполнять как любую программу Microsoft Windows (например, дважды щелкнув значок на рабочем столе). Дополнительные сведения см. в документации по Windows. 1.2. Надстройки COM Начиная с Visio 2002, вы можете использовать надстройки COM одинаково стандартизированным способом, как и в других приложениях Microsoft Office. Надстройка COM должна быть зарегистрирована в приложении Visio и может работать в нескольких приложениях. Например, вы можете создать надстройку COM, которая выполняет одну и ту же задачу в Visio и Microsoft Excel, а также в любом приложении Microsoft Office. Вы можете создавать надстройки COM с помощью Microsoft Visual Basic 5,0 и более поздних версий, Microsoft C++, Microsoft Office 2000 Developer Edition и более поздних версий, а также любых приложений Microsoft Visual Studio .NET [2]. 1.3. Элемент управления документом Visio С помощью элемента управления документом Visio вы можете интегрировать поверхность рисования Visio в приложение. Элемент управления документом Visio — это элемент управления ActiveX, который предоставляет полный доступ к объектной модели Visio (API) и пользовательскому интерфейсу для интеграции пользовательского интерфейса Visio, настройки внешнего вида и автоматизации Visio в приложениях. Элемент управления документом Visio предоставляется вместе с Microsoft Visio 2013 и устанавливается при установке Visio [3]. 314
Секция 3. «Инженерия программного обеспечения»
1.4. Сведения о библиотеке типов Visio Продукты Visio включают библиотеку типов, определяющую объекты, свойства, методы, события и константы, которые Visio предоставляет клиентам автоматизации. Чтобы использовать библиотеку типов Visio, среда разработки должна ссылаться на нее. Проект Visual Basic для приложений (VBA) документа Visio автоматически ссылается на библиотеку типов Visio. В других средах разработки для ссылки на библиотеку необходимо выполнить соответствующие действия. Имена библиотек, на которые ссылаются проекты VBA, отображаются в списке проект/Библиотека в обозревателе объектов в редакторе Visual Basic. Библиотека типов полезна по следующим причинам: Сведения в библиотеке типов служат входными данными для браузеров объектов, предоставляемых VBA и другими средами разработки. Вы можете использовать браузеры объектов для просмотра описаний объектов, предоставляемых серверами автоматизации (например, приложением Visio), установленными в системе. Например, можно просмотреть синтаксис свойства, метода или события Visio и вставить код, отображаемый браузером, в программу. Библиотека типов позволяет средам разработки привязывать код программы к серверному коду автоматизации при компиляции (разработки), а не динамически во время выполнения. В результате программа часто работает быстрее. Например, можно использовать Visio. Page, Visio. Shape, Visio. Documentи т. д. вместо Object [4]. ActiveX Visio как инструмент расширения функционала Visio Drawing Control - это элемент управления ActiveX, который предоставляет полный доступ к объектной модели (API) Visio и пользовательскому интерфейсу, так что вы можете интегрировать пользовательский интерфейс Visio, настроить его внешний вид и автоматизировать Visio в своих приложениях. Visio Drawing Control поставляется с Microsoft Visio 2013 и устанавливается при установке Visio. Используя этот элемент управления, возможно встроить всю функциональность поверхности рисования Visio в свои приложения. Пользователь может воспользоваться преимуществами полной объектной модели Visio (API) и выбрать те аспекты пользовательского интерфейса Visio, которые хочет представить, чтобы лучше интегрировать Visio в пользовательский интерфейс приложения (см. рис. 1). Просмотр структуры исходного кода документа Visio 2013 представляет новый формат файлов (.vsdx) для Visio, который заменяет двоичный формат файлов Visio (.vsd) и формат файлов чертежей XML Visio (.vdx). Поскольку формат файла Visio 2013 основан на соглашениях об открытой упаковке и XML, разработчики, знакомые с этими 315
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
технологиями, могут быстро научиться программно работать с файлами Visio 2013. Разработчики, знакомые с форматом файлов чертежей XML Visio (.vdx) из предыдущих версий Visio, могут найти множество одинаковых структур XML в частях формата файлов .vsdx.
Рисунок 1 – Интерфейс приложения с компонентом ActiveX Visio Функциональная совместимость с файлами Visio значительно возросла, поскольку стороннее программное обеспечение может манипулировать файлами Visio на уровне форматов файлов. Формат файлов Visio 2013 поддерживается в службах Visio в Microsoft SharePoint Server 2013 без необходимости использования «промежуточного» формата файлов для публикации в SharePoint Server. Существует несколько типов файлов, которые составляют формат файла Visio 2013. Эти расширения включают в себя: a) .vsdx (рисунок Visio) b) .vsdm (Рисование с поддержкой макросов Visio) c) .vssx (Visio трафарет) d) .vssm (шаблон для макросов с поддержкой Visio) e) .vstx (шаблон Visio) f) .vstm (шаблон с поддержкой макросов Visio)
316
Секция 3. «Инженерия программного обеспечения»
Формат файла Visio 2013 использует Open Packing Conventions (OPC), который определяет структурированные средства для хранения данных приложения вместе со связанными ресурсами, используя некоторый контейнер, например, ZIP-файл. На базовом уровне файл Visio 2013 - это действительно ZIP-контейнер, содержащий файлы других типов. Фактически, возможно сохранить чертеж в Visio 2013 как файл .vsdx, переименовать расширение файла в «* .zip» в проводнике Windows, а затем открыть файл как папку, чтобы увидеть содержимое внутри. С помощью просмотра и редактирования исходного кода документа возможно наиболее точным образом находить и исправлять ошибки, добавлять объекты с помощью тегов и менять их параметры (см. рис. 2).
Рисунок 2 – Интерфейс структуры исходного кода документа XML редактор как инструмент расширения функционала XML (/ˌeks em ˈel/ англ. eXtensible Markup Language) — расширяемый язык разметки. Рекомендован Консорциумом Всемирной паутины (W3C). Спецификация XML описывает XML-документы и частично описывает поведение XML-процессоров (программ, читающих XML-документы и обеспечивающих доступ к их содержимому). XML разрабатывался как язык с простым формальным синтаксисом, удобный для создания и обработки документов программами и одновременно удобный для чтения и создания документов человеком, с подчёркиванием нацеленности на использование в Интернете. Язык называется расширяемым, поскольку он не фиксирует разметку, используемую в документах: разработчик волен создать разметку в соответствии с потребностями к конкретной области, будучи ограниченным лишь синтаксическими правилами языка. 317
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Расширение XML — это конкретная формальная грамматика, созданная на базе XML, и представленная словарём тегов и их атрибутов, а также набором правил, определяющих, какие атрибуты и элементы могут входить в состав других элементов. Сочетание простого формального синтаксиса, удобства для человека, расширяемости, а также базирование на кодировках Юникод для представления содержания документов привело к широкому использованию как собственно XML, так и множества производных специализированных языков на базе XML в самых разнообразных программных средствах (см. рис. 3) [7].
Рисунок 3 – Интерфейс XML редактора Параметрическое создание фигур Есть возможность добавлять фигуры в документ Microsoft Office Visio, извлекая образцы из набора элементов и помещая фигуры на активной странице (см. рис. 4).
Рисунок 4 – Интерфейс создания фигур 318
Секция 3. «Инженерия программного обеспечения»
Добавление фигур в документ Visio В активном документе извлеките образцы из коллекции Documents.Masters и поместите фигуры в активный документ. Можно извлечь образец, используя индекс или имя образца. В следующем примере кода создается пустой документ Visio, который затем открывается с прикрепленным набором элементов “Основные фигуры”. Затем код извлекает несколько фигур и помещает их на активной странице. Пример кода приведён ниже (см. рис. 5): this.Application.Documents.Add(""); Visio.Documents visioDocs = this.Application.Documents; Visio.Document visioStencil = visioDocs.OpenEx("Basic Shapes.vss", (short)Microsoft.Office.Interop.Visio.VisOpenSaveArgs.visOpenDock ed); Visio.Page visioPage = this.Application.ActivePage; Visio.Master visioRectMaster = visioStencil.Masters.get_ItemU(@"Rectangle"); Visio.Shape visioRectShape = visioPage.Drop(visioRectMaster, 4.25, 5.5); visioRectShape.Text = @"Rectangle text."; Visio.Master visioStarMaster = visioStencil.Masters.get_ItemU(@"5Point Star 7"); Visio.Shape visioStarShape = visioPage.Drop(visioStarMaster, 2.0, 5.5); visioStarShape.Text = @"Star text."; Visio.Master visioHexagonMaster = visioStencil.Masters.get_ItemU(@"Hexagon"); Visio.Shape visioHexagonShape = visioPage.Drop(visioHexagonMaster, 7.0, 5.5); visioHexagonShape.Text = @"Hexagon text."; Рисунок 5 – Код создания документа Visio с прикрепленным набором элементов “Основные фигуры” Заключение В предлагаемой работе получены следующие результаты: 1) выполнен анализ существующих систем для построения блок-схем на основе визуальных компонентов и библиотек Visio, а также платформы Microsoft Visio; 2) исследованы возможные технологии создания интеллектуальных надстроек над визуальными редакторами; 3) описан функциональный пример использования Visio для создания графических надстроек Microsoft Visio с использованием элемента управления документом Visio и библиотеки типов Visio. Как перспективу работы следует назвать расширение данного примера до уровня полноценной интеллектуальной надстройки над Microsoft Visio. 319
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Литература 1. Microsoft Visio [Электронный ресурс] // Википедия – Режим доступа: https://ru.wikipedia.org/wiki/Microsoft_Visio – Загл. с экрана. 2. XML [Электронный ресурс] // Хабр – Режим доступа: https://ru.wikipedia.org/wiki/XML – Загл. с экрана. 3. Microsoft Visio [Электронный ресурс] // Википедия – Режим доступа: https://ru.wikipedia.org/wiki/Microsoft_Visio – Загл. с экрана. 2. О расширении функциональных возможностей Visio [Электронный ресурс] // Хабр – Режим доступа: https://docs.microsoft.com/ruru/office/vba/visio/concepts/about-extending-the-functionality-of-visio – Загл. с экрана. 5. Сведения об элементе управления документом Visio [Электронный ресурс] // Docs Microsoft – Режим доступа: https://docs.microsoft.com/ruru/office/vba/visio/concepts/about-the-visio-drawing-control – Загл. с экрана. 6. Сведения о библиотеке типов Visio [Электронный ресурс] // Docs Microsoft – Режим Доступа: https://docs.microsoft.com/ruru/office/vba/visio/concepts/about-the-visio-type-library – Загл. с экрана. 7. О расширении функциональных возможностей Visio [Электронный ресурс] // Хабр – Режим доступа: https://docs.microsoft.com/ruru/office/vba/visio/concepts/about-extending-the-functionality-of-visio – Загл. с экрана. 8. Сведения об элементе управления документом Visio [Электронный ресурс] // Docs Microsoft – Режим доступа: https://docs.microsoft.com/ruru/office/vba/visio/concepts/about-the-visio-drawing-control – Загл. с экрана. 9. Сведения о библиотеке типов Visio [Электронный ресурс] // Docs Microsoft – Режим доступа: https://docs.microsoft.com/ruru/office/vba/visio/concepts/about-the-visio-type-library – Загл. с экрана. Ржевский К.В., Григорьев А.В. Описание методов редактирования документа с помощью графических надстроек Microsoft Visio. Статья посвящена вопросу создание интеллектуальных надстроек над визуальными ректорами типа Visio. В статье описан пример использования Visio для создания рабочих процессов. Ключевые слова: Microsoft Visio, ActiveX, графические надстройки, библиотека типов. Rzhevsky K.V., Grigoryev A.V. Description of document editing methods using graphic add-ons Microsoft Visio. The article is devoted to the issue of creating intelligent addons over Visio-type visual rectors. This article describes an example of using Visio to create workflows. Keywords: Microsoft Visio, ActiveX, graphic add-ons, type library.
320
Секция 3. «Инженерия программного обеспечения»
УДК 004.93’12
РАСПОЗНАВАНИЕ ЛИЦ ИЗ ВИДЕОПОТОКА С ПОМОЩЬЮ СВЁРТОЧНОЙ НЕЙРОННОЙ СЕТИ Ткачёв Н.М., Федяев О.И. ГОУ ВПО «Донецкий национальный технический университет» (г.Донецк) e-mail: m4dbrat@gmail.com, fedyaev@donntu.org Ткачёв Н.М., Федяев О.И. Распознавание лиц из видеопотока с помощью свёрточной нейронной сети. В статье рассмотрена задача распознавания лица человека на основе свёрточной нейронной сети. Процесс распознавания реализован в режиме реального времени. Локализация лиц на кадрах с видеокамеры выполнена методом Виола-Джонса. Cвёрточная нейронная сеть модели VGGFace формирует признаки лица человека. Идентификация личности происходит вычислением косинусного коэффициента сходства векторов признаков лиц. Программная версия системы реализована с использованием библиотек Keras и OpenCV. Ключевые слова: распознавание лиц, свёрточная нейронная сеть, видеопоток, видеоконтроль, локализация лиц на изображении
Введение Распознавание образов в настоящее время встречается во многих прикладных задачах. Наиболее актуальной и сложной является задача распознавания человека по его лицу. Необходимость в её решении возникает при создании систем контроля за людьми, систем безопасности и многих других компьютеризированных систем. Несмотря на достигнутые в последние годы успехи в реализации компьютерного зрения, по-прежнему есть ряд нерешённых проблем в этой области. Основные трудности компьютерного распознавания лиц, которые необходимо преодолеть, состоят в том, чтобы распознавать человека по изображению лица независимо от изменения ракурса и условий освещённости при съёмке, а также при различных изменениях, связанных с возрастом, причёской и т. д. [1]. В настоящее время большие перспективы в решении данных проблем связывают с применением глубоких нейронных сетей. К этому классу относится многослойная свёрточная нейронная сеть (Convolutional Neural Network) [1], которая является развитием идей таких архитектур нейронных сетей, как многослойные сети типа когнитрон и неокогнитрон [2]. В отличие от известных типов классических нейронных сетей архитектура свёрточной нейронной сети построена и функционирует на принципах зрительной системы человека. Такая архитектура позволяет ей выявлять все характерные особенности двумерной топологии изображения. На данный момент свёрточная нейронная сеть и её модификации считаются лучшими по точности и скорости распознавания объектов на изображении. Более того, распознавание лиц из видеопотока с камеры показывает, что нейронные сети 321
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
с такой архитектурой способны работать в режиме реального времени даже на устройствах с ограниченными ресурсами. В последнее время известными фирмами предложены мощные библиотеки, в которых реализованы различные модели глубоких нейронных сетей, позволяющие решать сложные задачи распознавания. Поэтому целью данной работы является оценка возможности реализации системы нейросетевого распознавания лиц из видеопотока на базе инструментальных средств библиотек Keras и OpenCV [3]. Схема процесса распознавания лиц на кадрах из видеопотока Процессу непосредственного распознавания лиц предшествует важный этап автоматической локализации лица на снимке, методы реализации которого сейчас активно развиваются [4]. Задача обнаружения лица на изображении является «первым шагом», т.е. предобработкой в процессе решения задачи «более высокого уровня» (например, узнавание лица или распознавание выражения лица). Однако и сама информация о присутствии и, возможно, количестве лиц на изображении или в видеопотоке может быть полезна для таких приложений, как охранные системы и содержательная индексация базы данных изображений или видеофрагментов.
Рисунок 1 – Основные процессы компьютерного распознавания лиц человека Блок обнаружения лиц принимает изображения с веб-камеры в режиме реального времени со скоростью 30 кадров в секунду, выделяет и локализует на них лица (рис.1). Эту функцию выполняет алгоритм детектирования лиц В результате формируется на текущем кадре видеопотока. последовательность изображений лиц, захватываемых видеокамерой, для последующего их распознавания. Каждое выделенное изображение лица передаётся в блок формирования вектора признаков, который реализует распознавательную функцию f : X → Y , где X - множество входных изображений лиц; Y множество векторов признаков для лиц из X. Таким образом, нейросетевая функция f каждому выделенному лицу ∈ ставит в соответствие вектор признаков ∈ , которыми характеризуется данное лицо. Для выработки признаков лица применялась свёрточная нейронная сеть, которая предварительно была обучена её создателями на примерах фотографий 2622-х человек (по 1000 фотографий на человека) [1,3]. Сеть настроена на классификацию распознаваемого лица, используя в качестве классов лица из обучающего множества. Поэтому результатом работы сети 322
Секция 3. «Инженерия программного обеспечения»
является 2622-мерный вектор, каждый элемент которого представляет собой вероятность сходства лица с одним из обучающего множества. Считается, что два изображения лица относятся к одному человеку, если они в одинаковой мере похожи на каждое лицо из обучающего множества. Для этого вектора признаков этих изображений в пространстве лиц из обучающего множества должны образовывать между собой достаточно острый угол. При настройке системы необходимо предварительно сформировать базу данных лиц для всех распознаваемых людей, представленных конечным множеством соответствующих фамилий L. С этой целью для ∀x с помощью нейросетевой распознавательной функции f определяется множество правильных пар , , ∈ , ∈ , где - множество подготовленных фотографий распознаваемых лиц, т.е. эталоны изображений распознаваемых лиц; y – вектор признаков изображения лица ∈ ; l - фамилия человека, фотография которого изображена на снимке x. Всё множество пар , заносится в базу данных векторов признаков лиц. В штатном режиме работы системы, т.е. при распознавании, в блоке сравнения вектор признаков распознаваемого лица, полученный с выхода свёрточной нейронной сети, сравнивается со всеми векторами базы данных. Процедура сравнения основывается на методе вычисления косинусного сходства вектора распознаваемого лица с каждым вектором-эталоном из базы данных по следующей формуле Сходство
∙ ‖ ‖∙‖ ‖
∑ ∑
∙
,
∙ ∑
где Y и – вектора признаков соответственно распознаваемого лица и лицаэталона из базы данных; n = 2622. Распознаваемое лицо считается соответствующим эталону, если полученный коэффициент сходства выше определённого значения (в работе использовалось значение 0,7). Алгоритм локализация лица на изображении Ввод видеопотока в систему распознавания осуществлялся с помощью функции VideoCapture из библиотеки OpenCV [5]. Для решения задачи автоматической локализации лиц на кадрах видеопотока были рассмотрены два алгоритма. Первый алгоритм основывался на цвете кожи человека, второй – на методе Виола-Джонса [4]. Поскольку первый алгоритм имел существенный недостаток из-за сильной зависимости от освещения, поэтому в работе локализация лиц выполнялась методом Виола-Джонса. К достоинствам данного метода можно отнести высокую степень правильной локализации лица, малое число ложных срабатываний, высокую скорость 323
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
работы. Он в меньшей степени чувствителен к освещённости. Точность выделения лиц на снимке по алгоритму Виола-Джонса в идеальных условиях достигает 90-95%, что вполне приемлемо для решения практических задач. Кадры из видеопотока обрабатываются каскадным классификатором Хаара, представленным функцией detectMultiScale класса CascadeClassifier. В результате метод Виола-Джонса определяет местоположение выделенного лица на снимке набором параметров, включающим координаты и размеры прямоугольной рамки, которой ограничивается изображение лица человека. Все изображения выделенных лиц нормируются к стандартному размеру 224х224 пикселей, каждый из которых представлен в виде трёх составляющих в формате RGB. Архитектура свёрточной нейронной сети Свёрточная нейронная сеть была предложена Яном Лекуном для эффективного распознавания различных объектов на изображении [6]. Её многослойная архитектура состоит из свёрточных слоёв (convolution layers) и субдискретизирующих слоёв (subsampling layers или pooling layers, слоёв подвыборки), которые чередуются друг с другом. В каждом слое имеется набор из нескольких плоскостей признаков. Причём нейроны одной плоскости имеют одинаковые веса, ведущие к соответствующим локальным участкам предыдущего слоя. Изображение предыдущего слоя как бы сканируется небольшим окном, т.е. пропускается сквозь набор весов (ядро свёртки), и результат сканирования отображается на соответствующем нейроне текущего слоя. Ядро свёртки интерпретируют как графическое кодирование какого-либо признака, например, наличие горизонтальной или вертикальной линии. Таким образом, набор плоскостей представляет собой карты признаков (feature map), что позволяет каждой плоскости находит «свои» участки изображения в любом месте предыдущего слоя. Операция подвыборки (объединения), выполняет уменьшение размерности сформированных карт признаков. В данной архитектуре сети считается, что информация о факте наличия искомого признака важнее точного знания его координат, поэтому из нескольких соседних нейронов карты признаков выбирается максимальный и принимается за один нейрон уплотнённой карты признаков меньшей размерности. За счёт данной операции, помимо ускорения дальнейших вычислений, сеть становится более инвариантной к масштабу входного изображения.
Рисунок 2 – Архитектура многослойной свёрточной нейронной сети модели VGGFace 324
Секция 3. «Инженерия программного обеспечения»
Чередование слоёв позволяет из предыдущих «карт признаков» составлять следующие «карты признаков», содержащие более общие характеристики, меньше зависящие от искажений изображения. На каждом следующем слое карта уменьшается в размере, но увеличивается их количество. На практике это означает способность распознавания сложных иерархий признаков. Обычно после прохождения нескольких слоёв карта признаков вырождается в вектор или даже скаляр, но таких карт признаков становится сотни. На выходе свёрточных слоёв сети дополнительно устанавливается многослойный персептрон. Обучается сеть стандартным методом обратного распространения ошибки. В качестве модели свёрточной нейронной сети в системе использовалась нейросеть VGGFace (рис.2). На её выходе формировались векторные идентификаторы (признаки) лиц.
Рисунок 3 – Результаты локализации и распознаания лиц Программная реализация системы распознавания Программный код системы построен на базе библиотеки Keras языка Python. Выбранные инструментальные средства разработки обеспечили высокую скорость прототипирования и платформонезависимость. Используемая модель свёрточной нейросети VGGFace разработана и обучена разработчиками Visual Geometry Group Оксфордского университета. На рис. 3 показан пример выделения и распознавания двух лиц. Слева показаны коэффициенты близости распознанных лиц к каждому из трёх эталонов базы данных. Распознанное лицо сверху отмечается названием эталона (в данном случае – фамилией). Если лицо не соответствует ни одному из эталонов, то оно помечается надписью «unknown». Выводы В статье предложен подход к решению задачи распознавания лица человека на основе свёрточной нейронной сети. Локализация лиц на кадрах с видеокамеры выполнена методом Виола-Джонса. Cвёрточная нейронная сеть формирует признаки лица человека. Идентификация личности происходит 325
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
вычислением косинусного коэффициента сходства векторов признаков лиц. Процесс распознавания реализован в режиме реального времени. Разработанная версия системы, использующая ресурсы библиотек Keras и OpenCV, может применяться для оперативного контроля за людьми по изображениям лиц из видеопотока. Литература 1. Гудфеллоу Я., Бенджио И., Курвилль А. Глубокое обучение / пер. с анг. А.А.Слинкина. – 2-е изд., испр. – М.: ДМК Пресс, 2018. – 652 с. 2. Федяев О.И., Махно Ю.С. Система распознавания зашумлённых и искажённых графических образов на основе нейронной сети типа неокогнитрон // Одиннадцатая национальная конференция по искусственному интеллекту с международным участием КИИ-2008: Труды конференции. Т. 3. – М.: ЛЕНАНД, 2008. – 464 с. 3. Антонио Джулли, Суджит Пал. Библиотека Keras – инструмент глубокого обучения. Реализация нейронных сетей с помощью библиотек Theano и TensorFlow / пер. с англ. Слинкин А.А. – М.: ДМК Пресс, 2018. – 294 c. 4. Paul Viola, Michael Jones. Rapid Object Detection using a Boosted Cascade of Simple Features, 2001. – P. 1-8. 5. OpenCV – библиотека компьютерного зрения с открытым исходным кодом [Электронный ресурс]. – Режим доступа: http://software.intel.com/enus/articles/ 6. Le Cunn Y, Bengio Y. Convolutional neural networks for Images, Speech and Time Series, AT&T Laboratories, 1995. – Р. 1 – 14. Ткачёв Н.М., Федяев О.И. Распознавание лиц из видеопотока с помощью свёрточной нейронной сети. В статье рассмотрена задача распознавания лица человека на основе свёрточной нейронной сети. Процесс распознавания реализован в режиме реального времени. Локализация лиц на кадрах с видеокамеры выполнена методом Виола-Джонса. Cвёрточная нейронная сеть модели VGGFace формирует признаки лица человека. Идентификация личности происходит вычислением косинусного коэффициента сходства векторов признаков лиц. Программная версия системы реализована с использованием библиотек Keras и OpenCV. Ключевые слова: распознавание лиц, свёрточная нейронная сеть, видеопоток, видеоконтроль, локализация лиц на изображении Tkachev N.M., Fedyayev O.I. Face recognition from a video stream using a convolutional neural network. The article presents a task of human face recognition using a convolutional neural network. The recognition process runs in real time. Face localization in video frames is done through Viola-Jones method. Facial features are analyzed by a convolutional neural net with VGGFace architecture. Person identification is done by calculating a cosine similarity of facial feature vectors. A version of a software system is implemented using Keras и OpenCV. Keywords: face recognition, convolutional neural network, video stream, video monitoring, face localization 326
Секция 3. «Инженерия программного обеспечения»
УДК 004.021
РЕШЕНИЕ ЗАДАЧИ ЛОГИСТИКИ ПОСТАВОК ПО НЕСКОЛЬКИМ ЦИКЛИЧЕСКИМ И РАДИАЛЬНЫМ МАРШРУТАМ С УЧЕТОМ ИСПОЛЬЗОВАНИЯ РАЗЛИЧНЫХ ВИДОВ ТРАНСПОРТА Хубеджев Д.П., Ситникова О.Д. ГОУ ВПО «Донецкий национальный технический университет (г.Донецк) e-mail: hubedjev.d.p@gmail.com, olga_d_s@mail.ru Хубеджев Д.П., Ситникова О.Д. Решение задачи логистики поставок по нескольким циклическим и радиальным маршрутам с учетом использования различных видов транспорта. В статье формализована задача поставок продукции из одного склада в сеть торговых точек с учетом возможностей транспортных средств с целью минимизации суммарной длинны всех маршрутов. Приведен алгоритм решения этой задачи, являющийся модификацией метода Кларка-Райта. Ключевые слова: логистика, задача развозки, метод Кларка-Райта, маршрут, грузоподъёмность, транспорт, оптимизация.
Введение Актуальность проблемы выражена в динамичном развитии розничной торговли, связанная с постоянно изменяющимися факторами внешней среды и обострением конкуренции. Товародвижение является достаточно сложной системой, динамически изменяющейся под влиянием внутренних и внешних факторов, имеющих диверсификационные взаимодействия. Таким образом, оптимизации и рационализации товародвижения не всегда достигают наивысших результатов, из-за сложности получения или переработки информации, способности к принятию решений. Преобразования логистических систем товародвижения розничных торговых предприятий в последние годы в значительной степени связаны с трансформацией отношений в контексте элементов логистической системы. Постановка задачи Имеется склад и список торговых точек. На базе склада находится некоторое количество единиц транспорта, которое обслуживает построенные маршруты. Грузоподъемность каждого вида транспортного средства и их количества известна. Каждая из торговых точек имеет свои запросы на товар. Запрос представлен в виде количества товара и желаемой даты получения. Известны все расстояния от склада до торговых точек и между ними. Необходимо распределить груз между транспортными средствами и найти маршруты поставки с целью минимизации общего суммарного расстояния. Следует учесть возможность наличия требования по
327
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
времени доставки товара, что особенно актуально при доставке продуктов питания. Нахождение вспомогательных значений Перед началом алгоритма нужно рассчитать предел количества маршрутов использующих транспорт с не минимальной грузоподъемностью. ∑
где
∗ , при 0; ∑ ∗ – количество требуемого товара на точку i; – грузоподъемность транспорта вида i; – количество транспорта вида i; – предел транспорта вида i в схеме.
Метод Кларка-Райта заключается в получении оптимальной схемы развозки, за счет нахождения маршрута, дающего наибольшее сокращение расстояния путем создания кольцевого маршрута. Для этого вводится понятие – километральный выигрыш. На рисунке 1 показаны две схемы доставки.
Рисунок 1 – Схемы доставки На схеме доставке A отображается доставка грузов по радиальным маршрутам в пункты 1 и 2, а на схеме B – по кольцевому маршруту в те же пункты. Схема B дает результат лучше, если точки не располагаются в противоположных концах. Километральным выигрышем называют величину, показывающую на сколько меньшее расстояние нужно будет преодолеть, строя маршрут по схеме B по сравнению с маршрутом, построенным по схеме A. Таким образом, его можно рассчитать по формуле: (2) 328
Секция 3. «Инженерия программного обеспечения»
В общем случае мы имеем такую формулу: (3) где
– километральный выигрыш; ,
– расстояние между пунктами i и j и складом соответственно;
– расстояние между пунктами i и j. По заданной формуле строится матрица километральных выигрышей. Описание алгоритма Шаг 1 – находим ячейку с максимальным значением на матрице километральных выигрышей: (4)
max Обозначим координаты точки в матрице, как
∗
и
∗
При поиске максимального элемента нужно учесть ряд условий: а) точки
∗
и
∗
не входят в состав одного и того же маршрута;
б) точка ∗ или ∗ является начальным или конечным пунктом, того маршрута, в который он войдет, а другая точка не используется в других маршрутах; в) точки ∗ и ∗ является начальным и конечным пунктом, тех маршрутов, которые они объединяют; г) ячейка с координатами ( ∗ , ∗ ) или ( ∗ , ∗ ) не использовались ранее. Если удалось найти такую ячейку, которая удовлетворяет четырем указанным условиям, то переход к следующему шагу. Если нет, то к шагу 4. Если точки новый.
∗
и
∗
не использовались в других маршрутах, то создать
Шаг 2 – проверить выполнения условия грузоподъемности на протяжении всего маршрута и выбрать транспорт, подходящий для маршрута: q
329
(5)
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
→ тр
1,
→ тр
1,
→ тр
если
если … 1, если
(6)
1, если тр – общее количества груза требуемого маршрутом;
где
q – количество требуемого товара на добавляемую точку; – максимальная грузоподъемность. При необходимости добавления временного лимита T для специфического груза, необходимо проверить, не превышает ли время, необходимое на маршрут, заданное ограничение: ∑
(7) ср
где
∑
– протяженность маршрута до точки в километрах; ср – средняя скорость выбранного транспорта по городу.
Если условие выполняется, то переход к шагу 3, если нет – к шагу 1. Шаг 3 – добавляем полученную точку в начало/конец маршрута и возвращаемся к шагу 1. При добавлении нового маршрута, транспорт добавляется в очередь с приоритетом, где первому в очереди необходимо минимальное количество времени для обслуживания выделенного ему маршрута. Если лимит использования транспорта достигает максимума, то для обслуживания следующего маршрута берется первый транспорт из очереди. При этом вся очередь пересчитывается с вычетом первого, который добавляется в очередь со временем, необходимым для обслуживания нового маршрута. Шаг 4 – рассчитываем суммарное расстояние, которое необходимо пройти для покрытия всех маршрутов. Используя данный алгоритм в реальной системе можно добиться уменьшения количества буферных складов и значительно уменьшить расходы на логистику. Алгоритм проверен на тестовых примерах, показывающих, что с данными изменениями вычислительная сложность алгоритма не увеличивается.
330
Секция 3. «Инженерия программного обеспечения»
Литература 1. Гери, М. Вычислительные машины и труднорешаемые задачи / М. Гери, Д. Джонсон. – Москва: Мир, 1982 – 416 с. 2. Логистика [Электронный ресурс] // Википедия – Режим доступа: https://ru.wikiversity.org/wiki/Логистика – Загл. с экрана. 3. Навигационная система [Электронный ресурс] // Википедия – Режим доступа: https://ru.wikipedia.org/wiki/Навигационная_система– Загл. с экрана. 4. Метод Кларка-Райта. Оптимальное планирование маршрутов грузоперевозок [Электронный ресурс] // Инфостар – Режим доступа: https://infostart.ru/public/443585/– Загл. с экрана.
Хубеджев Д.П., Ситникова О.Д. Решение задачи логистики поставок по нескольким циклическим и радиальным маршрутам с учетом использования различных видов транспорта. В статье формализована задача поставок продукции из одного склада в сеть торговых точек с учетом возможностей транспортных средств с целью минимизации суммарной длинны всех маршрутов. Приведен алгоритм решения этой задачи, являющийся модификацией метода Кларка-Райта. Ключевые слова: логистика, задача развозки, метод Кларка-Райта, маршрут, грузоподъёмность, транспорт, оптимизация.
KhubedjevDanil, Sitnikova Olga. The solution to the problem of supply logistics along several cyclic and radial routes, taking into account the use of various modes of transport. The article formalizes the task of delivering products from one warehouse to a network of outlets taking into account the capabilities of vehicles in order to minimize the total length of all routes. An algorithm for solving this problem is presented, which is a modification of the Clark-Wright method. Keywords: logistics, transportation problem, Clark-Wright method, route, loading capacity, transport, optimization.
331
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
УДК 004.94
ИСПОЛЬЗОВАНИЕ МЕТОДА КОНЕЧНЫХ ЭЛЕМЕНТОВ ДЛЯ ФИЗИЧЕСКИХ РАСЧЕТОВ В САПР Чернышов Д.Н., Грищенко О.С., Григорьев А.В. ГОУ ВПО «Донецкий национальный технический университет (г.Донецк) Кафедра «Программной инженерии» e-mail: dima.ch2000@mail.ru Чернышов Д.Н., Грищенко О.С., Григорьев А.В. Использование метода конечных элементов для физических расчетов в САПР. Рассмотрена проблема физических расчетов в виртуальных моделях проектов. Рассмотрен метод конечных элементов в общем виде. Ключевые слова: виртуальная модель, метод конечных элементов, прочность, физические процессы, САПР.
Физические расчеты в САПР Одной из ключевых особенностей САПР является возможность моделирования физических процессов, не прибегая к созданию реального прототипа детали. Потребность в решении подобных задач возникает в системах автоматизированного конструирования для моделирования поведения изделия в цифровом виде. Типичными примерами процессов, моделирование которых на компьютере позволяет значительно сократить расходы на испытания, являются продувка в аэродинамической трубе или аварийные испытания (краш-тесты). Однако какими методами достигаются такие возможности и какой из них лучший? В этой работе будет рассмотрен конечно-элементный анализ как один из лучших методов моделирования физических процессов. Конечно-элементный анализ широко применяется при решении задач механики деформируемого твердого тела, теплообмена, гидро- и газодинамики, а также других областей физики. Он основан на использовании математического метода конечных элементов [1]. Метод конечных элементов (МКЭ) Метод конечных элементов позволяет приближенно численно решать широкий спектр физических проблем, которые математически формулируются в виде системы дифференциальных уравнений или в вариационной постановке. Этот метод можно использовать для анализа напряженно деформированного состояния конструкций, для термического анализа, для решения гидро-газодинамических задач и задач электродинамики. Сейчас МКЭ является одним из наиболее популярных инструментов исследования характеристик инженерных конструкций, подвергаемых различным нагрузкам. Традиционные методы, предполагающие строгое 332
Секция 3. «Инженерия программного обеспечения»
теоретическое обоснование, могут использоваться только для ограниченного класса задач и особых условий нагрузки. Они часто нуждаются в модификации, причем приходится контролировать их применимость к решению поставленной задачи. Неуверенность конструкторов в достоверности полученных результатов заставляет их повышать предельные нагрузки, что приводит к включению в конструкцию дополнительных крепежных секций, перерасходу материалов и повышению общей стоимости изделия. МКЭ позволяет конструктору решать задачи расчета сложных деталей путем разбиения их на более мелкие части – конечные элементы. Эти элементы иногда называют дискретными, а процесс их выделениядискретизацией формы детали. После разбивки дальнейшие расчеты проводятся для отдельных конечных элементов, каждый из них вносит свой вклад в характеристику прочности детали. Точки, ограничивающие элемент, называют узлами, которые вместе с проходящими через них линиями образуют конечную элементную сетку. Для 2D-областей наиболее часто используются элементы в форме треугольника и четырехугольника. При этом элементы могут иметь как прямо-, так и криволинейные границы, что позволяет с достаточной степенью точности аппроксимировать границу любой формы. Для 3Dобластей наиболее употребимыми являются элементы в форме тетраэдра и параллелепипеда, которые также могут иметь прямо- и криволинейные границы [2]. МКЭ состоит из 4 этапов: 1. Выделение конечных элементов (см. рис. 1).
Рисунок 1 – Выделение конечных элементов
333
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Это один из наиболее важных этапов МКЭ, т.к. от качества разбиения во многом зависит точность полученных результатов. Например, разбиение на двумерные элементы, близкие по форме к равносторонним треугольникам, обеспечивает лучшие результаты по сравнению с разбиением на вытянутые треугольники. Возможность легко изменять размеры элементов позволяет без труда учитывать свойства материалов, концентрацию напряжения, температурные градиенты и т.д. Разбиение области на элементы обычно начинают от ее границы с целью получения наиболее точной аппроксимации формы границы, затем выполняют разбиение внутренних областей. Часто разбиение области на элементы выполняют в несколько этапов: сначала область делится на достаточно большие подобласти, границы между которыми проходят там, где изменяются свойства материалов, геометрия, приложенная нагрузка и др. Затем каждая подобласть делится на элементы, причем резкого изменения размеров конечных элементов на границах подобластей лучше избегать. 2. Нумерация узлов элементов Порядок нумерации имеет в данном случае существенное значение, так как влияет на эффективность последовательных вычислений. Дело в том, что матрица коэффициентов системы множества алгебраических уравнений, к которым приводит МКЭ – сильно разряженная матрица ленточной структуры. Ненулевые элементы матрицы располагаются параллельно главной диагонали. Целое число, являющееся максимальной разностью между номерами ненулевых элементов в строке, называется шириной полосы. Чем меньше ширина полосы, тем меньший объем памяти требуется для хранения матрицы при реализации МКЭ и тем меньше затраты машинного времени на решение результирующей системы уравнений. Ширина полосы зависит от количества степеней свободы узлов и способа нумерации последних. При нумерации узлов предпочтителен способ, обеспечивающий минимальную разницу между номерами узлов в каждом отдельном элементе. Если максимальная разность между номерами узлов для отдельного элемента обозначить через K, а количество степеней свободы через S, то ширина полосы L=(K+1)*S. В некоторых случаях уменьшение числа K может быть достигнуто последовательной нумерацией узлов при движении в направлении минимального размера рассматриваемой области. Рациональная нумерация уменьшает необходимый объем памяти почти в 3 раза. Информация о способе разбиения области на конечные элементы и нумерация узлов является исходной для всех следующих этапов алгоритмов МКЭ при реализации методов САПР. При этом требуется указывать не только номер, но и координаты каждого узла и принадлежность его к определенным конечным элементам. Такого рода информация называется топологической и содержит примерно в 6 раз больше цифр, чем количество узлов системы. При описании области, разбитой на конечные элементы, 334
Секция 3. «Инженерия программного обеспечения»
необходимо задавать тип конечного элемента, его порядковый номер, номера узлов элемента, координаты узлов, информацию о соединении элементов, значении физических параметров объекта в пределах конечного элемента. 3. Определение аппроксимирующей функции для каждого элемента На этом этапе ищем непрерывную аппроксимирующую функцию кусочно-непрерывных, определенную на множестве конечных элементов. Эту процедуру нужно выполнить один раз для типичного элемента области безотносительно к его топологическому положению в ней. Полученная функция используется для всех остальных элементов области того же вида. Эта особенность является важным аспектом МКЭ. Благодаря ей элементы с однажды определенными функциями легко включаются в библиотеку элементов соответствующего программного комплекса и далее используется для решения разнообразных задач. В качестве аппроксимирующей функции элементов чаще всего используются полиномы, которые разбираются так, чтобы обеспечить непрерывность искомой функции в узлах и на границах элементов. 4. Объединение конечных элементов в ансамбль. На этом этапе уравнения, относящиеся к отдельным элементам, объединяются в ансамбль, т.е. в систему алгебраических уравнений. При этом узлы перенумеруются. 5. Решение полученной системы алгебраических уравнений. Реальная конструкция аппроксимируется сотнями конечных элементов, и, следовательно, появляются системы уравнений с сотнями и тысячами неизвестных, которые нужно решить. Решение таких систем - главная проблема реализации МКЭ. Методы решений зависят от размеров разрешающей системы уравнений. В связи с большой размерностью и сильной разряженностью матрицы коэффициентов для реализации МКЭ САПР разработаны специальные способы хранения матрицы жесткости, позволяющей уменьшить необходимый для этого объем памяти. Матрицы жесткости используются в каждом методе прочностного расчета, используя конечную элементную сетку [2]. Возможности МКЭ в САПР Catia Приведем возможности МКЭ на примере моделирования прочностных расчетов в САПР Catia [3,4]. Для анализа на прочность предназначено приложение Generative Part Structural Analysis модуля «Анализ и моделирование». Модуль можно использовать, не имея специальных знаний в области расчетов методом конечных элементов. Схема его использования сведена к простейшим процедурам: •присвоения материала; 335
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
•указания мест и условий закрепления; •указания мест и условий нагружения. После автоматической генерации сетки конечных элементов, выбора оптимального расчетного метода и собственно расчета, модуль предоставляет результаты в наглядной и легко понимаемой форме. На основании этих результатов конструктор может сделать вывод о том, как следует изменить деталь, чтобы оптимизировать ее механические характеристики. Можно посмотреть нагрузку, которая оказывается на разные части детали. Для этого необходимо использовать инструмент «Von Mises Stress». После выбора этого инструмента деталь окрасится в цвета, соответствующие нагрузке и появится шкала, сопоставляющая цвет со значением нагрузки как показано на рис. 2.
Рисунок 2 — Результат применения инструмента «Von Mises Stress» Можно также посмотреть нагрузку и смещение в конечных точках детали. Для того чтобы посмотреть смещение точек детали используется инструмент «Desplacement». Результат применения этого инструмента представлен на рис. 3. Вывод о роли МКЭ в развитии САПР Как уже было сказано ранее, метод конечных элементов является одним из самых оптимальных на сегодняшний день способов моделировать 336
Секция 3. «Инженерия программного обеспечения»
физические процессы в САПР. Однако, развитию этого метода еще есть куда стремиться. Например, стоит оптимизировать использование оперативной памяти для повышения максимального количества моделируемых узлов.
Рисунок 3 – Результат применения инструмента «Desplacement» Литература 1. Методы расчета физических процессов в САПР – Режим доступа: https://studbooks.net/2194686/tehnika/metody_rascheta_mehanicheskih_protsesso v_sapr – Загл. с экрана. 2. Системы автоматизированного анализа – Режим доступа: https://studfile.net/preview/987775/page:20/ - Загл с экрана. 3. Generative Structural Analysis [Электронный ресурс] – Режим доступа: http://www.catiadesign.org/_doc/v5r14/catpdfestug_C2/estug.pdf – Загл. с экрана. 4. Entering the Generative Structural Analysis Workbench [Электронный ресурс] – Режим доступа: http://catiadoc.free.fr/online/CATIAfr_C2/estugCATIAfrs.htm - Загл. с экрана. Чернышов Д.Н., Грищенко О.С., Григорьев А.В. Использование метода конечных элементов для физических расчетов в САПР. Рассмотрена проблема расчета физики в виртуальных моделях проектов. Рассмотрен метод конечных элементов в общем виде. Ключевые слова: виртуальная модель, метод конечных элементов, прочность, физические процессы, САПР. Chernishov D.N., Grishenko O.S., Grigoriev A.V. Using finite element method to calculate physical processes in CAD. Problem of physical processes calculation is described. Finite element method is described in general form. Keywords: virtual model, finite element method, durability, physical process, CAD. 337
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
УДК 004.054
АНАЛИЗ ЭФФЕКТИВНОСТИ АВТОМАТИЗИРОВАННОГО ТЕСТИРОВАНИЯ ОКОННОГО ИНТЕРФЕЙСА ПРОГРАММНОЙ СИСТЕМЫ Шевелёв И.А., Федяев О.И. ГОУ ВПО «Донецкий национальный технический университет (г.Донецк) e-mail: edward952@gmail.com; fedyaev@donntu.org Шевелёв И.А., Федяев О.И. Анализ эффективности автоматизированного тестирования оконного интерфейса программной системы. В работе рассматриваются основные проблемы тестирования, подходы к эффективному автоматизированному тестированию пользовательских интерфейсов, подготовка базы для покрытия тестовых случаев автоматизированными тестами. Анализ выявил проблемы, возникающие на этапе проектирования тест-планов и тестовых случаев в части эффективного покрытия тестовой базы автоматизированными тестами. Для автоматизации ручного тестирования создана уникальная платформа для тестирования оконного интерфейса средствами Selenium Webdriver, Jasmine, Protractor, которые используют языки JavaSсript и TypeScript. Ключевые слова: тестирование, автоматизация тестирования пользовательских интерфейсов, оконный интерфейс программной системы
Введение В современной IT-сфере крупные компании нуждаются в технологиях и средствах проверки качества разрабатываемого программного продукта. Качественно валидировать новый функционал программного обеспечения, писать общую документацию, тест-планы проверки функционала, критерии входа и выхода из тестирования, конкретные тестовые случаи для разрабатываемого функционала помогает отрасль Quality Assurance (QA) [1]. Актуальность данной отрасли состоит в том, чтобы решать проблему поддержания качества продукта в целом. В основном, это делается ручным тестированием программных продуктов, поступаемых от отдела разработки. Но в таком подходе могут быть следующие недостатки: – человеческий фактор; – скорость проверки функционала; – невозможность пройти сложные тестовые сценарии; – трудоемкость повторного регрессионного тестирования; – невозможность проведения нагрузочного тестирования вручную. Эти недостатки частично решает автоматизированное тестирование продукта. Основные плюсы данного подхода: – скорость выполнения тест-кейсов может в разы и на порядки превосходить возможности человека; 338
Секция 3. «Инженерия программного обеспечения»
отсутствует влияние человеческого фактора в процессе выполнения тест-кейсов (усталости, невнимательности); – средства автоматизации способны выполнить тест-кейсы, непосильные для человека в силу своей сложности, скорости или иных факторов; – средства автоматизации способны собирать, сохранять, анализировать, агрегировать и представлять в удобной для восприятия человеком форме колоссальные объёмы данных; – средства автоматизации способны выполнять низкоуровневые действия с приложением, операционной системой, каналами передачи данных. Поэтому основной целью работы является анализ эффективности автоматизированного тестирования оконного интерфейса программной системы, сравнение актуальных инструментов для автоматизации тестирования, описание платформы для автоматизированного тестирования, описание примеров построения пользовательских сценариев [2]. –
Анализ технологий автоматизированного тестирования программ Для рассмотрения основных инструментов были рассмотрены наиболее современные виды написания кода приложения: BDD (Behavior-driven development) и TDD (Test-driven development) [3]. Основной идеей BDD-методологии является совмещение в процессе разработки чисто технических интересов и интересов бизнеса, позволяя тем самым управляющему персоналу и программистам говорить на одном языке. Для общения между этими группами персонала используется предметноориентированный язык, основу которого представляют конструкции из естественного языка, понятные неспециалисту, обычно выражающие поведение программного продукта и ожидаемые результаты. В свою очередь TDD – техника разработки программного обеспечения, которая основывается на повторении очень коротких циклов разработки: сначала пишется тест, покрывающий желаемое изменение, затем пишется код, который позволит пройти тест, и под конец проводится рефакторинг нового кода к соответствующим стандартам. Данная техника в большинстве случаев не ориентирована на тестирование пользовательских интерфейсов оконного интерфейса. В основном, автоматизаторы тестирования интерфейсов пользуются BDD-инструментами. BDD подход совместно с инженерными практиками позволяет отказаться от legacy-документации, содержащей неактуальную информацию и получать новую документацию налету, хранить ее вместе с проектом. Пример циклов разработки с использованием BDD и TDD подходов изображен на рис. 1.
339
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Рисунок 1 – Пример циклов разработки с использованием BDD и TDD подходов Рассмотренные подходы основаны на применении следующих инструментов автоматизации тестирования. Selenium – Java-приложение, которое может анализировать файлы определенной структуры, чтобы находить команды для управления браузером и команды для выполнения определенных действий и проверок. Основные плюсы: инструмент является бесплатным, поддерживает много языков программирования, портативность, кроссплатформенность, кроссбраузерность (с использованием Selenium Grid), интегрируется с вебавтоматизацией и мобильной автоматизацией тестирования, чаще всего применяется с BDD. Watir – это инструмент для автоматизации тестирования, который используется для тестирования веб-приложений. Это библиотека Ruby с открытым исходным кодом. Так как базовым протоколом инструмента является OLE, то он умеет взаимодействовать с Microsoft IE (что, к сожалению, не могут большинство других инструментов автоматизации). Основные плюсы: кроссбраузерность, взаимодействует с BDDфреймворками и фреймворками для юнит-тестирования. Из минусов можно отметить то, что инструмент помогает автоматизировать только вебинтерфейсы, используется с языком Ruby, чаще всего применяется с BDD [3]. Katalon Studio – это эффективный инструмент для автоматизации процесса тестирования веб-приложений, мобильных приложений и вебсервисов. Katalon Studio является потомком таких фреймворков, как Selenium и Appium. Он перенял у последних множество преимуществ, связанных с интегрированной автоматизацией тестирования ПО, чаще всего применяется с BDD. Unified Functional Testing или UFT – это популярный коммерческий инструмент для функционального тестирования. Он предоставляет полный набор функций для тестирования API, веб-сервисов, а также для 340
Секция 3. «Инженерия программного обеспечения»
тестирования графического интерфейса десктопных, мобильных и вебприложений на всех существующих платформах, чаще всего применяется с TDD. TestComplete – это эффективный инструмент для тестирования десктопных, мобильных и веб-приложений. TestComplete поддерживает различные языки сценариев. Тестировщики могут выполнять тестирование с использованием ключевых слов и управляемое данными тестирование, чаще всего применяется с BDD [4]. Сравнительная характеристика рассмотренных инструментов автоматизации тестирования интерфейсов изображена на рис. 2.
Рисунок 2 – Сравнительная характеристика основных инструментов автоматизации тестирования интерфейсов Построения сценариев интерфейса программы
тестирования
иерархического
оконного
Наиболее сложным объектом для тестирования является пользовательский интерфейс [5]. Поэтому задача автоматизированного тестирования оконного интерфейса была решена новыми программными средствами – платформой, использующей следующие инструментальные средства: JavaScript, TypeScript, Selenium WebDriver, Jasmine, Protractor, Node JS, Gulp. 341
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Jasmine – это BDD фреймворк для тестирования JavaScript кода. Selenium WebDriver – это драйвер браузера, который позволяет разрабатывать программы, управляющие поведением браузера. Protractor – e2e тест-фреймворк сделанный на основе WebDriverJS, который приходит на смену первоначальным e2e тестам AngularJS [6]. Этой платформой предусмотрено в начале спроектировать сценарий в виде полноценного тестового случая. После этот сценарий представляется в виде псевдокода, но по шаблону выбранного инструмента автоматизации тестирования. Автоматизация процесса направлена на максимально точное покрытие тестовых сценариев программным кодом (скриптом). Шаблон построение сценариев изображен на рис. 3. сценарий { шаг1{ открыть страницу } шаг2{ убедиться, что страница открылась, подождать появления элемента на странице (мы считаем, что страница загружена, если появился определенной элемент. Тест работает таким образом, что все действия происходят очень быстро. Если мы не дождемся полной загрузки страницы, то авто-тест кликнет на ещё неподгрузившийся элемент и тест упадёт) } шаг3{ открыть пункт меню “Наука” -> “Наука и инновации” } шаг4{ убедиться, что появились новости по теме “Наука и инновации” } }
Рисунок 3 – Описание спецификации тестового случая псевдокодом (на примере сайта ДонНТУ) Таким образом практически все тесты позволяют валидировать определенные шаги, также эмулировать пользовательские сценарии.
342
Секция 3. «Инженерия программного обеспечения»
В качестве примера рассмотрим сценарий взаимодействия пользователя с сайтом ДонНТУ с целью тестирования его интерфейса. Пользователь заходит на страницу и должен ждать, пока она загрузится. Он понимает, что страница загрузилась тогда, когда, например, появляется кнопка “Регистрация”. После чего он кликает на эту кнопку и ожидает появления окна с формой ввода данных. Соответственно, если что-то из этого не отобразится на пользовательском интерфейсе, то автоматизированный тест даст об этом знать. Для такого способа реализации данного сценария необходимо псевдокод перевести в программный код, который будет выполняться в среде инструмента автоматизации. Пример приведён на рис. 4. describe('Test specification', () => { beforeAll(() => { user.browser.waitForAngularEnabled(false); user.browser.get(browser.baseUrl); }); afterAll(() => { commonHelper.clearSession(user.browser); }); it('should open donntu page', () => { user.browser.get('http://donntu.org/'); }); it('should check page is loaded', () => { commonHelper.сheckIfElementVisible(user.pages.landing.donntuLogo, user.browser, '[DonNTU Logo] is not visible'); }); it('should open science menu item', () => { commonHelper.selectSubMenuItem('Наука', 'Наука и инновации'); }); it('should see science news', () => { commonHelper. сheckIfElementVisible (user.pages.news.getFirstNewsItem(), user.browser, '[First news item] is not visible'); }); });
Рисунок 4 – Описание спецификации тестового случая программным кодом Сама платформа является надстройкой над основным инструментом автоматизации тестирования интерфейсов, а именно Selenium Webdriver [7]. Таким образом, автоматизатор тестирования может настраивать параметры запускаемого драйвера браузера (разрешение окна, режим), указывать только те спецификации, которые хочет проверить автоматизированными тестами, настраивать вывод данных после прохождения теста, устанавливать время, после которого тест завершится в случае его падения. Схематическая настройка параметров изображена на рис. 5. 343
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
capabilities: { chromeOptions: { args: [ '--disable-extensions', '--incognito', '--window-size=1600,1200', '--debug-devtools-frontend', ], }, }, framework: 'jasmine', plugins: [ { package: 'console-output', logLevels: ['severe', 'warning', 'info', 'debug'], regexToExclude: LOGS_FILTER, maxMessageLength: 5000, path: '../../../console-output', }, ], });
Рисунок 5 – Пример конфигурации инструментов платформы для автоматизации тестирования Заключение При анализе эффективности автоматизированного тестирования оконного интерфейса программной системы были рассмотрены основные проблемы тестирования, подходы к эффективному автоматизированному тестированию пользовательских интерфейсов, подготовка базы для покрытия тестовых случаев автоматизированными тестами. В качестве рассматриваемых подходов к разработке автоматизированных тестов были выбраны методологии BDD и TDD , а также применён один из самых современных инструментов для автоматизации тестирования – Selenium Webdriver. Разработан шаблон написания тестовых сценариев на псевдокоде, который автоматически транслировался в программный код (скрипт). Выполнена апробация разработанной платформы на тестировании оконного интерфейса реального сайта. Таким образом, предложен способ, обеспечивающий высокую эффективность автоматизированного тестирования оконного интерфейса программных систем. Литература 1. Специальность QA Software Tester или кто такой Quality Assurance Engineer – Режим доступа: https://itvdn.com/ru/specialities/qa - Загл. с экрана; 2. Автоматизированное тестирование. Обоснование применения автоматизации в тестировании, её основные преимущества и недостатки. – Режим доступа: http://www.protesting.ru/automation/functional/whytoauto.html Загл. с экрана; 344
Секция 3. «Инженерия программного обеспечения»
3. Каковы основные различия между TDD и BDD? - unit-testing | Qaru – Режим доступа: http://qaru.site/questions/50262/what-are-the-primarydifferences-between-tdd-and-bdd - Загл. с экрана; 4. Лучшие инструменты для автоматизации тестирования в 2017 году: фреймворки для автоматизации тестирования – Режим доступа: https://geteasyqa.com/ru/blog/best-automation-testing-tools/ - Загл. с экрана; 5. Тестирование пользовательского интерфейса - QA evolution – Режим доступа: https://qaevolution.ru/testirovanie-po/vidy-testirovaniyapo/testirovanie-polzovatelskogo-interfejsa/ - Загл. с экрана; 6. Разворачиваем автоматизацию за пару часов: TypeScript, Protractor, Jasmine – Режим доступа: https://habr.com/ru/post/451522/ - Загл. с экрана; 7. Что такое Selenium WebDriver? – Режим доступа: https://habr.com/ru/post/152971/ - Загл. с экрана. Шевелёв И.А., Федяев О.И. Анализ эффективности автоматизированного тестирования оконного интерфейса программной системы. В работе рассматриваются основные проблемы тестирования, подходы к эффективному автоматизированному тестированию пользовательских интерфейсов, подготовка базы для покрытия тестовых случаев автоматизированными тестами. Анализ выявил проблемы, возникающие на этапе проектирования тест-планов и тестовых случаев в части эффективного покрытия тестовой базы автоматизированными тестами. Для автоматизации ручного тестирования создана уникальная платформа для тестирования оконного интерфейса средствами Selenium Webdriver, Jasmine, Protractor, которые используют языки JavaSсript и TypeScript. Ключевые слова: тестирование, автоматизация тестирования пользовательских интерфейсов, оконный интерфейс программной системы
Shevelov I.A., Fedyayev O.I. Analysis of the effectiveness of a software system user interface automation testing. The main problems of testing, approaches to effective automated testing of user interfaces, the preparation of a base for covering test cases with automated tests are considered. The analysis revealed problems that arise at the stage of designing test plans and test cases in terms of effective coverage of the test base with automated tests. To automate manual testing, a unique platform for testing the window interface has been created using the tools of Selenium Webdriver, Jasmine, Protractor, which use the JavaScript and TypeScript languages. Keywords: testing, automation testing, software system user interface
345
Секция 4. «Информационные технологии в образовании»
Председатель: Секретарь:
Анохина Инна Юрьевна Перинская Елена Владимировна
Секция 4. «Информационные технологии в образовании»
УДК 378.025.7
АДАПТИВНОЕ ОБУЧЕНИЕ В НЕФОРМАЛЬНОМ ОБРАЗОВАНИИ Бочаров В.В., Суслова Л.А. ГОУ ВПО «Донецкий национальный университет» (г. Донецк) e-mail: vitaly.v.bocharov@gmail.com; ksafo.l@mail.ru Бочаров В. В., Суслова Л. А. Адаптивное обучение в неформальном образовании. В статье рассматриваются определения неформального образования, адаптивное обучение как один из современных методов неформального образования, а также некоторые платформы адаптивного обучения. Ключевые слова: неформальное образование, адаптивное обучение, платформы.
Введение Постановка проблемы. Социальные проблемы, быстрое развитие технологий и постоянное увеличение количества информации, которой должен обладать современный специалист, вызывают необходимость постоянного поддержания уровня квалификации и усвоения новых знаний. В новых условиях информатизации общества система формального образования путем передачи знаний от человека к человеку, которая основывается на формуле «образование для жизни» становится непродуктивной, и, по мнению ЮНЕСКО [1], действительность требует использования иной формулы: «образование в течение жизни». Тот факт, что образование взрослых является важнейшим фактором социального развития, является признанным во всем мире. Важно то, что современный уровень развития ИКТ дает возможность создания адаптивных систем неформального обучения, которые будут максимально индивидуализированы в соответствии с уровнем знаний человека, получающего образование. Анализ последних исследований и публикаций. Термин «неформальное образование» имеет несколько определений. Например, Е. И. Гусейнова и Ю. М. Лукьянова определяют его как «образование, которое необязательно должно носить организованный и систематический характер, оно может осуществляться вне стандартных учебных заведений. К сфере неформального образования относятся индивидуальные занятия под руководством тренеров или репетиторов, тренинги и краткие курсы которые преследуют практикоориентированные краткосрочные цели», добавляя при этом, что «неформальное обучение не имеет возрастных, профессиональных или интеллектуальных ограничений для участников, и практически не ограничивается по времени. Учреждения и организации, занимающиеся неформальным обучением, обычно не присваивают квалификаций и не осуществляют оценивания учебных достижений участников. В этом секторе 347
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
чаще всего применяют инновационные подходы, апробируют новаторские методики и технологии обучения» [2]. В. В. Горшкова определяет неформальное обучение следующим образом «происходит часто не в специальном образовательном пространстве, в котором четко определены цели, методы и результат обучения, в образовательных учреждениях или общественных организациях, клубах, кружках, во время индивидуальных занятий..., чаще всего носит целенаправленный и систематический характер». Также она отмечает, что в неформальном обучении идет активный поиск инновационных подходов и методов образовательной деятельности. Из вышесказанного можно сделать вывод, что именно системы неформального обучения, не требующие предоставления формальных образовательных программ и квалификаций, предоставляют широкие возможности для тестирования и апробации инновационных подходов и методик обучения. Широкое распространение неформального обучения, очевидно, приведет к значительному росту желающих обучаться, и потребует новых подходов в обучении. К таким новым подходам можно отнести адаптивное обучение [3]. Идеи персонифицированного и адаптивного обучения берут свое начало из работ одного из основателей современного бихевиоризма Б. Ф. Скиннера [4] и в дальнейшем рассматривались в трудах Г. Пасха [5] и А. И. Берга [6]. Использованию информационно-компьютерных методов для адаптивного формирования дидактических объектов уделялось внимание в работах В. Ю. Быкова и В. В. Лапинского [7]. А. И. Огиенко рассматривала адаптивное обучение взрослых как «технологическую педагогическую систему форм и методов обучения, способствующую эффективной индивидуализации обучения» [8]. Также неотъемлемой частью адаптивной образования можно считать методы адаптивного педагогического тестирования, которые разрабатываются такими учеными как Л. И. Белоусова, А. Г. Колгатин и др. Целью статьи является рассмотрение распространенных реализаций платформ адаптивного обучения, и идей, которые заложены в эти реализации. Методы исследования включают в себя изучение документации, сбор и анализ информации, предоставляемой владельцами, разработчиками и пользователями платформ адаптивного обучения. Результаты исследования Одной из самых известных платформ реализации адаптивного обучения является платформа Knewton [9]. Методология Knewton строится вокруг двух основных понятий: технологии планирования образовательной траектории и сложной модели оценивания студента. Такой подход существенно отличается от большинства адаптивных приложений, которые, по сути, применяют адаптивный подход к одной точке, в которой измеряются знания студентов. Примером такого слабоадаптивного подхода является диагностический экзамен, по 348
Секция 4. «Информационные технологии в образовании»
результатам которого компьютер определяет, какой контент будет показан студенту в дальнейшем. Технологии Data Mining (добычи данных) и персонализации используются здесь минимально или не используются вообще. Адаптивное обучение в понимании Knewton должно реагировать в реальном времени на результаты отдельного студента и его действия в системе. Этот подход увеличивает вероятность того, что студент получит правильный образовательный контент в нужный момент и достигнет поставленных перед собой целей. Например, если студент имеет плохие результаты по определенному тесту, то Knewton сможет предположить что темы из этого теста оказались непонятными и предоставить студенту контент, который повысит уровень понимания именно этих тем. При этом Knewton не создает собственных курсов. Проект обеспечивает инфраструктурную платформу, которая предлагает разработчикам программ алгоритмы адаптации учебного материала и помогает им создавать уникальные гибкие курсы обучения. По мнению разработчиков, процесс адаптации состоит из трех этапов: 1. Сбор данных. На этом этапе собирается большой объем данных из учебных приложений, используемых системой, и готовиться массив данных для использования готовой инфраструктурой. 2. Вывод. Программный психометрический комплекс оценивает умение студента, образовательную эффективность учебного материала, уровень чувствительности студента к материалу видов оценивания, скорости, выполняя обновление данных в автоматическом режиме. 3. Персонализация. На этом этапе работает программный рекомендательный комплекс. Он предоставляет в режиме реального времени преподавателям и студентам учебные приложения, содержащие конкретные рекомендации, и унифицированные учебные сценарии. Среди предлагаемых рекомендаций расставляет приоритеты, определяя, что именно нужно делать сейчас, гармонизирует цели преподавателя и студента, отмечает сильные и слабые стороны студента, формирует детальный отчет о действиях студента и преподавателей. Это формирует представление о вероятности достижения цели и ожидаемые оценки. Согласно информации от Knewton [10], алгоритмами Knewton пользуются такие крупные учебные заведения как университеты Аризоны, Алабамы, Невады в Лас-Вегасе. Причем в этих вузах количество успешно закончивших курсы по адаптации Knewton, увеличилось в среднем на 17 процентов. А в университете Аризоны количество отчисленных студентов уменьшилось вдвое, среди тех, кто окончил курс обучения ранее, оказалось 45% отчисленных. Также известна платформа университета Амстердама для обучения школьников младшего возраста математике «Maths Garden» [11]. Эта платформа использует алгоритм рейтинга игроков в шахматы, который был разработан в середине прошлого столетия венгерским математиком Арпадом Эло. В основе системы рейтингов Эло лежит предположение, что сила каждого шахматиста является вероятностной переменной, которая 349
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
подчиняется нормальному (по другой методике - логистическому) распределению. Расчет рейтинга конкретного игрока по результатам любого турнира основывается на сравнении количества набранных им очков с количеством очков, которое ожидается в соответствии с его рейтингом. Если по итогам турнира количество набранных очков оказывается больше, чем предсказанное значение, то рейтинг этого игрока растет. Если по итогам турнира количество набранных очков оказывается меньше, чем предсказанное значение, то рейтинг этого игрока падает. По информации Д. Ф. Аббакумова [12] разработчики платформы заменили в системе Эло одного игрока на ученика, а второго - на задание. Таким образом, получается, что ученик соревнуется с заданием. В результате такого соревнования, как и в шахматах, меняется рейтинг ученика и рейтинг задачи. Этот процесс происходит в режиме онлайн: рейтинги рассчитываются и уточняются непрерывно на основании результатов решения сотен задач тысячами учеников. Также разработчики скомбинировали систему Эло с психометрической моделью Г. Раша [13]. Модель Г. Раша работает с двумя параметрами - с трудностью задачи и подготовленностью (уровнем знаний) ученика и позволяет спрогнозировать результат решения задачи (верно/неверно). Модель Г. Раша часто используется для подбора оптимальных по сложности заданий для учащихся, например, в компьютерном адаптивном тестировании. В комбинированной модели сервиса Maths Garden в качестве критериев трудности задачи и подготовленности ученика используются параметры, рассчитанные на основании рейтингов системы Эло. Рейтинг обучаемого отражает уровень его подготовленности, а рейтинг задачи - его сложность. Преимущество такого алгоритма заключается в том, что он позволяет решить две проблемы адаптивных сервисов. Во-первых, дает возможность избавиться от необходимости предварительной калибровки задач по сложности. Калибровка является весомым сдерживающим фактором, так как предполагает сбор большого количества данных о решении учащимися задач на предварительном этапе, до непосредственного запуска сервиса. Вовторых, алгоритм Maths Garden при подборе задач работает со сложностью задач и подготовленностью учащихся как с параметрами динамично изменяющимися. Это конкурентное преимущество такого метода, так как другие алгоритмы оценивают и часто не учитывают изменение подготовленности ребенка в процессе обучения. Алгоритм Maths Garden способен отследить такие изменения после решения каждой конкретной задачи, и может стать источником ценной информации для препдавателей. Платформа Smart Sparrow [14] используется в более чем 400 университетах. Функциональные возможности этой платформы позволяют преподавателям создавать интерактивный контент, который может быть адаптирован для любой группы обучающихся в соответствии с тематикой исследуемого предмета и конкретных требований к процессу обучения группы. Преподаватели могут определить индивидуальные траектории обучения для обучающихся, взаимодействовать с ними в режиме реального 350
Секция 4. «Информационные технологии в образовании»
времени, а также использовать ряд готовых шаблонов для экономии времени при создании электронного контента. Доступен экспорт флэш-роликов и HTML5 в создаваемые электронные курсы, которые затем могут быть добавлены в систему управления обучением (LMS) или на любую вебстраницу. Разработчики Smart Sparrow уверяют, что платформа интегрируется в большинство существующих LMS и дает возможность преподавателю оценить прогресс учеников с помощью аналитических инструментов. Контент и материалы могут быть персонифицированы с учетом потенциальных ошибок и проблем студентов за счет мгновенной обратной связи. Выводы и перспективы дальнейших исследований Адаптивное обучение является педагогической технологией, которая может обеспечить индивидуализацию неформального обучения, профессиональное и личностное развитие. Существует значительное количество платформ адаптивного обучения, эффективность применения которых подтверждена опытом крупных учебных заведений. Адаптивное обучение в наших учебных заведениях применяется бессистемно, отсутствует информация о платформах такого рода обучения, реализуемых отечественными разработчиками. Проблематика неформального адаптивного образования требует дальнейшей теоретической и практической разработки и углубленного изучения зарубежного опыта. Литература 1. Системы обучения на протяжении всей жизни. – Режим доступа: – https://ru.unesco.org/themes/sistemy-obucheniya-na-protyazhenii-vsey-zhizni Заглавие с экрана. 2. Гусейнова Е. І., Лук'янова Ю. М. Сумський національний аграрний університет, Україна. Неформальна освіта як важливий елемент безперервної освіти. – Режим доступа: http://www.rusnauka.com/11_NPE_2012/Pedagogica/4_106261.doc.htm. – Заглавие с экрана. 3. Горшкова В. В. Взаимодействие формального, неформального и информального образования как современное направление развития человека // Научно-методический электронный журнал «Концепт». – 2014. – Т. 26. – С. 176–180. – Режим доступа: http://e-koncept.ru/2014/64336.htm. – Заглавие с экрана. 4. Психологогическая энциклопедия практической психологии. Беррес Фредерик Скиннер. – Режим доступа: 351
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
http://www.psychologos.ru/articles/view/berres_frederik_skinner. – Заглавие с экрана. 5. Pask G. The Foundations of Conversation Theory and Lp. In.: Heylighen F.,Rosseel E. & Demeyere F. (eds.). Self-Steering and Cognition in Complex Systems.Toward aNew Cybernetics. - New York: Gordon and Breach Science Publishers, 1990. – Р. 240-247. 6. Кибернетика и проблемы обучения / Под ред. А. И. Берга. - М.: Прогресс,1970. – 390 с. 7. Быков В.Ю., Лапинский В.В. Методологические и методические основы создания и использования электронных средств учебного назначения Компьютер в школе и семье, Киев 2012 No2 (98) 2012 3-6. 8. Огієнко О.І. інформаційні технології як засіб адаптивного навчання дорослих 2010 ISSN 2076-8184. Інформаційні технології і засоби навчання. 2010. №6 (20). – Режим доступа: http://www.ime.eduua.net/em.html.– Заглавие с экрана. 9. Knewton. – Режим доступа: https://www.knewton.com. – Заглавие с экрана. 10. Knewton: адаптивное обучение в действии. – Режим доступа: https://newtonew.com/overview/knewton-adaptivnoe-obuchenie-v-dejstvii.– Заглавие с экрана. 11. Mathsgarden. – Режим доступа: http://www.mathsgarden.com. – Заглавие с экрана. 12. Дмитрий Аббакумов - руководитель Центра психометрических исследований в онлайн-образовании НИУ ВШЭ. Блог о психометрике и адаптивных образовательных технологиях. – Режим доступа: http://adaptivityguide.tumblr.com. – Заглавие с экрана. 13. Ассанович М. А. Инвариантность психометрических моделей // Журнал ГрГМУ. 2014. №2 (46). – Режим доступа: https://cyberleninka.ru/article/n/invariantnost-psihometricheskih-modeley – Заглавие с экрана. 14. Smart Sparrow. – Режим доступа: https://www.smartsparrow.com. – Заглавие с экрана. Бочаров В. В., Суслова Л. А. Адаптивное обучение в неформальном образовании. В статье рассматриваются определения неформального образования, адаптивное обучение как один из современных методов неформального образования, а также некоторые платформы адаптивного обучения. Ключевые слова: неформальное образование, адаптивное обучение, платформы Bocharov V.V., Suslova L.A. Adaptive learning in non-formal education. The article discusses the definitions of non-formal education, adaptive learning as one of the modern methods of non-formal education, as well as some platforms for adaptive learning. Keywords: non-formal education, adaptive learning, platforms
352
Секция 4. «Информационные технологии в образовании»
UDC 378
COMPUTER IMPLEMENTATION OF THE MODEL OF FUZZY SETS TO MANAGE THE COMPLEXITY OF PRESENTING TEACHING MATERIAL IN CLASS Koliada M.G. Doctor of Pedagogical Sciences, Professor, Head of the Engineering and Computational Pedagogic Department Donetsk National University e-mail: kolyada_mihail@mail.ru Bugayova T.I. PhD of Pedagogical Sciences, Associate Professor, Associate Professor of the Department of the Engineering and Computational Pedagogic, Donetsk National University e-mail: bugaeva_tatyana@mail.ru Koliada M.G., Bugayova T.I. Computer implementation of the model of fuzzy sets to manage the complexity of presenting teaching material in class. There is a description of computer management of teaching material presentation complexity using the fuzzy set theory. There is a demonstration of management technology on the basis of fuzzy logic information system “Fuzzy Logic Toolbox”. Keywords: Pedagogical Forecasting, Effective Training, Managing material complexity, Computer model of indistinct sets, Scientometrics, Formalization of human statements.
Introduction In pedagogic in contrast to other fields of knowledge, teachers state their standpoint or analyze educational process in the form of judgments of fuzzy, and vague nature. The following statements, as: “better – worse” (e.g. material mastering), “enhanced – weakened” (e.g. preparation), “raised - lowered” (e.g. academic progress), “raised – lowered» (e.g. intellectual growth level) are involved in their speeches. When specifying characteristics and qualities of educational process elements, intermediate ranking is used: “enhanced a little”, “improved enough”, “weakened below average”, “implemented over the limit” etc. Such judgments are hard for formalization and particularly for determining strict and distinct summaries, interferences and conclusions. In this specially developed concepts are used – these are the theory of fuzzy sets and the theory of fuzzy logic in software systems, among which the most powerful one is Fuzzy Logіc Toolbox software package from matrix laboratory system “MatLab” by MathWorks. Many thorough scientific researches deal with education management. For example, the works of Russian scientists consider issues of relevant information support for managing educational facilities. Among researches of a considered problem the most significant works are by Y. A. Konarzhevskiy (2000), 353
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
V. S. Lazarev (1995), V. S. Pikelnaya (1990), M. M. Potashnik (1997), E. N. Khrikov (2006). In terms of this scientific inquiry important ones are the works by V. P. Bespal’ka (1989), V. A. Slastenin (1997), S. A. Smirnov (2000), which cover the problems of work optimization with institutional and administrative information, meeting information needs of pedagogical staff, building administrative culture of teachers etc. A. G. Guralyuk (2008), D. V. Demidov (2009), G. A. Sukhovich (2008) considered In their researches the complexity management issues in delivering education material, but only at theoretical and methodological level. The development process is following the way of integrating pedagogical researches and discoveries in the field of the exact sciences. In mathematics there are significant practices in terms of formalizing social and educational mechanisms implemented in analysis/decisionmaking computer systems. However the problem of managing the complexity of teaching material presentation is still insufficiently researched both in theoretical and in practical aspects. Such an important question as consideration of fuzzy model computer implementation for managing the complexity of teaching material presentation at lessons has left overlooked for now. At the same time, regarding the practical importance managing the complexity of teaching material presentation for high quality education results, absence of a theoretical basis and practical use of such system in educational facilities, the article heading has been selected: «Managing the complexity of teaching material presentation using a fuzzy set model». For school teachers, lecturers, department heads and deans of higher education institutions this research area is very interesting, and its development becomes not only a theoretical and methodological basis for improvement of educational measurements and scientometrics, but also for practical use in education processes management. Article purpose – to demonstrate a computer realization of fuzzy set theory and fuzzy logic theory for managing complexity of teaching material presentation at lessons. Among tasks which arise herewith, only one has been determined: the implementation of pedagogical modeling on the basis of the most powerful up-todate information system of fuzzy logic – Fuzzy Logic Toolbox (through matrix laboratory software package Mat Lab, ver. R2013a). Management of complexity of giving of a teaching material on employment by means of the program of fuzzy logic fuzzy logіc toolbox On the basis of concepts presented by fuzzy sets, there is a possibility to interpret human judgments which can be used further for modeling and forecasting of administrative education processes. In pedagogic, as a rule, the easiest way for a teacher or a pupil (student) to outline some processes or phenomena of teaching and educational validity at the level of verbal descriptions, i.e. – in non-formalized form (Morze, 2013). It is more convenient to use qualitative fuzzy estimations, like “much”, “a little”, “high 354
Секция 4. «Информационные технологии в образовании»
enough”, “too far”, “very close”, “quickly”, “too slowly”, “average (e.g. preparation)”, “too weak” etc. Let's admit that X = {Cambridge university, Stanford university, Moscow State University, National University of Kyiv} – is a set of various world’s top-rank universities. Then the fuzzy set А = “Excellent university” can be defined as follows: А = {(Cambridge / 1), (Stanford / 0.8), (MSU / 0.3), (NUK / 0.1}, where the figures standing near names express the degree of reflection (approximation) of a definition “Excellent university”. It is clear that the membership function for each fuzzy set is generally defined in a subjective way. For the example above the member function form for a fuzzy set reflects an estimation variant of “F1 Study, 2010” independent reference book, which can be a agreed not by everyone. Despite vague limits of a fuzzy set А, it can be precisely defined with a comparison to each element of х-number standing between 0 and 1, representing its membership in А. For example, membership function of an “external conflict” concept (a conflict out of itself) will be written in the language of the fuzzy sets theory as follows: External conflict = {20/0.01 + 20/0.9 + 20/0.5 + 10/0.5 + 10/0.2 + 10/0.1}. Here the “+” sign is not a symbol for addition but for unification. Number 20 means a conflict tendency level among people with expressed extraversion, and number 10 – a conflict tendency level among people with expressed introversion. Any of these values Extroverts-Introverts values have a correspondent proximity index, for example, according to the behavior style of these individuals in external conflicts (according to the classification of an American psychologist R. Thomas). For cooperation this value is 0.01, for rivalry – 0.9, for compromise – 0.5, for adaptation – 0.2 and for conflict avoidance – 0.1. From the listed styles only one – cooperation, is active and effective in terms of defining result of a conflict situation. The most conflict-oriented is the second active style – rivalry (proximity index – 0.9); avoidance and adaptation are characterized by the passive form of behavior, therefore the proximity index is smaller (0.1 and 0.2). Compromise occupies an intermediate position, combining both active, and passive reaction forms (it has 0.5 index). If to consider new judgments in relation to the basic concept - “conflict”, then they can be defined in fuzzy sets theories as follows: Incident = conflict 2 (squared conflict); Challenge = conflict3 (cubed conflict); Escalation = conflict4 (the conflict in the fourth degree). In the theory of fuzzy sets membership function plays a key role as it is the basic characteristic of fuzzy object, and all actions with fuzzy objects are made through operations with their functions of an accessory. Definition of function of an accessory is the first and very important stage of modeling allowing then to operate with fuzzy objects. There are no strict rules which could be used for a choice of corresponding 355
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
membership function, as well as there are no methods of an estimation of appropriateness and correctness of membership functions put forward in various ways. The methods used for constructing a membership function, should be flexible enough so that they could be rearranged easily for action optimization of algorithms, which are using these membership functions. The problem of choosing a membership function is also essential, as the efficiency of many algorithms depends on the form of used membership function. Due to the fact that between elements, which are members of any set or are independent, there can be no sharp edge, we often cannot give a definite answer to a question on value of a membership function in limits of traditional formal logic. The professor of the University of California Lotfі A. Zadeh in 1965 developed the basics of the fuzzy sets theory; he also offered an exit from this uneasy situation. Linguistic variable – is a variable which accepts value from a set of words or word combinations of some natural or artificial language. The linguistic variable can be defined as a variable, the values of which are not numbers, but words or sentences in the natural language used in verbal human dialogue. For example, the linguistic variable “proficiency” can accept following values: “very weak”, “weak”, “above average”, “average”, “below average”, “high”, “very high”, etc. These values, which display degree of expressiveness of a variable, are called in the fuzzy sets theory as terms (a term – to name). It is clear that the variable “proficiency” will be a usual variable, if its values are exact numbers, and it becomes a linguistic variable as it is used in fuzzy judgments. Each value of a linguistic variable corresponds to a certain fuzzy set with its membership function. So, the linguistic value “Excellent university” can correspond to a membership function of some mathematical dependence, and the terms of the linguistic value can be expressed as follows: highly excellent university, excellent university, excellent university of average type, not absolutely excellent university etc. Let's consider an example connected with managing the complexity of teaching material presentation according to motivation and speed of mastering new material by students. In this case empirical knowledge of the considered pedagogical problem can be presented in the form of heuristic rules, which are developed by a skilled teacher intuitively and internally for the case of taking an administrative decision. The knowledge base can have such appearance: 1. If Motivation of training is Very positive, and Speed of mastering of a new material is High, it is necessary to give (use) a material of Very high complexity. 2. If Motivation of training is Very positive, and Speed of mastering of a new material is Low it is necessary to give a material of Above average complexity. 3. If Motivation of training is Positive, and Speed of mastering of a new material is High it is necessary to give a material of High complexity. 4. If Motivation of training is Positive, and Speed of mastering of a new material is Low it is necessary to give a material of Average complexity. 5. If Motivation of training is Very negative, and Speed of mastering of a new material is Low it is necessary to give a material of Very low complexity. 6. If Motivation of training is Very negative, and Speed of mastering of a new 356
Секция 4. «Информационные технологии в образовании»
material is High it is necessary to give a material of Below average complexity. 7. If Motivation of training is Negative, and Speed of mastering of a new material is Low it is necessary to give a material of Low complexity. 8. If Motivation of training is Negative, and Speed of mastering of a new material is High it is necessary to give a material of Average complexity. 9. If Motivation of training is Very positive, and Speed of mastering of a new material is Average it is necessary to give a material of High complexity. 10. If Motivation of training is Positive, and Speed of mastering of a new material is Average it is necessary to give a material of Above average complexity. 11. If Motivation of training is Very negative, and Speed of mastering of a new material is Average it is necessary to give a material of Low complexity. 12. If Motivation of training is Negative, and Speed of mastering of a new material is Average it is necessary to give a material of Below average complexity. 13. If Motivation of training is Standard (within normal limits), and Speed of mastering of a new material is High it is necessary to give a material of Above average complexity. 14. If Motivation of training is Standard, and Speed of mastering of a new material Low it is necessary to give a material Below average complexity. 15. If Motivation of training is Standard, and Speed of mastering of a new material is Average it is necessary to give a material of Average complexity. This information will be used at construction of base for rules of fuzzy interference system, which will allow to realize the given fuzzy model management. Let's remind that motives are internal forces connected with personal needs, and engagement to educational activity; in other words, motives – are intended, acknowledged and experienced needs, particularly an interest for educational work, cognitive activity and a considered lesson topic etc. Motivation is measured in relative values, for example, in per cents (from 0 % to 100 %). In pedagogic the reason is generally identified with such concepts, as influence, action, influence indicator and parameter. One factor is defined according to at least two or more product development reasons of the same membership groups (for example, general or specific one). If to consider the “training motivation” didactic factor as a management system of complexity of teaching material presentation it is necessary know that this concept has a complex internal structure. The motivation of training can be positive and negative. As an example we will show product development reasons of some of such motivations (Podlasyj, 2002; p. 338): – Reason impulse (positive – “I want” and “I can”; negative – “I must” and “I shall”); – Duration (accordingly: significant – insignificant); – Inevitability (weak – strong); – Cognitive organization (deliberate – mechanical); – Intellectual flexibility (easiness of transition from some intellectual actions to other – rigidness thinking); – Rate (heated – sluggish); 357
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
– Purpose characteristic (attractive – unpleasant); – Emotional coloring (satisfaction – depression); – Imagination intensity (considerable – insignificant) etc. Speed of mastering of a new material is time for mastering of Information and meaning elements of a text (IMET) per time unit, and complexity (difficulty) of a material is degree of its mastering. During the lesson 0 to 15 IMET can be perceived, therefore the range of definition of this value will fluctuate in different scales. The material complexity can be measured in different scales. For convenience of the task solution, we will choose a 7-point scale which conform with seven terms below (from 1 to 7). To form a rule base for a fuzzy interference system it is necessary to define preliminary input and output linguistic variables. From the statements above it is clear that as one of input variables it is necessary to use training motivation: x1 – “Training motivation”, the second linguistic variable is x2 – «Speed of mastering». As an output linguistic variable a managing value of complexity of teaching material presentation will be used: y – “Material complexity”. To reduce rules recording we will use standard MatLab symbols. As terms the following is used: For what should be given as a teaching material: Very high complexity – PB (posіtіve bіg); High complexity – PM (posіtіve medіum); Above average complexity – PS (posіtіve small); Average complexity – ZЕ (zero); Below average complexity – NS (negatіve small); Low complexity – NM (negatіve medіum); Very low complexity – NB (negatіve bіg). For training motivation: Very positive – PB; Positive – PS; Standard – ZЕ; Negative – NS; Very negative – NB. For speed of mastering of a new material: High – PM; Average – ZЕ; Low – NM. Thus, we have executed the fuzzyfication of input variables. For our case the fuzzy interference system will contain 15 rules of the fuzzy knowledge database as follows: 1. IF «x1 is PB» AND »x2 there is PM» THAT «y is PB» 2. IF «x1 is PB» AND «x2 there is NM» THAT «y is PS» 3. IF «x1 is PS» AND «x2 there is PM» THAT «y is PM» 4. IF «x1 is PS» AND «x2 there is NM» THAT «y is ZE» 5. IF «x1 is NB» AND «x2 there is NM» THAT «y is NB» 6. IF «x1 is NS» AND «x2 there is PM» THAT «y is NS» 358
Секция 4. «Информационные технологии в образовании»
7. IF «x1 is NS» AND «x2 there is NM» THAT «y is NM» 8. IF «x1 is NS» AND «x2 there is PM» THAT «y is ZE» 9. IF «x1 is PB» AND «x2 there is ZE» THAT «y is PM» 10. IF «x1 is PS» AND «x2 there is ZE» THAT «y is PS» 11. IF «x1 is NB» AND «x2 there is ZE» THAT «y is NM» 12. IF «x1 is NS» AND «x2 there is ZE» THAT «y is NS» 13. IF «x1 is ZE» AND «x2 there is PM» THAT «y is PS» 14. IF «x1 is ZE» AND «x2 there is NM» THAT «y is NS» 15. IF «x1 is ZE» AND «x2 there is ZE» THAT «y is ZE» Let's open the FіS-editor and define 2 input variables with names x1=”Motivation__training” and x2=”Speed__mastering” and one output variable with a name y=”Complexity__material”. Through Fіle Export To Fіle we save the fuzzy system file under name Complexіty1.fіs. The screenshot of FіSeditor graphic interface for these variables is shown in Figure 1.
Figure 1 – The main screen of the FіS-editor for two input variables Solving this issue we will use a fuzzy interference algorithm of Mamdani type, therefore we will leave the MatLab default type unchanged. There is no necessity to change other parameters of a developed fuzzy model set by default in Fuzzy Logіc Toolbox. 359
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Let us define functions of membership terms for each variable of a fuzzy interference variable. For this purpose we will use system membership functions editor Fuzzy Logіc Toolbox. For an input variable x1 it is necessary to add two more additional terms to already available three ones, which are set by default, and it is necessary to define parameters of corresponding membership functions (Edіt Add MFs). Graphic interface layout of the membership functions editor after entering the first input variable is represented in Figure 2.
Figure 2 – Membership functions editor screen “Motivation__training” after filling its action range and terms names For the second input variable x2 it is necessary to leave 3 default terms and to change only membership functions type and parameters. For an input variable y it is necessary to add 4 terms to 3 default ones, and to set parameters of corresponding membership functions. Graphic interface layout of the membership functions editor after entering an output variable is represented in Figure 3.
360
Секция 4. «Информационные технологии в образовании»
Figure 3 – Membership functions editor screen “Speed__mastering” after filling its action range and terms names In the same way we will edit parameters of entering values for output membership function “Complexity__material”. The screen layout the rules editor for output function is presented in Figure 4.
Figure 4 – The graphic interface of the membership function editor “Complexity__material” after filling parameters of the fuzzy interference system 361
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Now we will set 15 rules for a developed fuzzy interference system. For this purpose we will use the Fuzzy Logic Toolbox rules editor (Edіt Rules). The graphic interface layout of the editor after entering all 15 fuzzy interference rules is represented in Figure 5. To provide fine adjustment of the fuzzy model constructed by us, it is possible to enter other parameters, but for this purpose it is necessary to know definitely the membership function type.
Figure 5 – The graphic interface of the editor after entering the knowledge database of the fuzzy interference system Now let us open the viewer of fuzzy logic system rules (Vіew Rules) and look at the calculated result (Figure 6).
362
Секция 4. «Информационные технологии в образовании»
Figure 6 – Visualization of the fuzzy logic system to determine material complexity in Rule Vіewer And now we will perform an experiment, for this purpose we will enter values of input variables for a particular case when the motivation of training is negative (NS) and is 25 % (on a 100-point scale), and speed of mastering of a teaching material is average (ZE) and makes 7 IMET/lesson (on a 15-point scale). After performing the fuzzy interference procedure for our model, the system will return a result of an output variable according to the material complexity of 3 points (on a 7-point scale). That means that under such input parameters the teacher should select (and use) a material of below average complexity (NS) during the lesson presentation (Figure 7).
363
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Figure 7 – Prognostic experiment: Motivation__training value – negative (25 %), Speed__mastering – average (7 IMET/lesson) This value shows a good consistency of the model and submits its correspondence to current pedagogic reality. And what will happen, if the motivation of training of students is absolutely absent (0 %), but, at the same time speed of mastering of a material will make the maximum size (that is 15 IMET/lesson)? What complexity of a material should be set for a lesson then? To these questions the fuzzy logic system gives the exact answer: complexity degree of 3 points (on a 7-point scale) (Figure 8). As we see it is the same complexity, as well as in the previous case, and here emerges a new question. What is the reason for equal results under absence of motivation? In our opinion it is possible only when the teacher uses active methods of training during the lesson, that means such actions leading to a productive result. Certainly, here there is nothing to do without modern educational technologies. As we see, such modeling on the basis of computer fuzzy logic system provides a magnificent result of a pedagogical forecast.
364
Секция 4. «Информационные технологии в образовании»
Figure 8 – Prognostic experiment: Motivation__training value - zero (i.e. it is absent – 0 %), Speed__mastering – high (15 IMET/lesson) Sometimes for the general analysis of a developed expert prognostic system a visualization of a corresponding fuzzy interference surface (View Surface) can be useful as well (Figure 9). This surface allows to establish dependence of initial variable values on values of input variables of a fuzzy model of material complexity control system. This dependence can form a basis for specific recommendations for those, who conducts lesson. In fact, we have scientifically solved the problem which in the classical theory of education management is known as a problem of synthesis of control actions. Thus for its decision computer means of fuzzy logic and the fuzzy sets synthesis of operating influences have been used. It is sometimes very convenient to use one-dimensional diagram of dependences. For example, changing names of variables in entry fields (X(іnput) and Y(іnput)), it is possible to set one-dimensional dependence of Complexity__material on Speed__mastering. Figure 10 represents an indicator of speed mastering continuing to increase somewhere in the middle of the diagram, but the material presentation complexity remains for some time constant ( at 4 points level); it is also observed both in the beginning, and in the end of this process. 365
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Figure 9 – Visualization of a fuzzy interference surface for material complexity
Figure 10 – Visualization of one-dimensional dependence of “Complexity__material” on “Speed__mastering”
366
Секция 4. «Информационные технологии в образовании»
Conclusion Finishing the description of a computer way of managing the complexity of teaching material presentation and regarding received results, we conclude that on the basis of the fuzzy logic theory and fuzzy sets theory it is possible to carry out objective and precise calculations of a motivational component of training and speed of mastering a new material in terms of its complexity. In such a way the teacher can reliably predict the result of the future prepared lesson. Management of teaching material complexity is one of conditions for increasing lesson efficiency and for improving quantitative methods in pedagogic being an information process. In its turn it is a a component of a new branch of human knowledge – education management scientometrics. The model based on computer fuzzy logic system gives an opportunity to measure material complexity when giving it at lessons. It allows to avoid subjectivity in selection of teaching material complexity level for the lesson, and, as a result, to increase essentially the education level. Integrating educational and information technologies is a time-bound process and so far it is impossible to draw the line between achievements in education management on the one hand and achievements in mathematics and computer technologies in taking effective pedagogical decisions on the other. References 1. Bespal’ka V. P. (1989) Century of the Item Composed pedagogical technology, Moscow, USSR: Pedagogic, 192 p. 2. Sergeeva V. P. (2001) Management educational systems: the Program-method the grant, Moscow, Russian Federation, 160 p. 3. Konarzhevskiy Y. A. (2000) Intraschool management, Moscow, Russian Federation: the Center “Ped. Search”, 224 p. 4. Pikelnaya V. S. (1990) Theoretical bases of management (school aspect): the Method, the grant. – Moscow, USSR: “The higher school”, 175 p. 5. Potashnik M. M., Moiseyev A. M. (1997) Management modern school (In questions and answers), Moscow, Russian Federation: “New school”, 352 p. 6. Khrikov E. N. (2006) Management of educational institution: The manual, Kiev, Ukraine: “Knowledge”, 365 p. 7. Slastenin V. A., Pozimova L. S. (1997) Pedagogic : innovative activity, Moscow, Russian Federation: “The Master”, 224 p. 8. Pedagogic (2000) / Under edition S. A. Smirnov, Moscow, Russian Federation: Publishing centre “Academy”, 512 p. 9. A management of pedagogical collective (1995): models and methods / the Grant for heads of educational institutions // Under the editorship of V. S. Lazarev. – Moscow, Russian Federation: The centre of social and economic researches, 158 p. 10. Guralyuk A. G. Management of establishment after the degree pedagogical education with application of computer technologies (2008): The 367
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
dissertation author's abstract on competition of scientific degree of the candidate of pedagogical sciences, Kiev, Ukraine, 24 p. 11. Sukhovich G. A. Monitoring of development of general educational educational institution on the basis of computer technologies (2008): The dissertation on competition of scientific degree of the candidate of pedagogical sciences, Kiev, Ukraine, 196 p. 12. Demidov D. V. Modeling of technology of the organization of educational process at pedagogical universities (2009): The dissertation on competition of scientific degree of the candidate of pedagogical sciences, Lugansk, Ukraine, 260 p. 13. Morze N. V. (2013) Creation of information educational space of region as the catalyst of formation IK-kompetentsy of teachers. Educational Technology and Society, 16 (1), 787–799, (http://ifets.ieee.org/russian/periodical/journal.html). 14. Podlasyj I. P. Pedagogic (2002). A new course : studies. in 2 books, Kn. 1, Moscow, Russian Federation: “VLADOS”, 576 p. Koliada M.G., Bugayova T.I. Computer implementation of the model of fuzzy sets to manage the complexity of presenting teaching material in class. There is a description of computer management of teaching material presentation complexity using the fuzzy set theory. There is a demonstration of management technology on the basis of fuzzy logic information system “Fuzzy Logic Toolbox”. Keywords: Pedagogical Forecasting, Effective Training, Managing material complexity, Computer model of indistinct sets, Scientometrics, Formalization of human statements.
Коляда М.Г., Бугаева Т.И. Компьютерная реализация модели нечетких множеств для управления сложностью подачи учебного материала на занятии. Описана компьютерная реализация управления сложностью подачи учебного материала на занятии на идеях теории нечетких множеств. Показана технология управления на основе информационной системы нечеткой логики “Fuzzy Logic Toolbox”. Ключевые слова. Педагогическое прогнозирование, эффективное обучение, управление сложностью материала, компьютерная модель нечетких множеств, наукометрия, формализация человеческих высказываний/
368
Секция 4. «Информационные технологии в образовании»
УДК 004.9.1.2
ТЕСТ ТЬЮРИНГА, НАСЛЕДИЕ В.М.ГЛУШКОВА И КОМПЬЮТЕРНОЕ ОБУЧЕНИЕ В СВЕТЕ ТЕКУЩЕГО МОМЕНТА Курилов М.А. ГОУ ВПО «Донецкий национальный технический университет» (г. Донецк) email: kurprog@gmail.com Курилов М.А. Тест Тьюринга, наследие В.М.Глушкова и компьютерное обучение в свете текущего момента. В статье описаны некоторые варианты современной интерпретации Теста А.Тьюринга, помещена авторская интерпретация идей академика В.М.Глушкова, высказанных им более пятидесяти лет назад. Предложена модель обучения основам алгоритмизации и программирования. Ключевые слова: Тест А.Тьюринга, искусственный интеллект, модель обучения В.М.Глушкова.
Введение Настоящее время характеризуется значительной скоростью развития научно-технического прогресса. Особенно высокие темпы своего развития демонстрируют Компьютерные Информационные Технологии (КИТ). В этих условиях поиск и использование новых дидактических методов, связанных с изучением соответствующих дисциплин, является одной из актуальных задач. Дополнительным аспектом, побуждающим к соответствующему поиску, является многозначная интерпретация определения ряда понятий, используемых в повседневной жизни. Тест Тьюринга, интеллект искусственный, естественный Тест Тьюринга — эмпирический тест, идея которого была предложена А.Тьюрингом в статье «Вычислительные машины и разум», опубликованной в 1950 году в философском журнале Mind. Тьюринг [1]задался целью определить, может ли машина мыслить. Стандартная интерпретация этого теста звучит следующим образом: «Человек взаимодействует с одним компьютером и одним человеком. На основании ответов на вопросы он должен определить, с кем он разговаривает: с человеком или компьютерной программой. Задача компьютерной программы — ввести человека в заблуждение, заставив сделать неверный выбор». Все участники теста не видят друг друга. Если судья не может сказать определённо, кто из собеседников является человеком, то считается, что машина прошла тест. Чтобы протестировать именно интеллект машины, а не 369
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
её возможность распознавать устную речь, беседа ведётся в режиме «только текст», например, с помощью клавиатуры и экрана (компьютерапосредника). Переписка должна производиться через контролируемые промежутки времени, чтобы судья не мог делать заключения, исходя из скорости ответов. Во времена Тьюринга компьютеры реагировали медленнее человека. Сейчас это правило тоже необходимо, потому что они реагируют гораздо быстрее, чем человек. Нынешний уровень развития человечества значительно изменил предназначение самого теста. Сейчас он может с успехом быть использован не только для оценки интеллекта машинного, но и для интеллекта человека. На рисунке № 1 приведен вариант определения этого понятия одним из известнейших людей России и Украины.
Рисунок 1 – А.А. Вассерман об интеллекте человека В рамках обоснования адекватности и актуальности предложенного определения человеческого интеллекта, заметим, что аналогичные дефиниции можно встретить и у В.М.Глушкова [2-3], а также найти их в Youtube по тегам “Мозг академика Глушкова” и “Глушков. Ученый, опередивший время”. Ознакомившись с предложенными источниками, можно узнать ответы на следующий ряд вопросов: - Почему Глушков у министра обороны СССР перед своей смертью просил танк ?; 370
Секция 4. «Информационные технологии в образовании»
- Что значит инстинкт самосохранения, что такое принцип первого лица, что значат высказывания “никаких комиссий”, “двухуровневая система управления”, а также, что такое “информация” и “знание” ?
Рисунок 2 - Информация по В.М.Глушкову Визуальный анализ этого изображения дает ответ на вопросы о первичности, материальности и объективности соответствующих понятий. Актуальность скорости обучения Более пятидесяти лет назад основатель информатики академик В.М.Глушков акцентировал внимание на все возрастающем объеме вновь появляющейся информации. При этом сама информация естественным образом имеет свойство “старения”. Скорость появления новой информации естественным образом стимулирует скорость её усвоения. Рассмотрим, как В.М.Глушков интерпретировал процесс обработки информации и превращение её в знания. Сам этот процесс он рассматривал в свете общей концепции ИСКУССТВЕННОГО ИНТЕЛЛЕКТА [2-3] , а информацию он интерпретировал, как “…совокупность сведений, которые циркулируют в природе и обществе, в том числе и в созданных человеком технических устройствах. Информация и существует постольку, поскольку существуют сами материальные тела и созданные ими неоднородности…” 371
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Пирамида обучения как современная модель в системе образования Один из зарубежных специалистов в области использования аудио и видео материалов при обучении является Эдгар Дейл (1900-1985). Областью его научных интересов была проблема усваивания информации при вербальном преподавании той или иной дисциплины. Интересовался он и тестированием «читаемости текста и легкостью его усваивания». В результате своих исследований ученый пришел к выводу, что: — слушать лекции на тему или читать материалы по предмету - это НАИМЕНЕЕ эффективный способ выучить что-либо; — обучать других и использовать изучаемый материал на практике это наиболее ЭФФЕКТИВНЫЙ способ выучить что-либо. Графическим воплощением результатов исследований Э. Дейла явилась так называемая пирамида обучения (рис. 3).
Рисунок 3 – Пирамида обучения Основатель отечественной информатики академик В.М. Глушков [2-9, ] на базе собственного опыта еще в пятом классе школы пришел к тем самым выводам, к которым пришел Э. Дейл. ДонНТУ и Малая академия наук То, что программирование, как часть информатики, способствует развитию человеческой логики, известно многим. Потребность в специалистах в области информационных технологий в настоящее время исчисляется миллионами человек. Одним из эффективных способов подготовки специалистов в этом направлении является изучение основ алгоритмизации и программирования на базе простых языков и игровых 372
Секция 4. «Информационные технологии в образовании»
движков. Программные средства для создания анимированных изображений, а также разработка компьютерных игр различной степени сложности, являются наиболее простым инструментом для осваивания практически всех тайн программирования. В дальнейшем приобретенные начальные навыки могут быть с успехом использованы при разработке систем управления дронами, беспилотниками и другими робототехническими устройствами. Обучение осуществляется на базе имеющегося набора учебных программных модулей общей численностью более 650 единиц. Число таких модулей постоянно увеличивается, как за счет работ самих обучаемых, так и работ специалистов-преподавателей. Каждый элемент такого набора представлен в виде хорошо документированного текста программы и результатом его работы в виде отдельных скриншотов или анимированного ролика. Обучаемый имеет свободный доступ к любому учебному модулю. Сам модуль выполняет функции программного шаблона, который может быть модифицирован обучаемым с учетом всех его пожеланий и требований. Необходимая при этом информация, доступна ему как в электронном, так и в бумажном виде.
Рисунок 4 – Скриншот работы простой игры типа “стрелялка” Приведенный выше учебный программный модуль состоит из нескольких десятков строк исходного текста графического Бейсика. Условно сам исходный текст программы можно разбить на следующие фрагменты текста: А) Установка графического режима работы монитора; Б) Загрузка и вывод на экран трех изображений графических файлов (НЛО как цель, пушка и снаряд); В) Циклическая обработка клавиш управления(стрелки влево и вправо) для горизонтального перемещения пушки, клавиши ПРОБЕЛ – вертикальный полет снаряда; Г) Определение факта пересечения снаряда и цели – визуализация эффекта ее поражения; Д) Автоматическое горизонтальное перемещение цели и изменение скорости ее перемещения при очередном поражении последней; Выводы В статье рассмотрена современная интерпретация Теста А.Тьюринга, освещен ряд аспектов из завещания В.М. Глушкова, предложена модель ускоренного обучения школьников основам алгоритмизации и программирования. 373
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Литература 1. Гэри Маркус Человек ли Я? // В мире науки, № 5/6, 2017. – C. 72 -78. 2. Максимович Г.В. Беседы с академиком В.Глушковым, 2-е изд., переработанное. М. “Молодая гвардия”, 1978. 224 с. (серия “Эврика”) 3. Глушков В.М., Валах В.Я. Что такое ОГАС ? – М.: Наука, 1981 – 160 с. 4. Курилов М.А. Информатика, алгоритмизация и программирование: специальные формы обучения по методу академика В.М. Глушкова / М.А. Курилов, В.П. Меживой // Право ДНР, 2016, № 1. - С. 92-100. 5. Курилов, М.А. Критерии проектирования моделей обучения основам алгоритмизации и программирования // Материалы V Международной научно-технической конференции «Современные информационные технологии в образовании и научных исследованиях, СИТОНИ-2017». Донецк, 2018. - С. 322-327. 6. Курилов, М.А. Системно-кибернетический подход к изучению информатики и программирования по методу академика В.М. Глушкова / М.А. Курилов, С.Б. Иванова, В.Н.Пигуз // Проблемы искусственного интеллекта, 2017. - № 3. - С. 58-64. 7. Курилов М.А. Аксиомы программирования и некоторые вопросы дистанционного обучения / Шевченко А.И., Курилов М.А., Сыпченко Л.П. // Искусственный интеллект, 2012. - № 1. – С. 251-258. 8. Курилов М.А. Еще раз об аксиомах программирования и об обучении ему / М.А.Курилов, С.Б.Иванова, В.Н.Пигуз // Искусственный интеллект.-2014. - № 3. – С. 4-11. 9. Курилов М.А. Вопросы реализации дистанционного обучения в высших учебных заведениях юридического профиля / Меживой В.П., Курилов М.А. // Право ДНР, 2016, № 2. – С. 78 -84. Курилов М.А. Тест Тьюринга, наследие В.М.Глушкова и компьютерное обучение в свете текущего момента. В статье описаны некоторые варианты современной интерпретации Теста А.Тьюринга, помещена авторская интерпретация идей академика В.М.Глушкова, высказанных им более пятидесяти лет назад. Предложена модель обучения основам алгоритмизации и программирования. Ключевые слова: Тест А.Тьюринга, искусственный интеллект, модель обучения В.М.Глушкова. Kurilov M.A. Turing test, the legacy of V.M.Glushkov and computer training in the light of the current moment. The article describes some versions of the modern interpretation of the Test A. Turing; the author's interpretation of the ideas of academician V.M.Glushkov, expressed by him more than fifty years ago, is placed. A model of teaching the basics of algorithmization and programming is proposed. Keywords: A. Turing test, artificial intelligence, training model of V.M. Glushkov.
374
Секция 4. «Информационные технологии в образовании»
УДК 681.3
РАЗРАБОТКА ВИРТУАЛЬНОЙ ЛАБОРАТОРИИ ДЛЯ ИЗУЧЕНИЯ АРХИТЕКТУРЫ ПРОЦЕССОРА Мостовая В.А., Авксентьева О.А., Мальчева Р.В. ГОУ ВПО «Донецкий национальный технический университет» (г. Донецк) e-mail: lm99@inbox.ru Мостовая В. А., Авксентьева О. А., Мальчева Р. В. Разработка виртуальной лаборатории для изучения архитектуры процессора. В данной статье проанализирована архитектура базовой вычислительной машины и минимальные требования для виртуальной лаборатории с целью освоения принципов работы процессора. С популяризацией персональных компьютеров, овладение приемами работы с процессорами стало важным шагом к развитию виртуальных лабораторий как системы обучения. Ключевые слова: виртуальная лаборатория, архитектура, процессор, изучение.
Введение Для изучения принципов построения компьютерной архитектуры и ее функционирования не достаточно рассмотреть даже подробное описание и детальные рисунки. Следует потратить время для непосредственной работы с вычислительной машиной, оснащенной пультом управления и различными индикаторами. Для данных нужд можно использовать либо эталонную машину, либо модель. В свою очередь модели делятся на: - физические, представляющие собой стенд со структурой изучаемого устройства; - имитационные, представляющие собой компьютерную программную систему, которая имитирует работу изучаемого устройства. К сожалению, использовать эталонную машину экономически не выгодно, т.к. массовый выпуск лишь для обучения нецелесообразно. С другой стороны, с развитием и распространением вычислительных машин достаточно легко создать обучающий стенд, но, таким образом, все равно доступ к большинству элементов микропроцессорных устройств отсутствует. Все это привело к необходимости использования иных способов обучения. На данный момент, существует множество способов донесения информации для получения знаний. Как для преподавателей, так и для студентов одним из благоприятнейших способов восприятия нового материала является виртуальная лаборатория [1]. Данная система имеет разный вид и функционал в зависимости от сферы использования, но ее суть остается неизменной - это комплекс мероприятий, демонстрирующих все нетипичные моменты и нюансы практики, используя разные виды данных (текст, видео, звук, графика). 375
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Анализ требований к виртуальной лаборатории Пользователи виртуальной лаборатории - это преподаватель и студент. Цель студента – освоение материала и самостоятельное, осознанное выполнение курса лабораторных работ. Цель преподавателя – организация самостоятельной работы студента, контроль заданий и выполнения практической составляющей курса. Поэтому виртуальная лаборатория должна обеспечивать достижение этих целей [2]. Следовательно, для организации виртуальной лаборатории требуется устройство ввода, вывода и необходимое ПО. В качестве платформы для такой системы можно использовать персональный компьютер. В качестве устройства ввода целесообразнее всего использовать клавиатуру и мышь для имитации приказов, подаваемых с пульта управления машины. Таким образом можно задавать начальные данные и элементы для вывода, для визуализации и контроля выполнения того или иного действия. Для устройства вывода будем использовать дисплей компьютера. На дисплей будут выводиться состояния регистров (управления, состояния и РОНов), счетчика команд и сигналов на шинах данных и управления. Моделирование процесса выполнения команд в процессоре Для выполнения любой программы необходимо загрузить ее и исходные данные в память машины. Поместить в счетчик команд адрес начала программы и запустить выполнение, благодаря чему, из памяти будет считана первая команда и помещена в регистр команд. Дальнейшее выполнение программы будет зависеть от самой команды. Рассмотрим варианты команд: 1. Если это команда перехода, то в счетчик команд будет помещен новый адрес следующей команды, который получаем из адресной части текущей команды. Учитывая, что переход может быть условный и безусловный, стоит проверять выполнение условия для команд условного перехода (проверяем регистр состояния), и если оно не выполняется, то не следует изменять значение счетчика команд. 2. При команде пересылки содержимое аккумулятора будет помещено в память. По сути, это является выгрузкой результата в память или носитель. 3. Если же команда подразумевает арифметические/логические действия над данными, то из памяти считываются операнды (адреса указаны в команде) и производятся действия, закодированные в коде команды. Последней командой будет команда остановки, которая завершает выполнение программы. Алгоритм выполнения команд процессора приведен на рис. 1.
376
Секция 4. «Информационные технологии в образовании» Начало
Нет
Пуск Да
Чтение команды из памяти, по адресу из счетчика команд Наращивание счетчика команд
Команда «ОСТАНОВ»
Да
Нет Команда перехода Да Нет
Условие выполняется Да В счётчик команд заносится адрес из команды
Конец
Нет Команда пересылки
Нет
Да Содержимое аккумулятора записывается в память по адресу из команды
Считывание операндов из памяти Выполнение операции в АЛУ
Рисунок 1 - Алгоритм выполнения команд процессора Для самостоятельного изучения студентами основных операций процессора полезно предоставлять им различные модели, от простейших примеров операций до демонстрационных роликов (рис. 2) [3].
Рисунок 2 – Демонстрация выполнения ассемблерной команды «логическое и» Особая сложность возникает при изучении выполнения операций в процессорах с различной архитектурной организацией. Для этого в рамках виртуальной лаборатории создаются модели, называемые гипотетическими вычислительными машинами (ГВМ). Рассмотрим модель 3-хадресной ГВМ со следующими параметрами (рис. 3): - 32-разрядное слово памяти; 377
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
- объем памяти 256 слов => 8-битные адреса операндов и команд (биты 0…7 , 8…15 и 16…23 поля команды); - все операции выполняются над содержимым 1-го операнда, определяемым исполнительным адресом (A1ex), и содержимым 2-го операнда, определяемым исполнительным адресом (A2ex); - результат запоминается в ячейку памяти, определяемую исполнительным адресом (A3ex); - исполнительный адрес определяется способом адресации, задаваемым 4-х битным модификатором адреса МА.
Рисунок 3 – Формат регистра команд На рис. 4 показан фрагмент работы системы, моделирующей работу 3хадресной вычислительной машины при выполнении команды «сложение».
Рисунок 4 – Демонстрация выполнения команды «сложение» в 3-хадресной ГВМ Для создания подобных моделей при проектировании виртуальной лаборатории используются различные современные технологии, такие как Power Point и Flash. Для организации удаленного доступа – интернет и сетевые технологии. 378
Секция 4. «Информационные технологии в образовании»
Заключение В заключение следует отметить, что виртуальные лаборатории достаточно универсальны: с помощью одного и того же набора технических средств возможно производить изучение работы разных элементов устройства с заданной детализацией. Для исследования каждого следующего устройства следует только лишь изменить исходные данные и интерфейс отображения (алгоритм для моделирования, структуру и компоненты для вывода – регистры и промежуточные результаты). Недостатком лаборатории является невозможность отследить работу оригинала при реальных входных сигналах и помехах. Так же, стоит учесть, что виртуальная лаборатория должна отображать состояние лишь заданных элементов эталонной машины и в заданные моменты времени, предусмотренные программой. Литература 1. Кириллов В. В. Архитектура базовой ЭВМ. – СПб: СПбГУ ИТМО, 2010. – 144 с. 2. Мальчева Р.В. Разработка виртуальной лаборатории для изучения и моделирования архитектур процессорных элементов / Р.В. Мальчева, О.А. Авксеньева // Программная инженерия: методы и технологии разработки информационно- вычислительных систем (ПИИВС-2016): сборник научных трудов I научно-практической конференции. 16-17 ноября 2016 г. – Донецк: ГОУВПО «ДОННТУ, 2016. - С. 102-108. 3. Мальчева Р.В. Моделирование внутренних операций процессорных элементов / Р.В. Мальчева, Т.В. Завадская // Информатика и кибернетика. Донецк: ДонНТУ, 2016. - №3 (5). – С. 65-71. Мостовая В.А., Авксентьева О.А., Мальчева Р.В. Разработка виртуальной лаборатории для изучения архитектуры процессора. В данной статье проанализирована архитектура базовой вычислительной машины и минимальные требования для виртуальной лаборатории с целью освоения принципов работы процессора. С популяризацией персональных компьютеров, овладение приемами работы с процессорами стало важным шагом к развитию виртуальных лабораторий как системы обучения. Ключевые слова: виртуальная лаборатория, архитектура, процессор, изучение. Mostovaya V.A., Avksentieva O.A., Malcheva R.V. Development of a virtual laboratory for processor architecture understudying. This article analyzes the architecture of the base computer and the minimum requirements for a virtual laboratory in order to master the principles of processor operation. With the popularization of personal computers, mastering the techniques of working with processors was an important step towards the development of virtual laboratories as a training system. Keywords: virtual laboratory, architecture, processor, understudying. 379
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
УДК 371.3
ПРИМЕНЕНИЕ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ ДЛЯ СОВЕРШЕНСТВОВАНИЯ ОРГАНИЗАЦИИ УЧЕБНОГО ПРОЦЕССА В ТЕХНИЧЕСКОМ УНИВЕРСИТЕТЕ Павлыш В.Н., Зайцева М.Н. ГОУ ВПО «Донецкий национальный технический университет» (г. Донецк) e-mail: pavlyshvn@mail.ru Павлыш В.Н., Зайцева М.Н. Применение информационных технологий для совершенствования организации учебного процесса в техническом университете. Рассмотрены проблемы применения компьютерных технологий при изучении языков в техническом вузе. Ключевые слова: образование, информация, процесс, система, метод.
Введение Развитие современного общества характеризуется процессом информатизации образования. В этой ситуации основной акцент перемещается с простого усвоения информации на развитие мышления, с умения использовать информацию на способность решать практические и профессиональные задачи в условиях, которые быстро изменяются. По мере развития технологий образования необходимо постепенно отказываться от репродуктивного метода, от запоминания знаний, от усвоения умений – «ум заключается не только в знании, но и в умении применять знание на деле» (Аристотель). В период модернизации процесса обучения необходимо воспитывать у нового поколения студентов установку самовоспитание, саморазвитие, личности на самообразование, самоусовершенствование, творческое отношение к любому виду деятельности и развитие критического мышления. Логическое мышление, умственная деятельность являются основой, на которой держится весь научно-образовательный процесс – «не мыслям надобно учить, а мыслить» (И.Кант). Изложение основного материала Обучение с использованием компьютерных технологий постепенно становится новым образовательным стандартом, который внедряется во все структуры, проводящие подготовку и переподготовку специалистов. Одной из базовых технологий компьютерного обучения является программированный подход, основными достоинствами которого являются: 380
Секция 4. «Информационные технологии в образовании»
1) дозированность учебного материала; 2) активная самостоятельная работа ученика; 3) постоянный контроль усвоения; 4) индивидуализация темпа обучения, объема учебного материала; 5) возможность использования технических автоматизированных средств обучения. Программированное обучение особенно эффективно в преподавании дисциплин, основанных на фактическом материале и повторяющихся операциях, имеющих однозначные, четкие формулы, алгоритмы действий. Главная задача при организации программированного обучения – выработка автоматизированных навыков, крепких однозначных знаний и умений. В основе программированного обучения лежит обучающая программа, в которой строго систематизируется: 1) сам учебный материал; 2) действия учащегося по его усвоению; 3) формы контроля обучения. Разработанная обучающая программа реализуется в составе КСО на базе ПК. Как новое содержание требует новых форм его организации, так и новое средство предполагает переориентацию всех других компонентов дидактической системы. Поэтому установка в аудитории ПК есть не окончание компьютеризации, а ее начало – начало системной перестройки всей технологии обучения. Коренным образом преобразуется деятельность субъектов образовательного процесса – преподавателя и студентов. В качестве инструмента деятельности обучаемых и обучающих компьютер применяется в учебном процессе по иностранному языку прежде всего для получения информационной и технической поддержки. При работе с учебными материалами ПК предоставляет преподавателю разнообразные виды помощи, которая заключается не только в упрощении поиска необходимых сведений при создании новых учебных материалов за счет использования систем справочно-информационного обеспечения, но и в оформлении материалов для обучения (текстов, рисунков, графиков), а также в анализе существующих разработок. Автоматический анализ, отбор и прогнозирование эффективности учебных материалов являются важными направлениями использования компьютера в качестве инструмента информационной поддержки деятельности обучающего. Преподаватель может не только проводить отбор материалов для обучения (составлять лексические и грамматические минимумы, отбирать тексты и упражнения), но также анализировать тексты и целые учебные пособия. Процедура и техника составления словарей с помощью компьютера являются достаточно отработанными и надежными, а программы такого типа получают все большее распространение. Выделенные в результате машинной обработки определенного количества текстов и упорядоченные по различным 381
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
критериям лексические единицы служат основой при решении целого комплекса лингводидактических задач: составление грамматических справочников, разработка лексических минимумов и т.д. Применение ПК в качестве инструмента поддержки профессиональной деятельности преподавателя иностранного языка позволяет не только более эффективно работать с учебными материалами, но и оптимизировать учебный процесс путем систематической регистрации его параметров и создания банков данных по каждому конкретному учащемуся и группе обучаемых в целом (сведения об исходном уровне знаний, результаты текущего контроля, средний балл и т.п.). Системы учета и анализа ошибок обучаемых, предусмотренные во многих компьютерных обучающих программах либо существующие в виде отдельных программ, дают возможность выявить динамику и закономерности процесса обучения в ходе экспериментальных педагогических исследований и позволяют упростить работу по организации учебного процесса. Таким образом, для обучающего применение ПК в качестве инструмента деятельности обеспечивает освобождение от рутинной работы, возможность постоянного совершенствования учебных материалов, оперативного контроля за ходом учебного процесса относительно конкретного учащегося или группы обучаемых в целом, внедрения новых организационных форм обучения. По отношению к учащемуся компьютер может выполнять многочисленные функции, выступая в роли: * преподавателя; * эксперта; * партнера по деятельности; * инструмента деятельности; * обучаемого. Учащиеся могут применять ПК в соответствии со своими индивидуальными потребностями на различных этапах работы и в различных качествах. Благодаря возможностям реализации функций преподавателя, компьютер часто используется в процессе самостоятельной и домашней работы учащихся, в ходе автономного изучения языка, в целях восполнения пробелов в знаниях отстающими учащимися. В этой ситуации используются тренировочные и обучающие компьютерные программы, специально создаваемые в учебных целях. При самостоятельной работе с КОП обучаемый может: * получить учебное задание; * запросить дополнительную информацию, необходимую для его выполнения; * уяснить способ выполнения задания; * ввести ответ; 382
Секция 4. «Информационные технологии в образовании»
* получить анализ и оценку ответа. Можно отметить даже целый ряд преимуществ использования ПК для самостоятельной проработки учебного материала по сравнению с аудиторными занятиями с преподавателем: * неограниченное время работы, определяемое потребностями самого учащегося; * свободный режим работы (выбор времени работы, определение пауз в работе и темпа усвоения материала); * исключение воздействия субъективных факторов в работе (отсутствие предвзятости к кому-либо из учащихся, оценивание ответа на основе четких критериев без сравнения с результатами работы других обучаемых, неограниченное терпение, неразглашение недостатков работы). Компьютер может быть использован в качестве эксперта на заключительном этапе работы для корректировки и экспертной оценки выполненного задания. Многие учащиеся предпочитают применение компьютера в процессе выполнения «больших» заданий (написание сочинения, курсовой работы, реферата), связанных с написанием текстов значительного объема. В этой ситуации компьютер используется в качестве партнера по деятельности и одновременно инструмента информационной и технической поддержки. Применяя компьютерные средства, учащиеся: 1) вводят новую текстовую информацию с помощью клавиатуры либо используют уже подготовленные материалы, сканируя их либо вводя их в новые файлы с дискет; 2) получают доступ к обширной информации на родном и иностранном языках, благодаря справочно-информационным системам и сетям, применяя в случае необходимости системы машинного перевода; 3) оформляют, редактируют и совершенствуют письменные работы с помощью программ типа «редактор текста», спеллеров и шаблонов документов; 4) работают с интерактивными программами порождения текстов и системами автоматической переработки текста (реферирования аннотирования и т.д.); 5) систематизируют и дополняют текстовую информацию таблицами, графиками, диаграммами и рисунками. Главным предназначением компьютера в качестве инструмента учебнопознавательной деятельности является обеспечение максимальной поддержки при овладении языком, которая позволяет учащемуся перейти к более рациональным формам обучения, устраняющим разрыв между получением знаний и их действительным усвоением. Обучаемые используют ПК как инструмент деятельности не только для получения информационной и технической поддержки, но также для организации общения 383
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
дистанционного обучения с помощью компьютерных телекоммуникационных сетей. Компьютер позволяет реализовать различные формы межличностного опосредованного общения * устная контактная коммуникация (телеконференции) и письменная дистантная коммуникация (электронная почта); * индивидуальное общение (личная переписка) и групповое общение (доска объявлений) Таким образом, использование компьютерных систем обучения дает ряд преимуществ, к которым относят следующие: - возможность комбинирования различных форм представления информации (текстовой, графической, анимации, видео, аудио); - возможность адаптации курса к индивидуальным познавательным особенностям обучаемых; - предоставление обучаемым права управлять размером и очередностью выдачи порций учебного материала; - предоставление обучаемым права задавать себе скорость обучения и самостоятельно его контролировать; - интерактивность – диалоговый режим на протяжении всего процесса обучения; - применение упражнений «на собственном опыте»; - обеспечение немедленной реакции на действия обучаемых. Можно заключить, что применение компьютерных технологий в процессе овладения иностранным языком создает условия для иноязычного общения, обеспечивает широкий доступ к информации и помогает в самостоятельном изучении иностранного языка. При создании средств контроля знаний и умений необходимо определиться, какие знания и умения проверяются. В зависимости от этого выбирается вид контроля. При составлении контролирующих средств предусматриваются ограничения на время обдумывания ответа и общее время контроля, задания должны включать разноуровневые и разнообразные виды работ, содержать проблему, носить творческий, научноисследовательский характер. В КСО существует возможность выбора заданий для иллюстраций, для закрепления материала, для диагностики, для организации контроля любого вида. Таким образом, внедрение экспертных систем и компьютерных систем обучения являются основными путями инновационного развития высшего образования. Выводы Компьютерные обучающие системы представляют собой программнотехнические комплексы, включающие методическую, учебную и 384
Секция 4. «Информационные технологии в образовании»
организационную поддержку процесса обучения, производимого на базе информационных технологий и ориентированного на взаимодействие с обучаемым. Это могут быть компьютерные учебники, компьютерные обучающие системы, компьютерные системы контроля знаний, компьютерные задачники, тренажеры, компьютерные лабораторные практикумы и т.п. При разработке компьютерных систем обучения, которые будут использоваться дистанционно, необходимо обратить внимание на разработку лекционного материала, лабораторных и индивидуальных заданий, средств для контроля и самоконтроля знаний и умений, соответствующих критериев шкалы оценивания. Литература 1. К. Таунсенд, Д. Фохт. Проектирование и программная реализация экспертных систем на персональных ЭВМ.- М.: Финансы и статистика, 1990. 2. В. Н. Убейко. Экспертные системы.- М.: МАИ, 1992. 3. Д. Уотермен. Руководство по экспертным системам.- М.: Мир, 1980. 4. Д. Элти, М. Кумбс. Экспертные системы: концепции и примеры.- М.: Финансы и статистика, 1987. Павлыш В.Н., Зайцева М.Н. Применение информационных технологий для совершенствования организации учебного процесса в техническом университете. Рассмотрены проблемы применения компьютерных технологий при изучении языков в техническом вузе. Ключевые слова: образование, информация, процесс, система, метод. Pavlysh V. N., Zaitseva M. N. Application of information technologies to improve the organization of the educational process at the technical University. The problems of application of computer technologies during studying of languages in technical university are considered. Keywords: education, information, process, system, method.
385
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
УДК 37.022
МЕДИАОБРАЗОВАТЕЛЬНЫЕ АСПЕКТЫ В ПРОЦЕССЕ ОБУЧЕНИЯ Пигуз В.Н., Ивашко К.С., Изосимова С.А. ГУ «Институт проблем искусственного интеллекта» (г. Донецк) e-mail: redakcija_intellekt@mail.ru Пигуз В.Н., Ивашко К.С., Изосимова С.А. Медиаобразовательные аспекты в процессе обучения. В статье представлены общие дидактические положения применительно к методике обучения и внедрению медиаобразовательных аспектов в процесс обучения, которые не только позволяют существенно активизировать мыслительную и познавательную деятельность учащихся, повысить их интерес к конкретному предмету, способствуют улучшению качества знаний, но и открывают новые уникальные перспективы в системе образовательного процесса. Ключевые развитие.
слова:
медиаобразование,
использование,
аспект,
процесс,
Постановка проблемы Медиаобразование и все аспекты, связанные с данной областью, подразумевают совместную деятельность преподавателей и обучаемых, направленную на формирование у каждого учащегося определенной системы знаний, умений и навыков. Внедрение медиаобразовательных аспектов в систему образовательного процесса предполагает достижение конкретной цели. Цель же такого рода обучения состоит в том, чтобы дать теоретические знания и усовершенствовать практические навыки с помощью инновационного подхода, связанного со всеми видами медиа (печатными и графическими, звуковыми, экранными и т.д.), обеспечить содержательную основу для развития познавательного интереса и творческой активности учащихся; изложение материала, таким образом, приобретает особую актуальность, преодолевается психологический барьер, так как работа ориентируется на культуру общения, на обучения различным формам самовыражения при помощи медиатехники. В статье рассматривается процесс обучения, связанный с использованием медиапродуктов, изложены основные сведения о принципах построения урока «с учетом реалий сегодняшнего дня». Все научные дисциплины ставят своей главной задачей выяснение закономерностей, помогающих познавать действительность и в той или иной мере на нее воздействовать, но каждая из наук решает эту задачу по-своему в зависимости от материала, от целей и методов исследования. Содержание и целые курсы школьных дисциплин в значительной степени определяются проблемами интеллектуального развития и становления личности учащихся, 386
Секция 4. «Информационные технологии в образовании»
что включает в частности их способность к усвоению новых знаний, к самостоятельному поиску, сортировке и усвоению новой информации, умению эффективно использовать научные способы получения знаний, гибкости и оперативности мышления. Каждый школьный предмет дает много возможностей для осуществления такого развития школьников, но особое значение в современном образовательном процессе приобретает медиаобразовательный аспект, который, кроме комплекса учебновоспитательных задач, должен решать и специфические, связанные с реализацией межпредметных связей на основе широкого использования способов новых информационных технологий [1, C. 45]. Обзор по теме исследования Истоки внедрения медиаборазовательных аспектов в учебный процесс можно обнаружить еще в начале ХХ века, когда на медиакультурном олимпе возникли такие понятие, как «кинематограф», «радио», «пресса». Конечно же, неоспоримым является тот факт, что они изначально выполняли просветительскую и пропагандистскую функцию, например фильмыхроники, агитационные фильмы, выпуски самодеятельных газет и т.д. В дальнейшем это приобрело более масштабный характер, так как на фоне интереса к средствам массовой информации стали появляться кинолюбительские объединения, движение юнкоров и др. общественные и коллективные организации, которые решали задачу ознакомления учащихся с культурным наследием нации, осмыслением их гражданской и общественной позиции. В дальнейшем 50-60-х г.г. использование медиа предполагает эстетическое воспитание учащихся, например через овладение фото и видеоаппаратурой. Поскольку с течением времени и с усовершенствованием развития и влияния средств массовой информации на культурную, общественную и образовательную деятельность особое значение в образовательной сфере приобретает организация отдельных предметов, то это дает возможность не только смоделировать ситуацию либо решить поставленную задачу, но и проанализировать, интерпретировать, оценивать и т.п., и таким образом развивается критическое и творческое мышление у учащихся. Современный этап развития медиаобразования непосредственно связан с использованием самовыражения при помощи медиа, очень важным остается тот факт, что преподаватель при таком использовании должен учитывать инновации во всех сферах средств массовой информации и использовать материал прессы, телевидения, кинематографа, видео, современных мультимедийных технологий, включая Интернет. Цель, задачи исследования Поскольку медиаобразовательные аспекты в учебном процессе становятся более доступными, а способы их внедрения более удобными, то 387
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
необходимо решить вопрос, насколько эффективна работа на уроках с элементами медиа, повышается ли интерес к предметам у учеников и какие инновации появляются в сфере образования, а также немаловажным аспектом в данном исследовании считается вопрос о совместной деятельности учителя и учащегося при использовании медиаобразовательных аспектов и как подобного рода элементы ведения урока связаны с процессами интеллектуального, эмоционального, личностного и т.д. развития учащихся.
Актуальность исследования Сегодня школа подготавливает к жизни детей и подростков, шагая по возможности в ногу со временем, в том числе и с учетом появления инноваций в сфере образования. При условии обеспечения средних образовательных учреждений информационным современным оборудованием открываются огромные возможности в направлении усовершенствования учебного процесса, в частности введением в школьные курсы предметов с медиаобразовательной направленностью либо использованием на уроках материала широкого спектра средств массовой информации, которые дают возможность расширить знакомство с разными мнениями на ту или иную проблему, изучения курса с использованием нетрадиционных методов и средств, познакомить учащихся с более широким понятием моделирования при изучении дисциплин – информационным [2-4].
Полученные результаты Появление понятия «медиаобразование» и усовершенствование на ее платформе направлений развития общего образования безусловно становится перспективным, а в будущем и единственным верным шагом на пути получения качественных знаний и более полного развития личности. Как показывает современная педагогическая практика, использование медиаобразовательных аспектов в школах приобрело широкое распространение, во-первых, как дополнительное средство более эффективного развязывания уже известных дидактических задач (например, в математике при помощи оригинальных методов решения конкретных задач, в физике – разъяснения новых физических фактов на основе существующих законов и т. д.), а также участвует в формировании творческой личности и направлено на получение учащимися знаний (собственных умственных структур) путем конструирования в ходе собственной учебной деятельности (экспериментирования с целью проверки своих гипотиз, разработки новых стратегий решения задач и схем действий, прогнозирование результатов, содержательной интерпретации полученных данных и др.). Основная цель подобного рода занятий состоит не только в том, чтобы помочь обучаемому систематизировать свои знания по базовым предметам путем знакомства с оригинальными методами решения задач, но и обеспечить содержательную основу для развития познавательного интереса и творческой активности 388
Секция 4. «Информационные технологии в образовании»
школьников, формировать мировоззрение с позиции единственного подхода к изучению различных явлений окружающей действительности [5], [6]. Трудности в постановке целей, которые предлагает педагогическая технология, состоят в том, что цели обучения формулируются через результаты обучения, выраженные непосредственно в действиях учащихся, которые учитель или какой-либо другой эксперт может надежно опознать. Таким образом, преподавателю необходимо выстроить четкую систему целей, внутри которых будет выстроена последовательность категорий, обеспечивающая содержательную основу не только для учебных предметов, но и даст возможность включить в образовательный процесс новые интересные исследовательские проекты. Реализуя их, учитель становится творческим деятелем, который не только активно и сознательно включается в процесс совершенствования образования, но и в творческую исследовательскую деятельность по созданию нового стиля работы. Возможности для использования медиаконтентов конечно же будут различными по гуманитарным и точным наукам: на уроках информатики, математики и физики проводится научно-исследовательская деятельность (представление решения поставленной задачи в виде построенных графиков либо изображений, решение поставленной задачи в виде визуализации), что позволяет учащемуся исследовать траекторию развития динамического процесса, как во времени, так и в пространстве, увеличивая тем самым его опыт, интуицию и укреплению полученных знаний и умений, а также является идеальным инструментом интеллектуального развития учащихся. Например, на уроке русского языка при изучении правила правописания букв о и е после шипящих и ц в суффиксах и окончаниях прилагательных можно предложить урок-путешествие, подготовить видеоматериал, где существует сторона Орфографическая, остров Существительных, с бухтой Корневой, дом Суффиксов и Окончаний, расположенном на улице Шипящих, с помощниками Проверочные слова и Ударения, весь урок будет выстроен на диалоге учителя и учащихся, так как организационный момент подобного рода занятий не только рассчитан на изучение нового материала, но и на актуализацию опорных знаний. Также элементы математического моделирования находят отображение при изучении математики, где можно использовать телеконференции, которые носят информационно-методический характер, при этом роль учителя значительно меняется и он превращается из человека, который знает все ответы на вопросы, на человека, который вместе с учащимися как найти новые методы решения коллега-исследователь пытается дидактические задачи с помощью специализированной компьютерной системы (конструктора). Очень полезны активные демонстрационные программы, приглашающие к работе обучаемого (для старших классов – поиск ошибок в программах, построение схем алгоритмов, либо для учеников младших классов игровые обучающие демонстрации с применением мультимедиа – перевод чисел из одной системы в другую, поиск выхода из лабиринта и т.п.). Безусловно, что визуализация позволит 389
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
ученику исследовать возможные траектории развития динамического процесса как во времени, так и в пространстве, способствуя интеллектуальному развитию учащихся. Данный подход с правильно подобранными иллюстрациями, видеорядом и даже звуковым материалом даст возможность не только ознакомиться с правилом правописания, но и сформирует умение опознавать изученную орфограмму, развивать умение сравнивать, обобщать и делать выводы, работать в коллективе, обобщать, делать выводы, работать в коллективе, вести диалог, воспитывать творческие способности. В частности, вопросы, связанные с использованием медиаобразовательных аспектов в коллективном обучении, в создании условий организованного мыслительного действия позволят выработать и осуществить единое понимание некоторых зависимостей и правил, выработать общность восприятия тех или иных положений сообщаемой информации в соответствующий момент времени, причем при появлении отдельных элементов преподаватель может задавать вопросы, связанные с заданной тематикой, что позволит определить степень усвоения материала и закрепить полученную информацию (например, при использовании телевизионнодинамических или статических изображений в виде слайд-шоу или презентации, который требует глубокой методической проработки, что оправдывается значительным повышением уровня усвоения информации). При этом утверждения преподавателя становятся еще более убедительными тогда, когда с помощью контента проверяется любое предложение или решение учащихся с последующим обсуждением предоставляемого результата работы. Проблематика внедрения медиаобразовательных аспектов в сферу обучения заключается в решении различных вопросов, поскольку опыт других стран свидетельствует о том, что инновационные сдвиги в учебном процессе, связанные с использованием медиапродуктов непосредственно на уроках, возможны при условии поддерживающих факторов и на социальноэкономической, культурной, технологической, технической платформе. Использование медиаобразовательных аспектов в обучении требуют также быстродействия функционирования всех узлов приемо-передающего тракта, таких как кодирующие и декодирующие устройства, устройства сжатия и передачи аудио-, видеоизображений. Не стоит упускать из вида при подготовке изложения материалов использование печатной продукции, программ для написания текстов с использованием текстовой и графической информации, выполнение заданий виде макетов с выделением основной темы, соблюдением этики печатной и наглядной продукции, что безусловно необходимо при проведении уроков, связанных с изложением нового материала и поможет приобрести индивидуальные навыки для исследовательской деятельности не только у учителя, но и у учащихся [7, C. 27]. Задача преподавателя состоит не только в том, чтобы сообщать определенные знания, но и научить самостоятельно их добывать. 390
Секция 4. «Информационные технологии в образовании»
Необходимо умело направлять и корректировать их деятельность, создавать такую обстановку на занятиях, которая стимулировала бы развитие способностей к творчеству, к логическому анализу, сообразительности, работе над собой. Выводы и перспективы исследования Основным отличием традиционного обучения от медиаобразовательной направленности является постоянная «подстройка» преподавателя под обучаемого, так как необходимо разрабатывать и подбирать материал не только с учетом интеллектуальных способностей учащихся, но и ориентироваться на психофизическое состояние ученика, представлять медиаконтент с учетом ориентации учащихся в работе и в освоении нового материала [8]. При помощи разнообразных средств обучения и воспитания, имеющихся в распоряжении учителя, он управляет дисциплиной, вниманием, учебно-познавательной и практической деятельностью учащихся. Внедрение медаиобразовательных аспектов в систему обучения способствует всестороннему развитию личности, способствует решению стандартных задач при помощи нестандартных приемов и методов, и по своей сути является одним из реальных путей достижения высокой эффективности педагогического труда и интенсификации учебного процесса. Литература 1. Воспитание детей в школе: Новые подходы. – М. : Новая школа, 1998. – 207 с. 2. Гребенюк, Т.Б. Формирование индивидуальности будущего учителя в процессе профессиональной подготовки : Дисс. докт. пед. Наук [Электронный ресурс] / Т. Б. Гребенюк. – Ярославль, 2000. – 430 с. – URL: http://www.dissercat.com/content/formirovanie-kommunikativnoi-kulturysovremennogo-uchitelya-v-protsesse-vuzovskoi-podgotovki (дата обращения: 01.02.2018). 3. Макашова В.Н. Модернизация ИТ-инфраструктуры образовательных учреждений в целях обеспечения информационной безопасности // Современные информационные технологии и ИТобразование. – 2014. – № 10. – С. 632-638 4. Медиаобразование в школе: сборник программ преподавания дисциплин / под ред. Е. Л. Вартановой, О. В. Смирновой. – М.: МедиаМир, 2010. – 116 с. 5. Федоров А.В. Медиаобразование : история, теория и методика. – Ростов-на-Дону : Изд-во ЦВВР, 2001. – 708 с. 6. Хлызова Н.Ю. Медиаобразование и медиакомпетентность в эпоху информационного общества [Электронный ресурс] / Н. Ю. Хлызова // Вестн. 391
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Том. гос. ун-та. – 2011. – № 342. – URL: http://cyberleninka.ru/article/n/media obrazovanie-i-mediakompetentnost-v-epohu-informatsionnogoobschestva (дата обращения: 17.03.2018). 7. Шелякин М.А. Язык и человек: К проблеме мотивированности языковой системы : учеб. пособие. – М. : Флинта; Наука, 2005. 8. Schieffelin B.B. The Give and Take of Everyday Life: Language Socialization of Kaluli Children. – Cambridge : Cambridge University Press, 1990. Пигуз В.Н., Ивашко К.С., Изосимова С.А. Медиаобразовательные аспекты в процессе обучения. В статье представлены общие дидактические положения применительно к методике обучения и внедрению медиаобразовательных аспектов в процесс обучения, которые не только позволяют существенно активизировать мыслительную и познавательную деятельность учащихся, повысить их интерес к конкретному предмету, способствуют улучшению качества знаний, но и открывают новые уникальные перспективы в системе образовательного процесса. Ключевые развитие.
слова:
медиаобразование,
использование,
аспект,
процесс,
Piguz V.N., Ivashko K.S., Izosimova S.A. Media educational aspects in the learning process. The article presents general didactic provisions in relation to the teaching methodology and the introduction of media educational aspects in the learning process, which not only significantly enhance the students' mental and cognitive activity, increase their interest in a particular subject, contribute to improving the quality of knowledge, but also open up new unique perspectives in the system educational process. Key words: media education, use, aspect, process, development.
392
Секция 4. «Информационные технологии в образовании»
УДК 681.3
РАЗРАБОТКА МУЛЬТИМЕДИЙНОЙ ДЕМОНСТРАЦИОННО-ОБУЧАЮЩЕЙ СИСТЕМЫ Шарибченко Е.И., Мальчева Р.В. ГОУ ВПО «Донецкий национальный технический университет» (г. Донецк) e-mail: raisa.malcheva@yandex.ru Шарибченко Е.И., Мальчева Р. В. Разработка мультимедийной демонстрационно-обучающей системы. В данной статье выполнен анализ автоматизированных систем обучения как одного из важнейших компонент информационно-образовательной среды вуза. Рассмотрена их классификация и методы реализации. Разработана структура системы и сформулированы основные требования для реализации ее в виде сайта. Ключевые слова: информация, обучение, демонстрация, мультимедиа, сайт.
Введение Информационно-образовательная среда (ИОС) вуза – это программнотелекоммуникационная среда, обеспечивающая едиными технологическими средствами информационную поддержку и организацию учебного процесса, научные исследования, профессиональное консультирование слушателей вуза [1]. Обязательными являются следующие компоненты ИОС вуза: - информационно-образовательные ресурсы: библиотечные фонды вуза; интернет-классы; кафедральные фонды (учебно-методические разработки, учебные пособия и др.); электронные учебники и пособия, демонстрации, тестовые и другие задания, образцы выполнения проектов; - компьютерные средства обучения, включающие компьютерную технику и ее программное обеспечение, а также автоматизированную систему контроля знаний; - система управления образовательным процессом. Актуальным для современной системы образования является разработка электронных образовательных продуктов, призванных обеспечивать поддержку интенсивных, целенаправленных и контролируемых занятий учащихся, а также тщательную, но доброжелательную проверку приобретенных знаний, умений и компетенций, оценку их системности и систематичности[1]. Автоматизированные обучающие системы Автоматизированные обучающие системы (АОС) являются составной частью ИОС и представляют собой программно-технические комплексы, включающие в себя методическую, учебную и организационную поддержку процесса обучения, проводимого с использованием информационных 393
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
технологий. Одной из важнейших задач АОС являются: - подготовка и предоставление учебного материала с его адаптацией по уровням сложности; - подготовкой динамических иллюстраций, контрольных заданий, лабораторных работ, самостоятельных работ учащихся; - задачи администрирования системы, доставки учебного материала на рабочие станции и задачи обратной связи с обучаемым. АОС имеют четкую структуру, на основе чего можно выполнить их классификацию (рис. 1).
Рисунок 1 – Классификация автоматизированных обучающих систем По структурным признакам взаимодействия обучающей системы с пользователем подразделяются на два базовых класса: разомкнутые или системы без обратной связи; замкнутые (с обратной связью) системы. Они отличаются принципиальным подходом к процессу обучения. В разомкнутых АОС не предполагается диалог между студентом и преподавателем на основе поставленных вопросов, а также нет четкой последовательности преподнесения информации. Ее главной задачей является определение уровня знаний студента за некоторый промежуток учебного процесса. Среди замкнутых АОС с обратной связью достаточно распространенными являются имитационные системы обучения, способные обеспечить «гибкое» общение с пользователем. При этом главным элементом системы является моделирование реальной ситуации в зависимости от сферы предметной деятельности. При преподавании
394
Секция 4. «Информационные технологии в образовании»
дисциплин, связанных с компьютерной архитектурой, предпочтительнее использовать замкнутые АОС. Это обусловлено следующими факторами: - большим количеством изучаемого материала и верификационностью его усвоения, т.е. в какой-то момент у студента может возникнуть необходимость вернуться к ранее рассмотренному разделу и более детально его рассмотреть; - при самостоятельном изучении части материала АОС может предоставить все необходимые средства; - по некоторым дисциплинам, особенно недавно введенным, отсутствуют лекции или же учебники, что студента естественным образом подталкивает к поиску необходимой ему информации в глобальной сети Интернет. Демонстрация как часть обучающей системы Главной сутью этого метода является создание у обучаемых наглядного образа объекта изучения, а также определенного представления об его сути и содержании. Это необходимо для более детального раскрытия информации об объекте, его внешнем виде, внутреннем устройстве и т.д. Метод демонстрации подразумевает подготовку студентов к восприятию достаточно большого объема информации, формирование навыков быстрого «впитывания» основного материала и понимания его сущности. Эффективность метода достаточно высока. Она достигается за счет представления информации в динамике и пространстве, что позволяет рассмотреть объект со всех сторон, выявить различные свойства, закономерности, связи между некоторыми элементами объекта, взаимодействие между ними. Все это способствует максимальному освоению студентами излагаемого материала, особенно во время самостоятельного изучения, когда студент может производить определенные действия, определять закономерности, зависимости между элементами объекта и между объектами одного класса. При этом знания не предоставляются как готовые, а обучаемый самостоятельно осмысливает все нюансы, связанные с объектом изучения, и закрепляет необходимые практические навыки. Мультимедийность демонстрационно-обучающих систем Мультимедиа - достаточно молодой вид представления информации в информационных технологиях. В этом термине подразумевается многопоточная коммуникация с пользователем, где тот играет активную роль, используя несколько информационных средств. Мультимедиа делится на две группы: линейная и нелинейная. Линейная – это способ представления информации, при котором информация подается в строго запланированном порядке, и человек не может повлиять на этот порядок. Все демонстрируется в строго заданном порядке. Линейным 395
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
представлением могут быть слайд шоу, презентации, которые используются в преподавании необходимого материала, как в учебных заведениях, так и на семинарах, бизнес тренингах и т.д. Учащийся видит материал, может его анализировать, изучать, но на порядок слайдов не имеет никакого влияния в принципе. Нелинейная – это способ представления информации, при котором человеку дана возможность участия в выборе представления ему информации взаимодействуя с каким-либо возможным ему объектом, предоставленным мультимедийной системой. Это участие называется интерактивностью. Также нелинейным можно считать практически любой web-сайт, где пользователь выбирает на какую страничку он попадет и какую информацию он сейчас получит. Блоки предоставления информации могут быть вполне себе линейными, но, когда предоставляется выбор этих блоков, это и будет являться нелинейной частью мультимедиа. Таким образом, автоматизированная система обучения должна иметь имитационную часть для демонстрации работы компьютерной логики непосредственно на имитационных моделях, т.е. включать демонстрацию процессов [2]. На рис. 2 приведен пример демонстрации алгоритмов умножения двоичных кодов, реализованный на платформе web-сайта.
Рисунок 2 – Модель архитектуры устройства умножения
В системе также должна присутствовать и тестирующе-обучающая часть, где студент сможет проверить полученные знания. Выводы Суммируя вышесказанное, разрабатываемая демонстрационно-обучающая система должна включать: 396
мультимедийная
Секция 4. «Информационные технологии в образовании»
- удобный доступ; - полное изложение информации в текстовом варианте; - кратную и понятную информацию в формате видео; - демонстрационную часть с возможностью взаимодействия с ней; - обратную связь. Итогом разработки является размещение обучающей системы в глобальной сети интернет [3], разбиение информации на блоки с использованием текстового учебного материала, демонстрация принципов работы в реальном режиме и объяснение этих принципов с помощью видеоматериала. Также можно включить обратную связь с преподавателем посредством отправки сообщений с вопросами. Даже при отсутствии лекционных материалов система должна быть полной и готовой к использованию. Учитывая особенности каждого информационного блока в системе, процесс обучения становится автоматизированным и способным помочь в изучении и закреплении необходимого материала. Литература 1. Баяндин Д.В. Электронная информационно-образовательная среда по физике : методические рекомендации для преподавателей / Д. В. Баяндин. – Пермь: Изд-во Перм. нац. исслед. политехн. ун-та, 2017. − 45 с. 2. Мальчева Р.В. Разработка демонстрационно-обучающей системы / Р.В. Мальчева, О.А. Авксентьева, С.Н. Омельянченко // Сборник материалов II международной научно-практической конференции «BECS-2017». Донецк-Екатеринбург: ДонНТУ-УФУ, 2017. - С.635-638. 3. Malcheva R. Applying Internet technologies to improve the perception of lectures // Proceedings of 3d Congress EE. - Glasgow, 2002. - PP. 348-349. Шарибченко Е.И., Мальчева Р. В. Разработка мультимедийной демонстрационно-обучающей системы. В данной статье выполнен анализ автоматизированных систем обучения как одного из важнейших компонент информационно-образовательной среды вуза. Рассмотрена их классификация и методы реализации. Разработана структура системы и сформулированы основные требования для реализации ее в виде сайта. Ключевые слова: информация, обучение, демонстрация, мультимедиа, сайт. Sharibchenko E.I., Malcheva R.V. Development of multimedia system for demonstration and education. This article analyzes automated learning systems as one of the most important components of the educational information environment of a university. Their classification and implementation methods are considered. The structure of the system is developed and the basic requirements for its implementation in the form of a site are formulated. Keywords: information, education, demonstration, multimedia, site. 397
Секция 5. «Информационные технологии в процессе изучения иностранного языка»
Председатель: Секретарь:
Каверина Ольга Геннадиевна Гильманова Роза Разимовна
Секция 5. «Информационные технологии в процессе изучения иностранного языка»
UDC 316.776.3, 339.138
IMPACT MODELING IN SOCIAL NETWORKS I.Yu. Anokhina, E.V. Roshchina, Ye.N. Kushnirenko Donetsk national technical university, Donetsk Software Engineering Department e-mail: IngaTula@mail.ru I.Yu. Anokhina, E.V. Roshchina, Ye.N. Kushnirenko Modeling informational impact in social networks. The article discusses the modeling of conflicts, disputes, discussions in social networks. A logistic model was constructed with a high degree of accuracy, which allows to estimate the impact of the participants personal characteristics in the discussions on the dispute outcome, which was considered as a game of two community members groups with alternative opinions. Keywords: logistic regression, informational impact, factor analysis.
The problem formulation A distinctive feature of modern society is its constant modernization. This necessitates the study of various social processes, not only for the purpose of their analysis, but also for the purpose of forecasting. Social networks have become an important tool for public opinion impacting. These may be an economic nature affairs, for example, product advertising, brand promotion, market penetration, or arising in the political and social spheres. Information «showdowns» are increasingly being conducted online. For example, in order to remain popular in politics it’s not enough to appear on the TV screen only, so every politician has his own groups and accounts in social networks. To win the information battle, teams of specialists are involved. For example, trolls are complete units of the information war. They lead discussions, operate on facts. As Warren Dixon’s studies («Containment Control for a Social Network with State-Dependent Connectivity») showed, mathematical modeling can be applied to social networks to control the user groups behavior and manipulate public awareness in the interests of the state [1]. As a rule, the most pressing topics at the moment are discussed on social networks. By researching them, you can predict the reaction of the community to certain events, decisions, laws. Based on the foregoing, the task was set to analyze various options for discussing problems in social networks and to develop an optimal version of the behavior model in the discussion process. The paper examines the aspects of theoretic-game models of information warfare, in which players (the most active participants in the discussions) impact 399
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
on social network elements, i.e. group visitors are held an interested in to be the winner in the dispute. The authors considered several options for discussing topics that caused lively debate in the network. The questions concerned both household topics and religious, political, historical ones. Each argument was seen as a game between groups with antagonistic opinions [2]. In each group, one / two leaders and a support group was elected. Then the outcome of the game was analyzed. The winner was who received the maximum number of likes and comments in support of his opinion and some of the doubters became his supporter. Table 1 shows an example of the source data, which were used for modeling afterwards. In the column «education», the letter B indicates persons with higher education. The parameter «attitude» was indicated as 0, in case of disagreement with the opinion expressed, and 1 otherwise.
5
Teamwork
Replicasindispute
m 0
11
65
yes
yes
1
yes
16
2
-
w 1
4
4
no
no
0
no
4
1
В
m 0
0
0
no
no
3
no
26
2
-
m 1
4
39
yes
yes
4
no
10
1
-
m 1
7
88
yes
yes
1
yes
10
2
В
м 0
23
163
yes
yes
1
no
9
1
-
m 1
2
12
yes
yes
1
no
9
2
-
m 0
2
7
yes
yes
4
no
4
1
-
w 1
25
12
yes
no
0
no
3
2
-
m 0
2
2
no
yes
3
no
17
1 0 0
1
Result
Attendance
В
Subject
Argument
1
Attitude Sphereofinfluenc e
Intellect
4
Likesinthefield
3
Gender
2
Education
1
No. agent
Gamenumber
Table 1. Source data for modeling
win losing losing win losing win losing losing win
1
losing
The sphere of impact was understood as the number of people who agree with the agent, for example, for game No. 1, the number of people who agree with the opinion of agent 1 was 11, and the support of the opinion expressed was estimated by the total number of likes for the replicas. In addition, the level of intelligence and argumentation in the dispute was assessed using the «expert’s assessment». 400
Секция 5. «Информационные технологии в процессе изучения иностранного языка»
In addition, indicators such as the «presence frequency» of the agent in the group were evaluated. Users who visit the group less than once every 2-3 days, marked 0 as rarely visitor; 1 – approximately once every two to three days, 2 – every other day, 3 – daily. Teamwork was evaluated. The number of replicas in the dispute was taken into account. The dispute topic was divided into two subtopics, household topics, and religious. Political topics included truly political debates, as well as issues related to the interpretation of historical events. Such topics were marked 0. While watching the game, discussions lasting from 20 hours to three days were usually considered. At the first stage of modeling, a factor analysis was carried out to determine which of the factors listed above play a significant role in the results of the discussion. Table 2 shows the results of calculating factor loads. Note that the dispersion proportion is 90% that indicates the model accuracy. Three factors were identified. The first factor establishes the relationship between gender and the chosen topic. As a rule, women inclined to everyday topics and often win in discussions. The second factor includes the level of education and attitude to the chosen topic. The third factor includes the level of intelligence and the degree of argumentation in the dispute. The influence of the remaining parameters was considered as insignificant. The last row of Table 2 (Prp.Totl) indicates the dispersion proportion explained by each factor [3,4]. Table 2. The results of factor analysis Education Gender Attitude Intellect Argument Subject Prp.Totl
Factor 1 -0,21 0,78 -0,18 -0,08 0,05 -0,91 0,22
Factor 2 0,85 0,11 -0,87 -0,45 0,05 0,08 0,25
Factor 3 -0,25 0,48 -0,26 0,60 0,93 0,15 0,23
Since the task was to predict the outcome of the dispute depending on the participants personal characteristics, the data were converted and used to calculate the parameters of the logistic regression. Logistic regression allows you to evaluate the relationship between binary variables that take two values: 0 and 1. For calculations, a model is used:
401
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
eb0 b1 x1 b2 x2 ...bn xn y 1 eb0 b1 x1 b2 x2 ...bn xn
(1)
where b0, b1 ... bn are the logistic regression coefficients, n is the number of independent variables. Processing was carried out in the Nonlinear Estimate module of the Statistica package. Figure 1 shows the results of calculating the regression parameters. The plevel of the hypothesis is indicated on the panel of the dialog for displaying results. p-level less than 10%, what allows the use simulation results.
Education
Gender
Attitude
Intellect
Argument
Subject
Figure 1 – Parameters of logistic regression To assess the quality of the constructed model, it is necessary to evaluate the parameter Classification of cases. Figure 2 shows a table with the number of observations that were correctly and incorrectly classified in accordance with the obtained model. When constructing the ROC-curve along the Y axis, the sensitivity of SE is plotted, and along the X axis are the values of the FPR parameter. The analysis data are shown in table 3.
No. agent
Education
Gender
Attitude
Intellect
Argument
Result
Subject
Predictd Y
Thresholddefinitio n
Table 3. Results of ROC analysis
TN
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
1
1
1
0
1
1
1
1
0.99
0
0
0
1
0
0.25
1.00
2
1
0
1
0
0
0
1
0.00
0
1
0
0
0
1
1
1
0
0
0
0
0
0.01
0
1
0
0
0
2
0
1
1
1
1
1
0
0.50
0
0
0
1
0
1
0
1
1
1
1
0
0
0.50
0
1
0
0
0
402
TP
FN
FP
SE
SP
Секция 5. «Информационные технологии в процессе изучения иностранного языка»
To assess the quality of the constructed model, the ROC analysis curve is constructed. It is shown in Fig. 2. On the Cheddock scale, the model quality can be considered excellent.
Figure 2 – ROC analysis curve Conclusion As studies have shown, the intelligence, dispute argumentativeness and education level has the greatest impact on the results of the game. A large number of friends, like trolls have, isn’t essential. It is also irrelevant whether the debater is a regular in the community or his visits are irregular. Women prefer everyday topics and when discussing political topics they rarely pretend to be leaders. Literature 1. Air Force research: How to use social media to control people like drones – Режим доступа: https://arstechnica.com/information-technology/2014/07/airforce-research-how-to-use-social-media-to-control-people-like-drones/ – ARS Technica. 2. Шведовский В.А. Социолого-математические модели в исследовании социальных процессовАвторефератдиссертации на соискание учёной степени доктора социологических наук. – М. Российский государственный социальный университет.: , 2011. – 43 с. 3. Годин А.М. Статистика: учебник / А. М. Годин. – Москва: Дашков и К°, 2012. 403
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
4. Боровков А.А. Математическая статистика: Учебник / А.А. Боровков. - СПб.: Лань, 2010. - 704 c. 5. Буре В.М. Теория вероятностей и математическая статистика: Учебник / В.М. Буре, Е.М. Парилина. - СПб.: Лань, 2013. 6. Кобзарь А.И. Прикладная математическая статистика. Для инженеров и научных работников / А.И. Кобзарь. - М.: ФИЗМАТЛИТ, 2012. 816 c. 7. Анализ математических моделей Базель II / Ф.Т. Алескеров и др. М.: Физматлит, 2014. - 288 c. I.Yu. Anokhina, E.V. Roshchina, Ye.N. Kushnirenko Modeling informational impact in social networks. The article discusses the modeling of conflicts, disputes, discussions in social networks. A logistic model was constructed with a high degree of accuracy, which allows to estimate the impact of the participants personal characteristics in the discussions on the dispute outcome, which was considered as a game of two community members groups with alternative opinions. Keywords: logistic regression, informational impact, factor analysis.
Анохина И.Ю., Рощина Е.В., Кушниренко Е.Н. Моделирование информационного влияния в социальных сетях. В статье рассматриваются вопросы моделирования конфликтов, споров, обсуждений в социальных сетях. Построена логистическая модель с высокой степенью точности, позволяющая оценить влияние личностных характеристик участников обсуждений на результат спора, который рассматривался как игра двух групп членов сообщества с альтернативными мнениями. Ключевые слова: логистическая регрессия, информационное воздействие, факторный анализ.
404
Секция 5. «Информационные технологии в процессе изучения иностранного языка»
UDC 004.6, 004.91
DESIGNING OF A 2D COMPUTER GAME IN THE GENRE OF "COLLECTIBLE CARD GAME". A.J. Lutfullayev Donetsk national technical university, Dontesk Applied Informatics department e-mail: benjamin.iixxxdantexxxii@gmail.com, S.A. Zori Donetsk national technical university, Dontesk e-mail: ik.ivt.rec@gmail.com Ye.N. Kushnirenko Donetsk national technical university English Language Department e-mail: alisa.kushnir23@ gmail.com A.J. Lutfullayev, S.A. Zori, Ye.N. Kushnirenko Development of a 2D computer game in the genre of "collectible card game". The object of research is design technology of computer 2D-games. The subject of research: visual node programming language Blueprint based on the game engine Unreal Engine 4. The goal is to explore the capabilities of the Unreal Engine 4 game engine and its internal programming language Blueprtint for creating 2D computer games in the "collectible card game" genre. In Unreal Engine 4 and its internal, visual programming language Blueprint was used. Keywords: UE4, BP, user, deck editor, deck, card, AI, bot.
Introduction Computer games are an integral part of everyone's life. Thanks to them, people can escape, enjoy the gameplay and recreation, explore a huge number of different game worlds, ranging from fairy-tale and fantasy, ending with the worlds of the future, alternative reality or harsh post-Apocalypse. Board games are one of the oldest types of games played by almost everyone, whether it's cards, chess, checkers, dominoes, or even strategy and roleplaying games. Surprisingly, this genre is still one of the most popular. It is not so often you can see on the shelves of stores Board games on the type of monopoly, but in the gaming industry, it is Board games are rapidly gaining popularity. Therefore, this game provides an opportunity to explore a new kind of card Board game and immerse yourself in it with your head. Many believe that card games are boring and monotonous, and the gameplay can be difficult to learn, which will require the player strong concentration, attention and good memory. In this regard, it is urgent and necessary to develop software systems that can provide a person with rest, comfort, pleasant and positive emotions during the gameplay [1].
405
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
The purpose of the article Studying the features of computer 2D-games designing in the genre of "collectible card game" based on the game engine Unreal Engine 4. Formulation of the problem The goal of the project is the development and development of a game application using modern technologies for a comfortable user experience. This goal can be divided into primary and secondary. Learning the capabilities of the language, learning the internal programming language BluePrint, implementing a game project using the materials studied. Tasks for the implementation of this project can also be presented in the form of a category: - Development of a game application concept - Gaming Application Architecture Design Concept - Development of a convenient and pleasant-looking user interface - Develop the basic mechanics of the game (Game Features) - AI development - Improving the interface and design of the game Research The software is implemented for the purpose of having a pleasant time spent by the user in the game, in his spare time. During software development, the following concepts were investigated: - visual language Blueprint [2]; - structure and database in Unreal Engine 4 [3]; - System "Behavior tree"; - UI / UX design [4]; - analysis of the considered software analogues. While researching the subject area, it was revealed that the existing analogues have one serious drawback, namely, the direct game dependence on a random number, which can change the course of the game instantly. It is thanks to the random number system of "randomization" it is difficult to categorize as cybersports this kind of games due to the fact that when playing, the key factor for victory is not the player’s skill, strategy or something that depends on the player, but the chance of getting the right number in the program code of the game or the so-called "luck", what is not satisfied the players as end users at all. Software implementation Let’s consider the implementation of artificial intelligence, as an example of software implementation. The AI algorithm is created through the Behavior Tree and the Blackboard. In the board, keys are created with which the behavior tree 406
Секция 5. «Информационные технологии в процессе изучения иностранного языка»
will eventually work. The keys represent a variable of various types (in this case, bool, int, float, enum and object). At the beginning of the tree, there is a Blackboard, because we read all the data (keys) from it. The next node is Selector. The selector executes its child nodes from left to right and stops executing them when one of them succeeds. If the child of the selector is successful, the selector is successful too. If all child elements of the selector are interrupted, the selectors are interrupted as well. The behavior tree is shown in Figure 1.
Figure 1 – Behavior Tree Consider this tree of AI behavior in blocks. The blocks of the AI behavior tree are shown in Figures 2 – 4.
Figure 2 – Initialization block
In this block, the AI is initialized. The first step is to check whether the AI is currently running, after which it waits for 2.5 seconds and returns to the execution state. 407
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Figure 3 – Blocking AI actions
In this block, you can see that the first node is updating the state of the AI, after which there is a node creating a loop (Start loop). The AI creates a cycle, on the move card. The next step, when the AI makes a card move and awaits its turn. If there are no cards for the move in his “hand”, then the cycle ends and it stops its moves.
Figure 4 – Completion of an action
In this block, the AI completes its move with the node “Ending the turn of the AI” and goes into the node “Going into the state of turning the initialization” and again the AI goes into the state of initialization. As it can be understood from this behavior, the implementation of the behavior and isn’t difficult and weak. The AI shows itself well in the game with this settings.
408
Секция 5. «Информационные технологии в процессе изучения иностранного языка»
Conclusions As a result of the work, an independent 2D computer card game was designed and it runs under the Windows operating system. This game is a good way to spend time, because the artificial intelligence system works differently. Each game begins with intrigue, since cards are randomly issued to both players, and you cannot predict which side will have an advantage. The game is intuitive to the player, adheres to one style and the graphics do not cause irritation. This product is able to exist independently in the gaming market. Source
1. Документация UnrealEngine 4 «Nodes»[Электронный ресурс]
– Режим доступа: https://docs.unrealengine.com/enUS/Engine/Blueprints/UserGuide/Nodes/index.html – Загл. с экрана. 2. Документация UnrealEngine 4 «BasicScripting»[Электронный ресурс] – Режим доступа https://docs.unrealengine.com/enUS/Engine/Blueprints/Scripting/index.html – Загл. с экрана. 3. Документация UnrealEngine 4 «BluePrintVariables»[Электронный ресурс] – Режим доступа: https://docs.unrealengine.com/enUS/Engine/Blueprints/UserGuide/Variables/index.html– Загл. с экрана. 4. Документация UnrealEngine 4 «BluePrintDebugging»[Электронный ресурс] – Режим доступа: https://docs.unrealengine.com/enUS/Engine/Blueprints/UserGuide/Debugging/index.html – Загл. с экрана. A.J. Lutfullayev, S.A. Zori, Ye.N. Kushnirenko Development of a 2D computer game in the genre of "collectible card game". The object of research is design technology of computer 2D-games. The subject of research: visual node programming language Blueprint based on the game engine Unreal Engine 4. The goal is to explore the capabilities of the Unreal Engine 4 game engine and its internal programming language Blueprtint for creating 2D computer games in the "collectible card game" genre. In Unreal Engine 4 and its internal, visual programming language Blueprint was used. Keywords: UE4, BP, user, deck editor, deck, card, AI, bot. Лутфуллаев А.Ж, Зори С.А., Кушниренко Е.Н. Разработка компьютерной 2Dигры в жанре «коллекционная карточная игра». Объект исследования – технологии разработки компьютерных 2D-игр. Предмет исследований: визуальный кодовый язык программирования Blueprint на базе игрового движка UnrealEngine 4. Исследованы возможности игрового движка UnrealEngine 4 и его внутреннего языка программирования Blueprтint для создания компьютерной 2Dигры в жанре «коллекционная карточная игра». В разработанном программном продукте использовался игровой движок UnrealEngine 4 и его внутренний, визуальный язык программирования Blueprint. Ключевые слова: UE4, BP, пользователь, редактор колод, колода, карта, AI, бот.
409
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
UDC 004.75
OVERVIEW OF THE REST ARCHITECTURAL STYLE R.A. Mazalov, A.V. Chernyshova, R.R. Gilmanova Donetsk National Technical University e-mail: dellight55@gmail.com, chernyshova.alla@rambler.ru, gilmanova.roza2822@yandex.ru R.A. Mazalov, A.V. Chernyshova, R.R. Gilmanova Overview of the REST architectural style. This article reviews the paths of software system development and provides the definition of the following terms: vertical scalability, horizontal scalability and middleware of distributed system. It presents different approaches to data exchange in distributed systems. The brief overview of the architectural style for REST web service is carried out and architectural constraints applied on a system are listed. The article identifies advantages of this architectural style and reasons of its popularity among developers. Keywords: distributed system, data exchange, middleware, REST, architectural constraints, architectural properties.
The Paths of Software System Development. Distributed systems and requirements for them. Nowadays all large software systems are distributed. Within the development process a software system can increase to such volume that power and storage capacity of one server isn't enough. In this case, there are two ways to deploy the software system. The first path is to increase server performance by modifying its components or moving to a server with better processing power and storage capacity, which is called vertical scalability. The second path is to structure the system into smaller structural components and allocate them on separate servers, which is known as horizontal scalability [1]. The first path is a dead end because, in practice, it will not be possible to find even more productive server than the previous one over time. Therefore, all software systems choose the second deployment path sooner or later. The systems such as social networks Facebook [2] and Twitter [3], the Google Drive cloud service [4] and the Internet are distributed. All distributed systems must meet the following requirements: openness, scalability, stability, security [5]. To meet these requirements, distributed systems include an additional software layer, which is between the application and transport layers relative to the OSI model and known as middleware [6]. Now let’s look at middleware in greater detail. Middleware. Different approaches to data exchange between components of a distributed system. REST as one of these approaches Middleware should help developers create open, scalable, resilient, and secure distributed systems. Figure 1 shows an interaction model of computing systems and marks the middleware level in this model. 410
Секция 5. «Информационные технологии в процессе изучения иностранного языка»
Figure 1 – Interaction model of computing systems Middleware should, in particular, provide data exchange between components of a distributed system. Currently, there are two concepts of interaction between software components: message queues [7]; remote procedure call (RPC) [8] or component object method call. The interaction between remote components is based on the TCP/IP sockets [9], but they don’t determine the format of transmitted messages. Based on the TCP, HTTP [10] messaging protocols of higher level of abstraction can be built to implement message queues or remote procedure calls. One of the ways to data exchange is the REST architectural style, which is used to create web services. REST is, in essence, an alternative to RPC. On the Internet, a remote procedure call can be represented as a normal HTTP request (GET or POST, such a request is called REST request), and required data are transmitted as query parameters. An example of the request is shown in Figure 2.
411
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Figure 2 – Example of a REST request In the example a “homes” resource is requested with a parameter passed through query parameters that limit an amount of resources in response. The response to the request is a representation of the resource in JSON format. REST is a consistent set of constraints to consider when designing distributed web services. Web services that conform to the REST architectural style, called RESTful Web services. RESTful Web services allow the requesting systems to access and manipulate textual representations of Web resources by using a uniform and predefined set of stateless operations. Other kinds of Web services, such as SOAP Web services, expose their own arbitrary sets of operations [11]. The term “REST” was coined by Roy Fielding [12], one of the creators of the HTTP protocol, in his 2000 PhD thesis "Architectural Styles and the Design of Network-based Software Architectures" at UC Irvine. He developed the REST architectural style in parallel with HTTP 1.1 of 1996–1999, based on the existing design of HTTP 1.0 of 1996 [11]. Today REST has virtually displaced all other approaches, including design based on SOAP and WSDL. Thus, the study of this approach is relevant. Architectural constraints of REST REST imposes a number of constraints on the system. If the system follows them, it can be considered RESTful. Client-Server. The system uses the client-server architecture. For example, such separation of interfaces means that clients cannot be related to data storage, data remaining on a server. It improves mobility of a client code. Servers aren’t linked to the user interface or state, servers becoming simpler and more scalable. Servers and clients can be replaced and developed independently until the interface is changed. 412
Секция 5. «Информационные технологии в процессе изучения иностранного языка»
Stateless. A server should not store any client information. A request should store all the information required for its processing and client identification if necessary. Cache․ Each response should be marked whether it will be cached or not, to prevent clients from reusing obsolete or incorrect data in response to further requests. Uniform Interface. Uniform interface defines the interface between clients and servers. This simplifies and separates an architecture, which allows each part to develop independently. Let’s list four principles of the uniform interface: identification of resources. Everything that can be given a name is a resource in REST, for example, a user, an image, a subject, etc. Each resource in REST must be identified by means of a stable identifier that does not change when resource state does. The identifier in REST is the URI [13]. manipulation of resources through representations. A representation in REST is used to perform actions on resources. The resource representation is current or desired resource status. For example, if the resource is a user, then the representation may be an XML or HTML description of the user. self-descriptive messages. A request and response should contain all necessary information for their processing. There shouldn’t be additional messages or caches for processing a single request. In other words, there isn’t a state saved between resource and requests. This is very important for system scaling. HATEOAS (hypermedia as the engine of application state). A resource state is transmitted through a content of the body, query string parameters, request headers, and a requested URI (resource name). This is called hypermedia (or hyperlinks with hypertext). HATEOAS also means that, if necessary, the response body (or headers) can contain the links to support the URI, retrieve the object itself or requested objects. Layered System. In REST, the system can be divided into a hierarchy of layers, but on the condition that each component can see components of only the next layer. For example, if a PayPal service is called, then it calls a Visa service, so that a caller of the PayPal service shouldn’t know anything about calling the Visa service. The application of intermediate servers can increase scalability due to load balancing [14] and distributed caching [15]. Intermediate nodes can also be subject to a security policy [16] in order to ensure confidentiality of information [17]. Code-On-Demand (optional). In REST, client-side loading and execution of program code are allowed. Roy Fielding claims that the optional constraint allows you to design an architecture that supports desired functionality, with the exception of some contexts. With the constraints given above that are imposed on the system during design, the system acquires a number of useful properties. Let’s review these properties.
413
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Architectural properties of REST. Advantages of REST and reasons of its popularity Let us take a closer look at the advatages that a system gives in case of imposing REST architectural constraints on it: scalability of the interaction between system components; general availability and simplicity of interfaces; independent deployment of components, ease of modification; the intermediate components to reduce delay and enhance security; reliability (due to the lack of the need to save information about the client’s status, which may be lost). As you can see from the list, these properties allow to follow all the requirements that distributed systems must meet. Let us consider in more details advantages that the REST architectural style provides for data exchange between components. There is an absence of additional internal layers, which means that transferring data in the same form as the data themselves. Thus, data are not represented in XML [18], as SOAP and XML-RPC [19] do, AMF [20] is not used, as Flash [21] does, etc. Each unit of information (resource) is uniquely determined by URL [13] this means that URL is the primary key for the unit of data. Moreover, it doesn’t matter what format the data is stored in - it can be HTML [22], jpeg [23], or a Microsoft Word [24] document. How resource information is managed is entirely based on a data transfer protocol. The most common protocol is HTTP. For HTTP, actions on data are performed using a set of methods: GET (get), PUT (add, replace), POST (add, change, delete), DELETE (delete). Thus, the CRUD operations [25] (Create-ReadUpdate-Delete) can be done with all four methods, or only with the help of GET and POST. Recently, REST has become a popular choice for developers to create public APIs [26] for web services. These public APIs also come with detailed documentation where you can get all the information you need to retrieve data through the API. There are three main reasons why REST is so popular for web service development. The first reason is that REST provides data in the form of resources (for example, user), and not in the form of services (for example, getUser), as in SOAP. The other reason is that REST inherits HTTP operations, thus, you can make simple API calls using well-known HTTP methods such as GET, POST, PUT and DELETE. Another reason is that the REST architecture allows API providers to deliver data in various formats, such as plain text, HTML, XML, YAML and JSON [18], which is one of its most favorite features. Due to the growing popularity of REST, the easy and human-readable JSON format has also quickly gained popularity, as it’s great for quick and painless data exchange. 414
Секция 5. «Информационные технологии в процессе изучения иностранного языка»
Conclusions This study examines the approaches to deployment of distributed software systems, the concepts of vertical, horizontal scaling and middleware of distributed systems. The approaches to data exchange in distributed systems are explored. The review of the REST architectural style is carried out. Advantages of REST are revealed. REST is not a protocol; its use makes development of distributed web services simple and flexible, that makes it popular among developers. References 1. Масштабируемость // Википедия [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/Масштабируемость 2. Facebook // Facebook [Electronic resource]. – Mode of access: https://facebook.com 3. Twitter // Twitter [Electronic resource]. – Mode of access: https://twitter.com 4. Google Drive // Google [Electronic resource]. – Mode of access: https://www.google.com/intl/ru_ALL/drive/ 5. Щелоков С.А. Проектирование распределенных информационных систем [Текст] : курс лекций по дисциплине «Проектирование распределенных информационных систем» / С.А. Щелоков, Е.Н. Чернопрудова; Оренбургский гос. ун-т. – Оренбург : ОГУ, 2012. – 195 с. : ил. 6. Middleware // RedHat [Electronic resource]. – Mode of access: https://www.redhat.com/en/topics/middleware/what-is-middleware 7. Message queuing // CloudAMQP [Electronic resource]. – Mode of access: https://www.cloudamqp.com/blog/2014-12-03-what-is-message-queuing.html 8. What is Remote Procedure Call (RPC)? // Poftut [Electronic resource]. – Mode of access: https://www.poftut.com/what-is-remote-procedure-call-rpc/ 9. W. Richard Stevens. TCP/IP Illustrated, Vol. 1: The Protocols [Text] : Addison-Wesley Professional Computing Series. – 1st ed. – Boston : AddisonWesley Professional, 1994. – 600 pp. : illus. 10. Hyper Transfer Protocol (HTTP) // MDN [Electronic resource]. – Mode of access: https://developer.mozilla.org/en-US/docs/Web/HTTP 11. Representational state transfer // Wikipedia [Electronic resource]. – Mode of access: https://en.wikipedia.org/wiki/Representational_state_transfer 12. Roy T. Fieldling [Electronic resource]: Senior Principal Scientist. – Mode of access: https://roy.gbiv.com 13. What is the difference between a URI and a URL? // dev.to [Electronic resource]. – Mode of access: https://dev.to/flippedcoding/what-is-the-differencebetween-a-uri-and-a-url-4455 14. Ali Alakeel. Load Balancing in Distributed Computer Systems [Text] / Ali Alakeel // International Journal of Computer Science and Information Security / University of Tabuk. – Tabuk, 2010. – p. 8-13 15. Our 5-minute guide to distributed caching // ITPRO [Electronic resource]. – Mode of access: https://www.itpro.co.uk/virtualisation/30271/our-5minute-guide-to-distributed-caching 415
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
16. Key Elements of an Information Security Policy // Infosec [Electronic resource]. – Mode of access: https://resources.infosecinstitute.com/key-elementsinformation-security-policy 17. What is Confidential Information // EveryNDA [Electronic resource]. – Mode of access: https://www.everynda.com/blog/what-is-confidential-information 18. YAML vs JSON vs XML // CSEstack [Electronic resource]. – Mode of access: https://www.csestack.org/yaml-vs-json-vs-xml-difference 19. XML-RPC vs SOAP // weblog.masukomi.org [Electronic resource]. – Mode of access: https://weblog.masukomi.org/2006/11/21/xml-rpc-vs-soap 20. Action Message Format (AMF) // Wikipedia [Electronic resource]. – Mode of access: https://en.wikipedia.org/wiki/Action_Message_Format 21. Adobe Flash Player // Adobe [Electronic resource]. – Mode of access: https://www.adobe.com/ru/products/flashplayer.html 22. What is HTML? // W3C HTML [Electronic resource]. – Mode of access: https://www.w3.org/html/ 23. The JPEG (Joint Photographic Experts Group) image file format // ntchosting [Electronic resource]. – Mode of access: https://www.ntchosting.com/encyclopedia/multimedia/jpg-image-file-format/ 24. Microsoft Word // Microsoft [Electronic resource]. – Mode of access: https://products.office.com/en-us/word 25. What is CRUD? // Codeacademy [Electronic resource]. – Mode of access: https://www.codecademy.com/articles/what-is-crud 26. What exactly IS an API? // Medium [Electronic resource]. – Mode of access: https://medium.com/@perrysetgo/what-exactly-is-an-api-69f36968a41f R.A. Mazalov, A.V. Chernyshova, R.R. Gilmanova Overview of the REST architectural style. This article reviews the paths of software system development and provides the definition of the following terms: vertical scalability, horizontal scalability and middleware of distributed system. It presents different approaches to data exchange in distributed systems. The brief overview of the architectural style for REST web service is carried out and architectural constraints applied on a system are listed. The article identifies advantages of this architectural style and reasons of its popularity among developers. Keywords: distributed system, data exchange, middleware, REST, architectural constraints, architectural properties. Мазалов Р.А., Чернышова А.В., Гильманова Р.Р. Обзор архитектурного стиля REST. В статье рассмотрены пути развертывания программных систем, приведены понятия горизонтальной, вертикальной масштабируемости и промежуточной среды распределенных систем. Показаны разные подходы обмена данными в распределенных системах. Выполнен краткий обзор архитектуры вебсервисов REST. Приведен список ограничений, накладываемых на систему, при использовании данной архитектуры. Определены преимущества данной архитектуры и причины ее популярности среди разработчиков. Ключевые слова: распределенные системы, обмен данными, промежуточная программная среда, REST, архитектурные ограничения, архитектурные свойства.
416
Секция 5. «Информационные технологии в процессе изучения иностранного языка»
UDC 004.4
PROGRESSIVE WEB APPLICATION AS A NEW VECTOR OF WEB TECHNOLOGIES DEVELOPMENT V.P. Saenko Donetsk national technical university, Donetsk Software Engineering Department e-mail: varviko.mx@gmail.com I.V. Girovskaya Donetsk national technical university, Donetsk English Language Department e-mail: girovskaya@gmail.com V.P. Saenko, I.V. Girovskaya Progressive Web Application as a new vector of web technologies development. The article describes the progressive technology of creating modern web applications, its principles, architecture, relevance and expediency by now. Also, the future development ways of Progressive Web Application were analyzed. Keywords: native applications, Android, PWA, cross-platform, browser, push notifications.
Introduction When talking about web applications that are approaching native ones in terms of user experience, interface, speed and features, the term PWA stands for– Progressive Web Applications. PWA is not a framework or SDK. It is rather the approach of creating modern web applications [1]. Nowadays an application being cross platform makes it far more indispensable. Cross-platform applications is an integral part of Web technologies. Support for separate independent code bases for iOS and Android is very expensive. Therefore, even for native applications, developers are increasingly choosing cross-platform technologies such as Google’s React Native, Xamarin or Flutter. PWA architecture PWA is a web application created using certain technologies to achieve specified targets (see Figure 1) [2]. Targets are interpreted as follows: reliability – the application is downloaded and immediately displayed, regardless of the status and quality of the network connection. speed – network data exchange is fast, UI is smooth and responsive. engaging– makes the experience with the application comfortable and enjoyable for the user. 417
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Figure 1 —Technologies and targets that were used From Google’s point of view, it’s precisely the targets that now separate websites from native applications by their look and feel. In other words, the developer is offered tools (Service Worker, Push Notifications, etc.) and the goals are indicated (the site / application should work with poor connection, be fast to load, work offline if necessary). How far the developer will go along this path depends only on him. Briefly consider the main technologies of PWA. Service Worker is a proxy layer between the frontend and backend located in the browser. All browser requests go through it. This division into two independent layers allowed us to make the transition of a regular website to PWA as simple as possible. Service Worker is a script that the browser runs in the background, separate from the page, opening the door for features that do not require a web page or user interaction [3]. Today they perform functions such as push notifications and background synchronization, in the future Service Workers’s will also support other things. Their key feature is the ability to intercept and process network requests, including programmatically managing response caching. Service Worker has a life cycle completely separate from the web page [4]. Below is a very simplified version of the Service Worker’s life cycle when it was first installed (see Figure 2). Web App manifest provides information about the application (such as name, authorship, icon and description) in the format of a JSON file. The purpose of the manifest is to install the web application on the device’s home screen, giving the user faster access and more features. The web application manifest is part of a collection of web technologies along with other powerful features, such as offline access to the application and warning the user via push notifications when the contents of the application change, collectively called a progressive web application.
418
Секция 5. «Информационные технологии в процессе изучения иностранного языка»
Figure 2 —Simplified Version Service Worker’s Life Cycle Application Shell is just a GUI skeleton, a template. These are the minimum HTML, CSS and JavaScript necessary for the user interface to function and to ensure fast and reliable user experience when visiting offline again. The app shell is stored on the client and loaded when the application starts, and then dynamic information from the network is loaded into it. Push Notifications are short messages that a web resource sends to its subscribers on computers and mobile devices. Such notifications return the user to a site that he has already visited (and do it much more effectively than contextual advertising or any other type of mass mailing). The technical capabilities of pushmailing allow you to develop a more productive and “responsive” marketing strategy to user behavior. A push notification appears on top of all the opened windows and is delayed on the device screen for a certain amount of time. According to the canons of PWA, all site resources must be transmitted over the HTTPS protocol. It is important that the site does not have links to insecure resources - some browsers simply will not display the site in this case. PWA and native applications PWAs are similar to native applications not only externally, but also internally. All the main application resources can be stored on the client, only changing content will be transmitted over the network. Let's consider the main differences between PWA and native applications [5]. 419
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
In the browsers Google, Opera, Firefox and Microsoft PWA can be downloaded on any gadgets, regardless of screen size and other specifications. In addition, developers of these browsers will offer users to install PWA the second time they visit the site[5]. Creating a progressive application is easier and faster than native. No backward compatible API needed. In the case of PWA, users run the same version of the site code (unlike classic applications). The goal of the PWA was to replace applications with mobile websites, but to be more precise, they are aimed at combining all the advantages of applications, avoiding their disadvantages. Creating a PWA requires minimal changes to an existing website. PWA in business Recently, several studies have been published that confirm the fact that the boom of traditional applications has passed, and the percentage of those who uninstall applications continues to grow. It is also known that most smartphone users download zero applications per month. Only about one third of smartphone owners download at least something, and most of them download from one to three applications per month. Progressive web applications will fundamentally change the situation. Users can switch to advanced applications from links on social networks, while browsing the web or directly from the results. This is much more convenient and effective than competing for views with two million available applications on the iOS App Store or Google Play Store. The offer to install a progressive application is shown only when the web application meets certain criteria and the user has shown interest by visiting the site again. Installing the application is instant. All components that require a long download were already installed in the cache when the user first visited the site. In addition, progressive applications are much smaller in size, as they effectively use the capabilities of the browser [6]. Conventional applications can only be used on the platform for which they are created. You cannot use the application on a computer in the same way as on an Android or iOS device. Progressive web applications will work anywhere, whether installed or not. They will work even on platforms that do not yet support all the features of PWA – even from older PCs with primitive browsers they can be accessed, albeit with limited functionality. Conclusion As part of the article, a review of the Progressive Web Application technology was performed, a comparison of progressive web applications with native ones was performed. The relevance of PWA in the modern world and the near future was also considered. In the future, it is planned to design and implement a web application using the latest approaches. 420
Секция 5. «Информационные технологии в процессе изучения иностранного языка»
List of references 1. Progressive web applications // [Electronic resource]. – Access mode: https://en.wikipedia.org/wiki/Progressive_web_applications 2. Progressive Web Apps: Who AmI // [Electronic resource]. – Access mode: https://habr.com/post/303626/ 3. Кто ты такой, Service Worker? // [Electronic resource]. – Access mode: https://medium.com/high-technologies-center/кто-ты-такой-service-worker9bce3b1201b6 4. Service Workers. Инструкция по применению // [Electronic resource]. – Access mode: https://habr.com/ru/company/2gis/blog/345552/ 5. Могут ли PWA конкурировать c нативными приложениями? // [Electronic resource]. – Access mode:https://medium.com/webbdev/могут-лиpwa-конкурировать-c-нативными-приложениями-a4297bb58c27 6. Зачем бизнесу Progressive Web Apps и как использовать эту технологию прямо сейчас // [Electronic resource]. – Access mode: https://texterra.ru/blog/raznyukhat-o-pwa-zachem-biznesu-progressive-web-apps-ikak-ispolz ovat-etu-tekhnologiyu-pryamo-seycha.html V.P. Saenko, I.V. Girovskaya Progressive Web Application as a new vector of web technologies development. The article describes the progressive technology of creating modern web applications, its principles, architecture, relevance and expediency by now. Also, the future development ways of Progressive Web Application were analyzed. Keywords: native applications, Android, PWA, cross-platform, browser, push notifications. Саенко В.П., Гировская И.В. Progressive Web Application как новый вектор развития веб-технологий. В статье рассматривается прогрессивная технология создания современных веб-приложений, её принципы, архитектура, актуальность и целесообразность в настоящее время. Такжепроанализированыперспективы Progressive Web Application в будущем. Ключевые слова: нативные приложения, Android, PWA, кросс-платформенный, браузер, push-уведомления.
421
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
UDC 004.4
Designing and developing an application for audio steganography A.S. Tolbatova Donetsk national technical university, Donetsk Software Engineering Department e-mail: anntolb0789@gmail.com I.V. Girovskaya Donetsk national technical university, Donetsk English Language Department e-mail: girovskaya@gmail.com A.S. Tolbatova, I.V. Girovskaya Design and development of an application for audio steganography. The article discusses the general scheme of the steganographic process, provides general requirements for the Sound_stego system under development. The developed program for audio steganography combines the methods of hiding information in wav and mp3 files using various approaches based on the features of the formats and allows you to listen to the original and modified files for comparison, as well as analyze the source file for the possibility of inserting and having data. Keywords: steganography, audio, wav, mp3, interface, information hiding.
Introduction Currently, one of the pressing problems of the global network is the security of data exchanged between users. For better information protection, it is necessary not only to encrypt data, but also to hide them, thereby complicating the work of attackers. Steganography is the science of hiding the transmission of information. Its task is to hide the fact of data transmission [1].
Figure 1 - General scheme of the steganographic process As a container, files of various formats can be used. In this paper, we consider the concealment of information in audio files, which allow you to contain 422
Секция 5. «Информационные технологии в процессе изучения иностранного языка»
a large amount of information due to the redundancy of the format. A feature of this type of steganography is the many options for embedding data depending on the original signal. In the course of work on this topic, such systems as Mp3Stego [2], AudioStegano [3], QuickStego [4], AudioStego [5] were investigated. All of them, one way or another, hide information in audio files by various methods. None of these programs combine several methods of hiding and working with several audio formats. The purpose of developing this application is to create a single software product that combines work with popular audio formats and improves existing methods of hiding information. Design requirements for a steganography application The developed software system will serve to hide information in audio files. Its interface should be simple and intuitive to use, so that the user clearly and clearly understands why each action is necessary and apply them correctly [6]. General system requirements This software product must meet the following requirements: the software system must check the availability of the necessary libraries for work; the software system should minimize the amount of information entered by the user, or simplify this process as much as possible; the software system must handle exceptional situations that occur during the operation of the system in order to avoid interruptions in the operation of the software system; the software system should allow the user to download the source audio file and save it after applying steganography; the software system must embed data in an audio file so as not to cause significant audio distortion. User interface requirements The interface of the software system must follow user-centered design, in which the needs, desires and limitations of end users are given extensive attention at every stage of the design process. The main advantage of a good user interface is that the user feels that he is the one who controls the software, and not vice versa. To do this, it must satisfy the following characteristics, which we consider below. The naturalness is not to force the user to change his usual ways of solving the problem, as well as use familiar concepts and metaphors for the user. A consistent interface provides the same response to semantically the same 423
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
commands throughout the product. The user-friendly interface behaves in such a way as to avoid incorrect situations in advance and warns the user about this. The principle of feedback is to show the user the process of performing long tasks, as well as the possibility of canceling them. The simplicity of the interface should be provided at the same time and ease in its study and providing access to all the functionality of the program at this stage. Aesthetic appeal is ensured by the fact that the user not only understands the information provided, but also can focus on its important aspects [7]. Based on the above interface properties, the user interface of the software system must satisfy the following requirements: two buttons for loading and saving, respectively, the source and modified audio files are required; you must have a button and a field to load embedded information; an option is required to select an audio file format; you need a button to start steganography; a status bar is required to control the operation of the application; notifications are required for the user about errors that have occurred. The layout of the program interface is shown in Figure 2.
Figure 2 – The initial layout of the program interface for audio steganography System Design and Development It was decided to use the C # programming language and VisualStudio development, tools to develop the Sound_stego software system. C # allows you to implement an interface, namely WindowsForms. Also, using this programming language, you can conduct the main work with the signal using an object-oriented approach, while it provides sufficient performance. To understand exactly how the user can interact with the system, a use case diagram has been developed. It provides a transparent view of the system, functionality and its subsystem. The use case diagram is shown in Figure 3. 424
Секция 5. «Информационные технологии в процессе изучения иностранного языка»
Figure 3 – Use-case diagram of an audio steganography application After the design phase of the system, we started its implementation. To date, the basic functions (downloading an audio file, listening, steganographic conversions, saving files) are implemented. The program is at the testing stage. Figure 4 shows the screen forms of the application.
Figure 4 – Application interface for audio steganography The basic algorithm for hiding information in wav can be used for 8, 16, 24, 32 bit files. The author's method of embedding data is based on the use of several random number generators, which are changed and selected depending on the source file. The approach used allows you to leave the file size and sound unchanged. Hiding information in mp3 is more difficult because minor data changes distort the audio signal. In the course of numerous tests, two methods of hiding information were developed. Both methods use a place in mp3 headers as a container for information. The first method uses 5 bits that do not affect the sound in any way, and the second - in addition to these 5 uses 2 more (27 and 28 bits of the header), which can affect the sound in some compositions [8].
425
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
Conclusion Within the framework of the article, the general scheme of the steganographic process was considered, previously developed products and their disadvantages are listed, the advantages of the developed system are highlighted. The software product being developed provides the ability to apply steganography to wav and mp3 files in a single interface. The software system allows you to download the source audio file, load the embedded text from the file, save the modified audio file and embed information with the current progress. Various methods have been developed for hiding information for each format, which do not change the size of the source file and do not distort the sound of the composition. List of references 1. Стеганография//Wikipedia.[Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/Стеганография 2. MP3 Stego//Peticolas [Электронный ресурс]. – Режим доступа: https://www.petitcolas.net/steganography/mp3stego/ 3. Audio Stegano//Steganosaur [Электронный ресурс]. – Режим доступа: https://steganosaur.us/dissertation/tools/audio 4. QuickStego//Quickcrypto[Электронный ресурс]. – Режим доступа:http://quickcrypto.com/free-steganography-software.html 5. AudioStego//Github[Электронный ресурс]. – Режим доступа: https://github.com/danielcardeenas/AudioStego 6. Голубев Е.А., Емельянов Г.В. Стеганография как одно из направлений обеспечения информационной безопасности // Технологии информационного общества, Спецвыпуск T-Comm, 2009. —с. 185-186. 7. Прячем текст в MP3 //Хабрахабр. [Электронный ресурс]. – Режим доступа: https://habr.com/post/112914/ A.S. Tolbatova, I.V. Girovskaya Design and development of an application for audio steganography. The article discusses the general scheme of the steganographic process, provides general requirements for the Sound_stego system under development. The developed program for audio steganography combines the methods of hiding information in wav and mp3 files using various approaches based on the features of the formats and allows you to listen to the original and modified files for comparison, as well as analyze the source file for the possibility of inserting and having data. Keywords: steganography, audio, wav, mp3, interface, information hiding. Толбатова А.С., Гировская И.В. Проектирование и разработка приложения для аудио стеганографии. В статье рассматривается общая схема стеганографического процесса, приведены общие требования к разрабатываемой системе Sound_stego. Разработанная программа для аудио стеганографии сочетает в себе методы сокрытия информации в wav и mp3 файлах с помощью различных подходов, основанных на особенностях форматов и позволяет прослушать для сравнения оригинальный и изменённый сигналы, а также проанализировать исходный файл на возможность вставки и наличия данных. Ключевые слова: стеганография, аудио, wav, mp3, интерфейс, скрытие информации. 426
Секция 5. «Информационные технологии в процессе изучения иностранного языка»
UDC 004.6, 004.91
DATABASE DESIGN AND DEVELOPMENT FOR WHOLESALE TRADE ENTERPRISE USING THE PROGRAM «1С: ENTERPRISE» VERSION 8.2 M.A. Yarmak Donetsk national technical university, Dontesk Applied Informatics department e-mail:mansfik1@gmail.com, Ye.N. Kushnirenko Donetsk national technical university English Language Department e-mail:alisa.kushnir23@gmail.com M.A. Yarmak, Ye.N. Kushnirenko Database and development for wholesale trade enterprise using the program «1С: Enterprise» version 8.2. This work is dedicated to database developing using «1С: Enterprise» system for work automation on wholesale trade enterprise. The main requirements for functional system are given and components of the developed database are described. Keywords: automation work on wholesale trade enterprise, sales planning module, procurement management, stocks management, speed performance for the system.
Introduction The written process of filling out documents is quite time-consuming and takes too much user’s time, as well as planning sales or managing customer orders, purchases, inventory, overhead. Therefore, a database is required. It should be flexible, that will allow to expand and refine if it becomes necessary to increase its functionality. The base should have powerful means of interconnected planning, sales and purchases control that will allow to solve the problems of maintaining customer orders, reserving goods in warehouses, identifying current and future needs for goods, forming orders on their basis for suppliers [1]. The purpose of the article Studying the features of databases, modules and documents development, as well as the development of a database for a wholesale and trading company in the «1C: Enterprise» system 8.2. Formulation of the problem First of all, it is necessary to implement sales planning at the enterprise. Implemented in the system planning and plan-factual analysis capabilities provide
427
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
support for decision-making that determine the business development and allow you to move from "spontaneous" management to regular sales management. The system provides the company’s leaders with powerful and convenient tools for planning volume sales in physical and value terms, including sales data for previous periods. Secondly, it is required to create customer orders control system that will allow to place customer orders in suppliers and reserve goods in warehouses in accordance with the company’s strategy for fulfilling orders and work schemes. All stages of the order passage and its adjustment are recorded in the system with relevant documents. It allows getting complete information about the progress of the order at any time, tracking the history of relationships between customers and suppliers, and evaluating the work effectiveness and reliability with them. Third, you need to develop procurement control. «1C The enterprise» provides trading enterprise managers with the necessary information for timely decision-making on resupply, reducing procurement costs and clear interacting with suppliers. The main functions of the procurement management subsystem are operational procurement planning, placing orders with suppliers and monitoring their implementation, and a payment calendar for cash expenditures. Fourth, it is necessary to implement inventory management at the enterprise that will allow keep record of goods in warehouses and full control over the company's inventory in wholesale and retail trade. All warehouse operations (receipt of goods, movement of goods, sale of goods, inventory, etc.) are recorded using appropriate documents. This allows to keep record of goods in various units of measurement (packaging), warehouse accounting in many warehouses (storage locations). Thus, separate accounting of own goods, goods accepted and transferred for sale, goods accepted for safekeeping, as well as accounting for returnable containers is maintained. Fifth, it is necessary to include in the accounting program for overhead charges such as transportation costs, storage, duties payment and excise taxes, services of both your own and third-party organizations, etc. These costs may be charged to the cost of goods. Depending on the nature of the overhead charges, their distribution according to commodity items may be made in proportion to the value of the goods, their weight or quantity. Research The software was implemented in order to reduce the user's time for filling out documents, tables, planning decisions, planning sales volumes, managing customer orders, managing purchases, managing inventory at the enterprise and accounting for overhead costs. During software development, the following concepts were investigated: types of reports in 1C: Enterprise 8.2 [2]; database architecture in 1C: Enterprise 8.2 [3]; Search for the best system performance; 428
Секция 5. «Информационные технологии в процессе изучения иностранного языка»
types of registers and their significance when working with data [4]; analysis of the considered software analogues. In the process of researching the subject area, a lack of speed was revealed in the calculations in the tables and the holding of documents. In addition, it was determined that the registers of information, accumulation, accounting and calculation play an important role. All registers are an important part of the system, and for their proper operation, proper correlation with documents, reports and tables is required. Information and accumulation registers are intended for storing information deployed by a combination of measurements. Their only difference is that the accumulation register can only store summable data. Software implementation The software provides the user with all the necessary functionality for the most convenient work at the wholesale and trading enterprise. The software product is presented as a base in the "1C: Enterprise" system 8.2. The base itself consists of the following constructs (modules): subsystems (tax accounting, fixed assets, payroll, analytical information, cash management, personnel management, etc.); general modules (accounting reports, filling out documents, making calculations, data exchange procedure, standard reports, standard operations, etc.); general forms (printing documents, results, form for selecting employees, warehouse, filling out mode, printed form, invoice description form, etc.); documents (advance report, internal order, development of fixed assets, intangible assets, arrangement, closing orders, inventory of fixed assets, intangible assets, report on retail sales, production per shift, etc.); reports (analysis of the order, gross profit, statement of goods in the warehouse, statement of goods of the organization, procurement, costs, personnel plan, cash book, etc.); plans of calculation types (contributions to funds, accruals, reflection of the organization’s salary, average earnings, deductions); information registers (discount validity period, personnel plan, categories of objects, order point values, exchange rates, returnable packaging limit, etc.); accumulation registers (marriage in production, internal orders, development of intangible assets, development of fixed assets, etc.); accounting registers (tax and self-supporting); calculation registers (contributions to the fund, accruals, reflection of salaries in the accounts, calculation of average earnings, deductions). In the starting form, for the user convenience, all the constructs and forms necessary for work (operations, directories, documents, reports, service, etc.) are available to him. The application is built as the user has access to all the necessary tools for working in the enterprise. Also, the "1C: Enterprise" system has the property that allows you to modify the database without taking the user from work. To do this, he just needs to update the system after its completing. In this database, 429
VI Международная научно-техническая конференция СИТОНИ-2019, 26 ноября 2019г., г. Донецк
all work is focused on the software functionality. Thus, there are no visual developments in it. Conclusions In the course of researching and designing of the software product, the necessary goals and objectives for the best functioning and speed of the database in the 1C: Enterprise systems were determined 8.2. The modules and constructs of the system, general forms, documents, reports and registers required for satisfaction of the enterprise and its employees needs are considered.
Sources 1. Радченко М.Г. 1С: Предприятие 8.1. Практическое пособие разработчика. Примеры и типовые приёмы. / М.Г. Радченко – Спб: Питер, 2007. – 413с. 2. Митичкин С.А. Разработка в системе 1С: Предприятие 8.0. / С.А. Митичкин – Спб: Питер, 2003. – 523с. 3. Радченко М.Г. Архитектура и работа с данными 1С:Предприятие 8.2. / М.Г. Радченко – Спб: Питер, 2010. – 370с. 4. Хрусталева Е.Ю. Разработка сложных отчетов в 1С: Предприятии 8. Система компоновки данных. / Е.Ю. Хрусталева – Спб: Питер, 2001. – 452 с.
M.A. Yarmak, Ye.N. Kushnirenko Database and development for wholesale trade enterprise using the program «1С: Enterprise» version 8.2. This work is dedicated to database developing using «1С: Enterprise» system for work automation on wholesale trade enterprise. The main requirements for functional system are given and components of the developed database are described. Keywords: automation work on wholesale trade enterprise, sales planning module, procurement management, stocks management, speed performance for the system. Ярмак МА., Кушниренко Е.Н. Проектирование и разработка информационной системы предприятия оптовой торговли с использованием программы «1С:Предприятие» версии 8.2. Работа посвящена разработке базы данных в системе 1С:Предприятие 8.2 для автоматизации работы оптово торгового предприятия. Приведены основные требования к функционалу системы, описаны составные части разработанной базы данных. Ключевые слова: автоматизация работы на оптовом торговом предприятии, модуль планирования продаж, управление закупками, управление запасами, быстродействие системы.
430
Содержание
Содержание Секция 1. «Теоретическая и прикладная математика» Беловодский В.Н., Климко Г.Т. (ДонНТУ, г.Донецк) Об областях гарантированной скорости сходимости итерационных методов решения систем линейных алгебраических уравнений ............................................................................................ 4 Букша Д.Р., Ваденин С.В., Ефименко К.Н. (ДонНТУ, г.Донецк) Квантовый компьютер – реальность ближайшего времени? ...................................................... 16 Букша Д.Р., Лазебная Л.А., Бельков Д.В. (ДонНТУ, г.Донецк) Программы для изучения игры «Жизнь» и других клеточных автоматов ............................................... 21 Ваденин С.В., Тарабаева И.В., Бельков Д.В. (ДонНТУ, г.Донецк) Одномерные клеточные автоматы и построение фракталов по правилам Вольфрама ................ 28 Ефименко К.Н., Добровольский Ю.Н. (ДонНТУ, г.Донецк) Применение теории алгоритмов к ситуациям в профессиональной деятельности человека ..................... 34 Казакова Е.И., Перинская Е.В. (ДонНТУ, г.Донецк) Экспоненциальное р-устойчивое управление............................................................................................................ 41 Клово А.Г., Куповых Г.В., Чистякова Т.А. (Южный федеральный университет, г.Таганрог, Россия) Обобщения тригонометрических систем и некоторые приложения .................................................................................................................. 48 Кожухов И.Б., Пряничников А.М. (МИЭТ, г.Москва, Россия) Об унарах с тождествами в решётке конгруэнций ......................................................................... 59 Козаков Б.А., Бельков Д.В. (УОР им. С. Бубки, ДонНТУ г.Донецк) Мультифрактальный анализ метеоданных Донецка................................................. 65 Лапшина Е.В., Анохина И.Ю. (ДонНТУ, г.Донецк) Оптимизация Web-сайта Интернет-магазина ...................................................................................................... 76 Манилов Д.Ю., Решетников А.В. (МИЭТ, г.Москва, Россия) Об одной задаче, связанной с двоичными матрицами ........................................................................... 86 Павлыш В.Н., Бурлаева Е.И., Скринникова А.В. (ДонНТУ, г.Донецк; ЛНУ им. Тараса Шевченко, г.Луганск) Задача построения систем информационного поиска полезных сведений в документальных базах ................ 89 Паранок Д.Е., Ефименко К.Н. (ДонНТУ, г.Донецк) Анализ базовых языков программирования ....................................................................................................... 95 Прокопенко Е.В., Гром А.В. (ДонНТУ, г.Донецк) К вопросу о геометризации породных отвалов угольных шахт ............................................................................ 102 Прокопенко Е.В., Масло С.В., Гаврилко К.А. (ДонНТУ, ДонАУиГС, г.Донецк) Реализация методов интеллектуального анализа данных на основе модулей интегрированной статистической системы Statistic................................................. 107 Сотов А.С. (МГУ им. М.В. Ломоносова, г.Москва, Россия) Теорема КантораБернштейна для полигонов над группами ............................................................... 111 Таций Е.В. (ДонНТУ, г.Донецк) Алгоритм поиска кратчайшего пути в графах с нестандартной достижимостью ................................................................................ 115 Ткаченко О.В., Едемская Е.Н., Бельков Д.В. (ДонНУ, ДонНТУ, г.Донецк) Модель производственного процесса на основе системы Лоренца .................................... 121
431
Содержание
Юрченко А.С., Зензеров В.И., Бельков Д.В. (ДонНТУ, г.Донецк) Модель взаимодействия беспилотных автомобилей в однополосном потоке ................... 127
Секция 2. «Компьютерные науки и технологии» Веретельник Д.М, Норкене Е.А. (ДонНТУ, г.Донецк) О методологиях детекции человеческого лица на изображениях...................................................................... 134 Власов Н.Г., Иваница С.В. (ДонНТУ, г.Донецк) Анализ использования тетракодов для усовершенствования алгоритмов хеширования ..................................................... 141 Гончаров В.В., Грищенко В.И. (ДонНТУ, г.Донецк) Исследование методов снижения задержки в протоколах передачи данных в компьютерных сетях ........ 146 Добренко Д.С., Ольшевский А.И. (ДонНТУ, г.Донецк) Интеллектуальная система кластеризации налогоплательщиков........................................................................ 152 Дробот К.C., Едемская Е.Н. (ДонНТУ, г.Донецк) Автоматизация офисных процессов с помощью чат-бота ................................................................................ 159 Емельянова В.И., Бочаров Д.М. (ДонНТУ, г.Донецк) Анализ алгоритмов ручного многокадрового супер-разрешения для изображений ............................................ 165 Ермоленко П.А., Белецкий О.В. (ДонНТУ, г.Донецк) Система «Умный дом» ........ 170 Захарченко К.С., Чередникова О.Ю., Достлев Ю.С. (ДонНТУ, г.Донецк) Анализ растровых систем прорисовки фотошаблонов для прецизионных печатных плат ............................................................................................................ 175 Капустин Д.А., Сентяй Р.Н., Суворова Е.Ю., Шишлакова В.Н. (ЛНУ им. Тараса Шевченко, г.Луганск) Использование семантической нейронной сети в задачах мониторинга текстовой информации ....................................................................... 180 Капустин Д.А., Швыров В.В., Галимурза С.А., Суворова Е.Ю. (ЛНУ им. Тараса Шевченко, г.Луганск) Влияние температуры воздушных потоков на точность позиционирования ..................................................................................................... 186 Катруша И.А., Толпекина М.Е. (АГЗ МЧС ДНР, г.Донецк) Автоматизация расчёта сил и средств для ликвидации пожара в зданиях повышенной этажности ........... 192 Логачёва С.А., Плотникова С.В. (Республиканский лицей-интернат «Эрудит», г.Донецк) Управление электропитанием в доме по сети Wi-Fi ............................... 196 Павлыш Э.В. (ВГУ им. П.М. Машерова, г.Витебск, Беларусь) К вопросу о содержании понятия «конкурентоспособность региона»........................................ 203 Сорока А.С., Завадская Т.В. (ДонНТУ, г.Донецк) Разработка мобильного кроссплатформенного приложения с помощь React Native.................................... 206 Степанов Н.А., Кучер Т.В. (АГЗ МЧС ДНР, г.Донецк) Программный комплекс для расчета параметров работы в средствах индивидуальной защиты органов дыхания ...................................................................................................................... 211 Строкин В.С., Ольшевский А.И. (ДонНТУ, г.Донецк) Подсистема тестирования по курсу «Алгоритмы и структуры данных» .................................................................. 216 Ткаченко С.Н., Коваленко А.В., Корытченкова Е.Е. (ДонНТУ, г.Донецк) Анализ способов моделирования микрогрид-систем с возобновляемыми источниками энергии и водородными топливными элементами.................................................. 222 Усова А.С., Хмелевой С.В. (ДонНТУ, г.Донецк) Подсистема управления электроприборов в условиях системы «Умный дом».............................................. 229 432
Содержание
Хомутов В.С., Краснокутский В.А. (ДонНТУ, г.Донецк) Применение микрокомпьютеров в автомобилестроении, их архитектура и способы повышения их быстродействия ...................................................................................................... 235
Секция 3. «Инженерия программного обеспечения» Бондаренко Е.С., Григорьев А.В. (ДонНТУ, г.Донецк) Анализ инструментов создания, модификации и практического применения API в современных САПР на примере CATIA ...................................................................................................... 241 Борискин Д.В., Зори С.А. (ДонНТУ, г.Донецк) Исследование возможности билатеральной фильтрации для решения задач распознавание объектов на изображениях и Depth Image Based Rendering ........................................................ 247 Воробьёв Л.О. (ДонНТУ, г.Донецк) Автоматизация трассировки многопоточных программ .................................................................................................................... 252 Воробьёв Л.О., Григорьев А.В. (ДонНТУ, г.Донецк) К вопросу о самосинтезируемости программ............................................................................... 256 Вязмин В.И., Чернышова А.В. (ДонНТУ, г.Донецк) Анализ существующих протоколов передачи голосовых сообщений в мессенджерах с целью повышения эффективности средств защиты передаваемых данных ....................................... 267 Гончаров К.Д., Федяев О.И. (ДонНТУ, г.Донецк) Нейросетевое прогнозирование успеваемости по ментальным характеристикам студентов ................................... 274 Гума С.Н., Коломойцева И.А. (ДонНТУ, г.Донецк) Анализ методов Data Mining с целью применения в рекомендательной системе ................................................ 284 Косенко Ю.А., Григорьев А.В. (ДонНТУ, г.Донецк) Анализ систем синтаксического и лексического разбора программного кода ............................................................ 289 Кутелёв Р.С., Григорьев А.В. (ДонНТУ, г.Донецк) Анализ назначения, структуры и инструментов построения шаблонов в современных CMS системах .................... 294 Манойло В.Е., Григорьев А.В. (ДонНТУ, г.Донецк) Разработка системы управления контентом (CMS) ........................................................................................................ 301 Музычин В.Г., Григорьев А.В. (ДонНТУ, г.Донецк) Анализ путей разработки и перспектива развития системы автоматического получения данных о здоровье человека из медицинских учреждений для мобильных приложений для контроля за здоровьем .............................................................................................................. 307 Ржевский К.В., Григорьев А.В. (ДонНТУ, г.Донецк) Описание методов редактирования документа с помощью графических надстроек Microsoft Visio.......... 313 Ткачёв Н.М., Федяев О.И. (ДонНТУ, г.Донецк) Распознавание лиц из видеопотока с помощью свёрточной нейронной сети................................................................... 321 Хубеджев Д.П., Ситникова О.Д. (ДонНТУ, г.Донецк) Решение задачи логистики поставок по нескольким циклическим и радиальным маршрутам с учетом использования различных видов транспорта .......................................................... 327 Чернышов Д.Н., Грищенко О.С., Григорьев А.В. (ДонНТУ, г.Донецк) Использование метода конечных элементов для физических расчетов в САПР ........................... 332 Шевелёв И.А., Федяев О.И. (ДонНТУ, г.Донецк) Анализ эффективности автоматизированного тестирования оконного интерфейса программной системы ...................................................................................................................... 338
433
Содержание
Секция 4. «Информационные технологии в образовании» Бочаров В. В., Суслова Л. А. (ДонНУ, г.Донецк) Адаптивное обучение в неформальном образовании .................................................................................... 347 Коляда М.Г., Бугаева Т.И. (ДонНУ, г.Донецк) Компьютерная реализация модели нечетких множеств для управления сложностью подачи учебного материала на занятии ....................................................................................................................... 353 Курилов М.А. (ДонНТУ, г.Донецк) Тест Тьюринга, наследие В.М. Глушкова и компьютерное обучение в свете текущего момента ............................................... 369 Мостовая В.А., Авксентьева О.А., Мальчева Р.В. (ДонНТУ, г.Донецк) Разработка виртуальной лаборатории для изучения архитектуры процессора ....................... 375 Павлыш В.Н., Зайцева М.Н. (ДонНТУ, г.Донецк) Применение информационных технологий для совершенствования организации учебного процесса в техническом университете ........................................................................................ 380 Пигуз В.Н., Ивашко К.С., Изосимова С.А. (Институт проблем искусственного интеллекта, г. Донецк) Медиаобразовательные аспекты в процессе обучения ......... 386 Шарибченко Е.И., Мальчева Р.В. (ДонНТУ, г.Донецк) Разработка мультимедийной демонстрационно-обучающей системы ................................................................... 393
Секция 5. «Информационные технологии в процессе изучения иностранного языка» Анохина И.Ю., Рощина Е.В., Кушниренко Е.Н. (ДонНТУ, г.Донецк) Моделирование информационного влияния в социальных сетях ..................................................... 399 Лутфуллаев А.Ж, Зори С.А., Кушниренко Е.Н. (ДонНТУ, г.Донецк) Разработка компьютерной 2D-игры в жанре «коллекционная карточная игра» ....................... 405 Мазалов Р.А., Чернышова А.В., Гильманова Р.Р. (ДонНТУ, г.Донецк) Обзор архитектурного стиля REST ...................................................................................... 410 Саенко В.П., Гировская И.В. (ДонНТУ, г.Донецк) Progressive Web Application как новый вектор развития веб-технологий ................................................................... 417 Толбатова А.С., Гировская И.В. (ДонНТУ, г.Донецк) Проектирование и разработка приложения для аудио стеганографии .................................................................... 422 Ярмак М.А., Кушниренко Е.Н. (ДонНТУ, г.Донецк) Проектирование и разработка информационной системы предприятия оптовой торговли с использованием программы «1С:Предприятие» версии 8.2. ............................................................. 427
434
Научное издание
МАТЕРИАЛЫ VI Международной научно-технической конференции «Современные информационные технологии в образовании и научных исследованиях» СИТОНИ-2019 26 ноября 2019 г. г. Донецк Под общей редакцией В.Н. Павлыша
Ответственный за выпуск: В.Н.Павлыш Технические редакторы: В.И. Зензеров, Д.В. Бельков Компьютерная верстка: В.И. Зензеров
Адрес редакции: ДНР, 83001, г. Донецк, ул. Артема, 131, Донецкий национальный технический университет, 11-й учебный корпус, факультет компьютерных наук и технологий, кафедра «Прикладная математика», ком. 11.516, тел.: (062)301-09-51; (062)301-03-91 e-mail: pm_donntu@mail.ru Web-сайт конференции: http://pm.conf.donntu.org/index.php
Подписано к печати 25.11.2019. Формат 60×84 1/16. Бумага офсетная. Усл. печ. лист. 26,5.