ISSN 1992-6502 (Print)_
2018. Т. 22, № 3 (81). С. 124-130
Вестник УГАТУ
ISSN 2225-2789 (Online) http://journal.ugatu.ac.ru
УДК 519.711
Динамические окрестностные сети
И. А. Седых
sedykh-irina@yandex.ru ФГБОУ ВО «Липецкий государственный технический университет» (ЛГТУ) Поступила в редакцию 26.10.2017
Аннотация. В работе даны определения динамических окрестностных сетей без обратных связей и с обратными связями, рассмотрены правила их функционирования. Показано отличие входных и общих узлов окрестностной сети. Дано определение тупикового состояния сети. Приведены примеры линейных окрестностных сетей рассмотренных типов. Показано сведение решения задачи устранения тупикового состояния в линейных сетях с обратными связями к решению системы линейных уравнений. Сформулирован и показан на примере алгоритм упрощения структуры линейной окрестностной сети путем устранения обратных связей. Приведенный алгоритм реализован на языке программирования С++.
Ключевые слова: динамические окрестностные сети; граф структуры; обратные связи; линейные окрестностные сети; алгоритм; тупиковые состояния.
ВВЕДЕНИЕ
Окрестностные модели относятся к классу дискретных систем и применяются для моделирования поведения сложных пространственно распределенных объектов.
Идея окрестностного подхода была предложена в конце 90-х гг. XX в. Сначала были рассмотрены статические симметричные и смешанные линейные, а также билинейные окрестностные модели [1-2].
Так как большинство реальных моделируемых объектов изменяет свое состояние во времени, следующим этапом развития окрестностного подхода является разработка динамических окрестностных моделей [3-8], которые применяются для моделирования и исследования процессов функционирования производственных систем.
Окрестностные модели представляют собой совокупность структуры, векторов управляющих воздействий, состояний и выходов, а также правил функционирования. Структура состоит из множества узлов,
Работа поддержана грантом РФФИ 16-07-00854а.
каждому из которых сопоставлены окрест-ностные связи по управляющим воздействиям, состояниям и выходам модели. Каждому узлу модели поставлено в соответствие его состояние, выход, а также поступающее на него управляющее воздействие. Правила функционирования задаются с учетом окрестностей в виде линейных и нелинейных уравнений связи управляющих воздействий, состояний и выходов (функций пересчета состояний и выходов). В динамических окрестностных моделях задается также начальное состояние.
В [3-6] рассмотрены недетерминированные динамические окрестностные модели, меняющие с течением времени окрест-ностные связи и позволяющие моделировать параллельные стохастические процессы.
Окрестностные модели обобщают многие классы математических моделей, в частности, конечные автоматы [1-2], сети Петри [3-6], нейронные сети [9-10] и т.д.
Для перечисленных классов моделей разработаны алгоритмы параметрической идентификации, смешанного оптимального
управления и решения задачи достижимости с частично заданными параметрами.
В данной статье приведем модификацию рассмотренных ранее окрестностных моделей: динамические окрестностные сети, отличающиеся разделением множества узлов модели на два подмножества, каждое из которых функционирует по своему правилу. Динамические окрестностные сети могут применяться для моделирования систем с обратными связями, например для процесса расчета себестоимости продукции на больших производственных предприятиях, когда часть производимого продукта в дальнейшем используется для производства этого же самого продукта.
ОПРЕДЕЛЕНИЕ ДИНАМИЧЕСКОЙ ОКРЕСТНОСТНОЙ СЕТИ БЕЗ ОБРАТНЫХ СВЯЗЕЙ
Динамическая окрестностная сеть является интеграцией графа структуры и дискретной динамической системы.
Граф структуры окрестностной сети является ориентированным и состоит из узлов A = An иAm двух типов: An ={а1,а2,...,an}-множество входных узлов;
Ат = К+1 ,ап+2 >.",ап+т } - множество общих узлов модели, Ап П Ат = 0 . Узлы соединены между собой ориентированными дугами, задающими их связи по состояниям, причем в графе сети без обратных связей отсутствуют циклы. Множество узлов, исходящие дуги которых входят в данный узел а., 1 =1>...>п + т, называется окрестностью этого узла по состояниям и обозначается 0[¡]. Только на входные узлы окрестностной сети в каждый момент времени t поступают управляющие воздействия V [1]еЯ, 1 = 1>...>п . Каждому узлу сети а., 1 = 1>...>п + т, поставлено в соответствие его состояние X[¡] е Я в момент времени t. Сеть функционирует в дискретном времени с шагом Дt = 1.
Состояния в текущий момент времени t входных узлов зависят только от поступающих на них управляющих воздействий и находятся по формулам:
Х[ г>\] = О1 (V[t>i]), (1)
где 1 = 1>... > п ; О.: Я ^ Я - функция пересчета состояний входных узлов.
Для общих узлов функции О1 определяются следующим образом:
Х^>1] = Ог\х^>])]>..,Х^>]), (2)
где 1 = п+1>...>п+т ; для всех з = 1,...,гг узел
а 8 е0[1]; О^.ЯхЯ^Я - функция пере-
м х 1
счета состояний для 1 -го общего узла.
Таким образом, из формулы (2) видно, что состояние в каждом общем узле ai можно найти, только зная состояния всех узлов из его окрестности 0х [1]. Так как в рассматриваемом случае отсутствуют циклы, то расчет состояний в общих узлах осуществляется последовательно.
Рассмотрим пример динамической окрестностной сети без обратных связей, состоящей из двух входных Ап ={а1 >а2} и
двух общих узлов Ат = {а3 >а4}. Граф структуры сети представлен на рис. 1.
Па]
Рис. 1. Пример графа структуры окрестностной сети без обратных связей
В случае линейных функций пересчета состояний узлов для рассматриваемого примера формулы (1) и (2) имеют вид (3) и (4) соответственно:
Г Х[а] = gv[1]V[t,1] + gc[1];
| Х[^2 ] = gv[ 2 ^[^2 ] + gc[ 2 ];
' Х[^Ъ ] = gx[ 3,1] Х [^1] +
+ gx[ 3,2 ]Х^,2 ] + gc[ 3 ];
' Х^,4] = gx[4\]Х [t,1] + + gx[ 4,3 ]Х^,3 ] + gc[ 4 ], где gv[i] е Я, gx[i,J] е Я, gc[i] еЯ - параметры.
Параметрическую идентификацию динамических окрестностных сетей можно
(3)
(4)
провести с использованием рассмотренного в [1-3, 7] алгоритма.
ДИНАМИЧЕСКАЯ ОКРЕСТНОСТНАЯ СЕТЬ С ОБРАТНЫМИ СВЯЗЯМИ
Назовем состояние окрестностной сети тупиковым, если невозможно посчитать состояния всех ее общих узлов в текущий момент времени.
В графе структуры динамической окрестностной сети с обратными связями разрешены циклы. Очевидно, что тогда все состояния сети являются тупиковыми.
Для нахождения состояний общих узлов необходимо решить систему уравнений: ' Х^, п+1] =
= G
п+1
(x[t,.
71+1 I X[t, '+1 ]
^ 7)
(5)
Х[ ?,п+т] =
(л п+т \
Х[г,1\ ],...,Х[г,]\ ])
п+т п+т
В линейном случае (5) представляет собой систему линейных уравнений:
Г Х[1,п + 1] = gx[n+7 ]Х[7 ] +
„п+1 „п+1
+ ... + gx[n + 17++ ]Х['+ ] +
+g с [п+1];
(6)
Х[ 1,п + т] = gx[ п+т,]\+т]Х[ 1,]1п+т] +
Г
п+т
]Х'[^, 7'п+т ] +
+...+gx[n+т,]гп
+ gc[n+т]. На рис. 2 приведен пример графа структуры сети с обратной
а3 ^ а4 ^ а3.
связью
Пусть функции пересчета состояний являются линейными. В этой сети мы не можем вычислить ни состояние Х[Х$] узла
а3 , так как не знаем состояния узла а4 ,
входящего в окрестность а3, ни состояние
Х[] узла а4, поскольку нам не известно
состояние узла а3 .
Рис. 2. Пример графа структуры окрестностной сети с обратной связью
Для устранения тупикового состояния необходимо решить следующую систему линейных уравнений:
'Х[г,3 ] = gx [3,1] Х^Ш] + gx [3,2 ] х
^ XХ[г,2] + gx[3,4]Х[Г,4] + gc[3]; (7) ' Х[Г,4] = gx[4,1]Х[Г,1] + + gx[ 4,3 ]Х[Г,3 ] + ge[ 4 ]. Преобразуем систему (7) к виду (8) и запишем (8) в матричной форме (9):
- Х[Г,3 ] + gx[ 3,4 ]Х[Г,4 ] =
= - gx[ 3,1] Х [Ц] -
- gx[ 3,2 ]Х[(,2 ] - gc[ 3 ]; gx[ 4,3 ]Х[(,3 ] - Х[Г,4 ] = = - gx[ 4,1] Х [1,1] - gc[ 4 ];
Gx • Х[(] = Gc[t], (9)
-1 Ях М ёх [4,3] -1 - gx[ 3,1]Х/7,1] - gx[ 3,2 ]X[t,2 ] - gc[ 3 ] - gx[ 4п]X[tп] - gc[ 4 ]
(8)
где G =
x
=
Х ^ ] = [Х [t,3] ХУ ,4]]т
АЛГОРИТМ УПРОЩЕНИЯ СТРУКТУРЫ ЛИНЕЙНОЙ ОКРЕСТНОСТНОЙ СЕТИ С ОБРАТНЫМИ СВЯЗЯМИ
Далее будем рассматривать линейные окрестностные сети (6) с обратными связями. При наличии обратных связей непосредственный расчет состояний общих узлов сети в текущий момент времени невозможен без решения системы линейных
ДЕЛ.
Рис. 3. Граф структуры окрестностной сети до упрощения
уравнений, например, методом Гаусса, вычислительная сложность которого составляет 0(т3).
При очень большом количестве общих узлов окрестностной сети с обратными связями расчет их состояний на отдаленном шаге может занимать значительное время с учетом того, что для каждого шага необходимо решить систему уравнений.
Рассмотрим алгоритм упрощения структуры линейной окрестностной сети с обратными связями. Его идея заключается в выделении из общей структуры сети участков с обратными связями (подсетей) и в последующем преобразовании этих участков таким образом, чтобы избавиться от обратных связей.
Выделение подсетей с обратными связями осуществляется следующим образом:
1. По правилам функционирования сети без обратных связей находятся состояния всех узлов, не участвующих в обратной связи.
2. Выбирается какой-либо узел, входящий в обратную связь, т.е. такой, состояние которого вычислить на первом шаге мы не смогли, и создается список всех узлов, входящих в его окрестность.
3. Список просматривается с начала, для каждого входящего в него узла находятся узлы из его окрестности и добавляются в тот же список.
4. Если после просмотра всего списка от начала до конца в него не добавилось никаких новых узлов, то конец алгоритма. Иначе переходим к п. 3.
После выделения подсети с помощью элементарных преобразований избавляемся от обратных связей в ней, зануляя наддиа-гональные элементы матрицы системы.
Таким образом, удаление обратных связей в сети позволяет не выполнять решение системы линейных уравнений при расчете текущих состояний общих узлов в каждый момент времени функционирования сети, а находить их непосредственно прямой подстановкой в линейную функцию, как в сети без обратных связей, что существенно сокращает время вычислений. При этом трудоемкость вычислений для каждого шага по времени уменьшается до 0(т) .
Рассмотрим приведенный алгоритм на примере окрестностной сети, изображенной на рис. 3.
Состояния узлов а1 и а2 можно найти, так как а1 - входной узел, в а2 нет обратной связи.
Состояния остальных узлов без составления системы уравнений мы посчитать не можем. Возьмем узел а3 и определим подсеть, в которую он входит, по описанному выше алгоритму. Очевидно, в подсеть вой-
а4 . Составим для нее си-
дут узлы а1, а3 стему линейных уравнений:
' Х^,3 ] = gx[ 3,1]Х[М] + <+ gx[ 3,4 ]Х^,4 ] + gc[ 3 ]; . Х[^4 ] = gx[ 4,3 ]Х^,3 ] + gc[ 4 ].
(10)
Система (10) в матричной форме имеет
вид:
Рис. 4. Граф структуры окрестностной сети с рис. 3 без обратной связи а3 ^ а4 ^ а3
или
-1 gx[3,4]! ГX[г,3]" Ех [4,3] -1 X [г ,4] - gx [3,1]Х [г,1] - gc [3] - £с [4]
О^4 • Х[г] = О3/ [г]. (11)
С помощью элементарных преобразований занулим наддиагональные элементы в матрице коэффициентов системы (11):
Ех[3,4]^я[4,3] -1 0 ! ГX[г,3]"
^ [4,3] - 1_Т|_ X [г ,4]
- £х [4,3]^с [4] - [3,1] X [г ,1] - [3]"
- £с [4]
или
О34 XV] = О34 [г] . (12)
Система уравнений (12) соответствует новой окрестностной сети с упрощенной структурой, в которой отсутствует обратная связь а3 ^ а4 ^ а3. Граф новой сети представлен на рис. 4.
В окрестностной сети на рис. 4, кроме состояний узлов а1 и а2, также можно
найти и состояния узлов аъ и а4, пользуясь
правилами функционирования сети без обратных связей.
Аналогично удаляется обратная связь а5 ^ а6 ^ а5. Для этого выберем узел а5 и определим соответствующую ему подсеть, в которую входят узлы а2, а4, а5 и а6. Составим для выбранной подсети систему линейных уравнений:
'XV, 5 ] = ~х[ 5, 2 ]X[t , 2 ] + + ~ [ 5, 4 ]X[t , 4 ] + ~ [ 5, 6 ]X[t , 6 ] + ~ [ 5 ]; (13) XV, 6 ] = ~х[ 6, 5 ]X[t, 5 ] + ~с[ 6 ]. Си сте ма (13) в матричной форме имеет
вид:
-1
~х [5,6]"
X [г ,5]"
~х[6,5] -1 ] [X[г,6] - ~х [5,2] X [г,2] - ~х [5,4] X [г,4] - ~ [5]
- ~с[6]
или
05 ^ X[t] = О5 6 [г]
5,6
(14)
Рис. 5. Граф структуры окрестностной сети с рис. 3 без обратных связей
После элементарных преобразований в (14) получаем новую систему с нижнетреугольной матрицей:
б5;6 ■ X[г] = ].
Таким образом, мы получаем окрест-ностную сеть без обратных связей (рис. 5).
РЕАЛИЗАЦИЯ И ПРАКТИЧЕСКОЕ ПРИМЕНЕНИЕ
Приведенный алгоритм реализован в виде программы на языке программирования С++. Входными данными программы являются множества входных и общих узлов, матрица смежности графа структуры модели, управляющие воздействия; выходными - состояния всех узлов модели.
Динамические окрестностные сети могут применяться для моделирования расчета себестоимости продукции. Входными узлами в данной модели являются сырьевые материалы, общими - все промежуточные и конечные продукты. В матрице смежности отражаются производственные связи между материалами. Управляющие воздействия -себестоимость сырьевых материалов. Результатом моделирования является расчет себестоимости всех произведенных продуктов.
Тестирование такой модели проводилось с помощью разработанной программы для расчета себестоимости производства агломерата с марганцем и без марганца по реальным данным, полученным на ПАО «Новолипецкий металлургический комбинат».
Результаты программных расчетов и реальные данные в калькуляциях полностью совпали. Таким образом, сравнение результатов, полученных по модели, с реальными данными показывает, что реализованная модель может быть применена для расчета себестоимости продукции.
ЗАКЛЮЧЕНИЕ
В данной статье введен новый класс динамических окрестностных моделей, а именно окрестностные сети, отличающиеся разделением вершин на два разных по функциональности типа.
Рассмотрены два вида окрестностных сетей: без обратных связей и с обратными
связями. Последние характеризуются наличием тупиковых состояний. Для каждого вида приведен подробный пример, в котором показаны граф структуры сети и уравнения линейной функции пересчета состояний.
Для линейных окрестностных сетей с обратными связями приведен пример устранения тупикового состояния с помощью решения системы линейных уравнений.
Рассмотрен алгоритм упрощения структуры линейной динамической окрестност-ной сети, заключающийся в выделении подсетей, содержащих обратные связи, и в устранении обратных связей на основе элементарных преобразований матриц системы. Алгоритм проиллюстрирован примером. По рассмотренному алгоритму написана программа на языке C++.
Показано применение динамических окрестностных сетей для моделирования расчета себестоимости продукции.
СПИСОК ЛИТЕРАТУРЫ
1. Блюмин С. Л., Шмырин А. М. Окрестностные системы. Липецк: ЛЭГИ, 2005. 132 с. [ S. L. Blumin, A. M. Shmyrin, Neighborhood systems, (in Russian). Lipetsk: LEGI, 2005. ]
2. Блюмин С. Л., Шмырин А. М., Шмырина О. А. Билинейные окрестностные системы. Липецк: ЛЭГИ, 2006. 131 с. [ S. L. Blumin, A. M. Shmyrin, O. A. Shmyrina, Bilinear neighborhood systems, (in Russian). Lipetsk: LEGI, 2006. ]
3. Окрестностные системы / С. Л. Блюмин и др. Липецк: ЛЭГИ, 2010. 124 с. [ S. L. Blumin, et.al., Neighboring modeling of Petri nets, (in Russian). Lipetsk: LEGI, 2010. ]
4. Седых И. А. Смешанное управление динамическими недетерминированными окрестностными моделями сетей Петри // Системы управления и информационные технологии. 2009. № 1.3(35). С. 401 - 404. [ I. A. Sedykh "The mixed control of variable nondetermination neighborhood's models of the Petri nets", (in Russian), in Sistemy upravlenija i informacionnye tehnologii, no. 1.3(35), pp. 401-404, 2009. ]
5. Shmyrin A., Sedykh I. Identification and control algorithms of functioning for neighborhood systems based on petri nets // Automation and Remote Control, 2010. V. 71, № 6. p. 1265-1274. [ A. Shmyrin, I. Sedykh, "Identification and control algorithms of functioning for neighborhood systems based on petri nets", in Automation and Remote Control, vol. 71, no. 6, pp. 1265-1274, 2010. ]
6. Шмырин А. М., Седых И. А. Дискретные модели в классе окрестностных систем // Вестник ТГУ. Сер. Естественные и технические науки. 2012. Т. 17, Вып. 3. С. 867871. [ A. M. Shmyrin, I. A. Sedykh, "Discrete models in the class of neighborhood systems", (in Russian), in Vestnik TGU, vol. 17(3), pp. 867-871, 2012. ]
7. Шмырин А. М., Седых И. А., Щербаков А. П. Общие билинейные дискретные модели // Вестник Воронежского государственного технического университета. 2014. Т. 10, Вып. 3-1. С. 44-49. [ A. M. Shmyrin, I. A. Sedykh, A. P. Shcher-bakov, "General bilinear discrete models", (in Russian), in Vestnik Voronezhskogo gosudarstvennogo tekhnicheskogo universiteta, vol. 10, pp. 44-49, 2014. ]
8. Седых И. А. Параметрическая идентификация линейной динамической окрестностной модели // Инновационная наука: прошлое, настоящее, будущее. Уфа: АЭТЕРНА, 2016. С. 12-19. [ I. A. Sedykh "Parametric identification of a linear dynamic neighborhood model", (in Russian), in Innovacionnaya nauka: proshloe, nastoyashchee, budush-chee, pp. 12-19, 2016. ]
9. Шмырин А. М., Седых И. А., Семина В. В. Идентификация окрестностной модели нейронной сети на основе жадного, «полужадного» алгоритмов и алгоритма Качма-жа // Вестник ТГУ. Сер. Естественные и технические науки. 2016. Т. 21, Вып. 6. С. 2121-2127. [ A. M. Shmyrin, I. A. Sedykh, V. V. Semina, "Identification neighborhood neural network model based greedy, "semigreedy" algorithms and Kaczmarz algorithms", (in Russian), in Vestnik TGU, vol. 21(3), pp. 2121-2127, 2016. ]
10. Shmyrin A. Sedykh I. Neural Networks Neighborhood Models // Global Journal of Pure and Applied Mathematics. 2016. V. 12. № 6, p. 5039-5046. [ A. Shmyrin, I. Sedykh, "Neural Networks Neighborhood Models", in Global Journal of Pure and Applied Mathematics, vol. 12, no. 6, pp. 5039-5046, 2016. ]
ОБ АВТОРE
СЕДЫХ Ирина Александровна, доц. каф. высшей математики. Дипл. математик-инженер (ЛГТУ, 1999). Канд. физ.-матем. наук по математическому моделированию, численным методам и комплексам программ (ЕГУ им. И. А. Бунина, 2009). Иссл. в обл. окрестностного моделирования динамических систем.
METADATA
Title: Dynamic neighborhood networks
Authors: I. A. Sedykh
Affiliation:
Lipetsk State Technical University (LSTU), Russia. Email: sedykh-irina@yandex.ru Language: Russian.
Source: Vestnik UGATU (scientific journal of Ufa State Aviation Technical University), vol. 22, no. 3 (81), pp. 124-130, 2018. ISSN 2225-2789 (Online), ISSN 1992-6502 (Print). Abstract: In work definitions of dynamic neighborhood networks without feedbacks and with feedbacks are given, rules of their functioning are considered. The difference between input and common nodes of a neighborhood network is shown. A definition of the deadlock state of the network is given. Examples of linear neighborhood networks of the types considered are given. Reduction of the solution of the problem of elimination of the deadlock state in linear networks with feedbacks to the solution of a system of linear equations is shown. An algorithm for simplifying the structure of a linear neighborhood network by eliminating feedbacks is formulated and shown using the
example. The above algorithm is implemented in the programming language C ++.
Key words: dynamic neighborhood networks; structure graph; feedbacks; linear neighborhood networks; algorithm; deadlock state.
About authors:
SEDYKH, Irina Aleksandrovna, Associate Professor Depart. of Mathematics. Dipl. Mathematician-engineer (LSTU, 1999). PhD in Phys.-Math. Sciences in Mathematical Modeling, Numerical Methods and Program Complexes (Bunin Yelets State University, 2009).