УДК 519.714
ИДЕНТИФИКАЦИЯ СИСТЕМЫ ЛОГИЧЕСКОГО ВЫВОДА МЕТОДОМ СЕТЕВОГО ОПЕРАТОРА*
1 2 А.И. Дивеев , Е.А. Софронова
'Вычислительный центр им. А.А. Дородницына РАН ул. Вавилова, 40, Москва, Россия, 119333
2Кафедра кибернетики и мехатроники Российский университет дружбы народов ул. Орджоникидзе, 3, Москва, Россия, 117923
Рассмотрена задача синтеза логического управления, в которой по заданной таблице истинности необходимо построить логическую функцию. Показано решение задачи на основе метода сетевого оператора. Приведены численные примеры для решения задач с двухзначной и трехзначной логиками.
Ключевые слова: синтез управления, сетевой оператор, логическое управление.
В современных системах управления используют логический вывод, обеспечивающий на основе признаков или свойств объекта, среды и т.п. выбор стратегии или метода управления. Например, при управлении летательным аппаратом всегда, несмотря на высокий уровень интеллектуализации системы управления, а скорее всего благодаря этому возникает стратегический вопрос выбора между автоматическим или ручным управлением. Для летательных аппаратов существенным является также выбор в экстренных случаях решения между заходом на посадку или перелетом на другой аэродром, между вынужденной посадкой или продолжением полета, между доверием установки диспетчера и собственным принятием решения и т.д.
Стратегии или методы управления формально описываем целыми числами, которые рассматриваем как значения дополнительной компоненты управления. Например, пусть заданы две системы управления u = И1 (х) и и = И2 (х). В зависимости от дополнительных условий, которые зависят от компонент вектора состояния х , выбираем одну из систем управления. Управления с учетом выбора из двух систем имеет вид
и = (' -ит+1) (х) + ит+1и2 (1)
где um+1 — дополнительная компонента управления, ит+х е{0,1}.
При выборе системы из множества, содержащего более двух вариантов и = Иг (х), i = {1,..., К}, управление имеет вид
и = £ (1 -е(к,1 +1 --Ю (х), (2)
/=1
где ит+1 е {0,..., К -1}, 0(А) — функция Хевисайда, 0(А) =
0, если А < 0, иначе.
* Работа выполнялась по грантам РФФИ 08-08-00248-а и 10-08-00618-а.
В соотношении (2) выбор одной системы управления и = Иг (х) определяет выполнение условия ит+1 = - -1, 1 < - < К.
Значение дополнительной компоненты управления ит+1 е{0,..., К -1} определяем по функцией дополнительных признаков состояния объекта
ит+1 =^У ) (3)
где у( у) — целочисленная функция выбора, у — целочисленный вектор признаков определения выбора у = [у1 .. ■Уь ], у- е X- ={0,1,..., п}, - = I ь,
V(у): ^х...хХь ^{1,..., К}. (4)
В большинстве случаев функция выбора ф(у) не задана в аналитическом
виде, а определена в виде множеств значений векторов признаков и значений функции выбора
^у): (yl,..., уМ Ж— иМ+1), (5)
где <+1 =У(у1 ), ] = М .
Соотношение (5) задает любая экспертная система, которая содержит запись вывода значения функции выбора и]т+1 = V (у1) по значениям векторов призна-
1 < 1 < М.
Синтез функции выбора и^т+1 = ^у1), 1 < 1 < М, совместно с синтезирующими функциями и = И- (х), - = 1,Ь, в общем виде затруднен, так как функционалы
и начальные условия в задачах синтеза для каждой синтезирующей функции могут быть различны.
Рассмотрим идентификацию функции выбора и^т+1 ^(у1), 1 < 1 < М, с помощью метода сетевого оператора [1—8].
Задана таблица истинности для значений признаков и функции выбора. Таблицу формально можно записать в виде множества строк, которые содержат значения признаков и соответствующее им значение функции выбора
т={(у1, ит+1), (у2, ит+1),., (ум, иМ+1)}, (б)
Необходимо найти аналитический вид функции выбора
ит+1 =V(У), (7)
обеспечивающей минимум функционала
М
У{ Уь
л = £ 0Ыуг' )-
,, ч , т+1
I=1
Для решения задачи используем метод сетевого оператора, который обеспечивает генерацию различных функций выбора и поиск решения среди сгенерированных функций с помощью генетического алгоритма
В соответствии с методом [1—7] построим конструктивные множества, из элементов которых будут создаваться виды функции выбора.
Множество переменных
V = ((,..., Уь). (9)
Множество унарных операций
°1 = ((2) = 2, Ф2(2X ..., Фг (2)) , (10)
где 2,Ф] (2)е {0,1,..., К _1}, } = 1,W.
Множество бинарных операций
O2 = ( (г (, 2'),..., оу_1 (г, г")), (11)
где 2', 2', юг (2, 2")е {0,1,..., к _ 1}, I = 0,У _ 1.
В отличие от описания метода сетевого оператора здесь изменены символьные обозначения унарных и бинарных операций: для унарных операций вместо обозначения р(2) используем р(2), а вместо %(', 2") — ю(2/, 2"). Изменения
введены для удобства описания. Требования к унарным и бинарным операциям остаются те же: наличие среди унарных операций тождественной, все бинарные операции должны обладать свойствами коммутативности, ассоциативности и иметь единичный элемент.
Рассмотрим примеры идентификации логических функций выбора.
Пусть заданы значения функции и аргументов, которые приведены в табл. 1.
Таблица 1 Значения функции и аргументов
№ У1 У2 Уз У 4 ит+1
1 0 0 0 0 0
2 0 0 0 1 1
3 0 0 1 0 0
4 0 0 1 1 1
5 0 1 0 0 0
6 0 1 0 1 1
7 0 1 1 0 1
8 0 1 1 1 0
9 1 0 0 0 1
10 1 0 0 1 0
11 1 0 1 0 0
12 1 0 1 1 1
13 1 1 0 0 1
14 1 1 0 1 1
15 1 1 1 0 0
16 1 1 1 1 0
Используем следующие конструктивные множества:
У = ( У2, Уз, У4),
01 = (фі (2) = 2 Ф2 (2) = 1 - 2)
О / / / //\ / // / / //\ / / / //\ / //\
2 = (0 (2 ,2 ) = 2 V 2 , ю1 (2 ,2 ) = 2 А 2, Ю2 (2 ,2 ) = 2 © 2 ).
Задаем базисное решение
V0 ( У2,У4 )= Уі V(Уі А У2 А У2 А Уз А У2 А Уз А У4 ).
График значений базисной функции в зависимости и заданные значения в зависимости от номера строки табл. 1 приведены на рис. 1.
АУиУг.Уз.У*)
1
0 5 10
Рис. 1. Значения базисной функции
15 /
Из рисунка 1 видно, что значения базисной функции не всегда совпадают со значениями, заданными в табл. 1, У1 (0 (у)) = 8
При идентификации логической функции методом сетевого оператора используем матрицу сетевого оператора размерностью 16x16.
Базисная матрица сетевого оператора имеет вид
^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 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 1 1 0 1 1 0 0 1 0 0 0 0 0 0 0 1 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 0 0 0 0
1 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 1 0 1 1 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 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 1 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 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 1 0 0 0 1 0 0 0
Единичными элементами для бинарных операций ю0 (г',2") и ю2 (2',2") является 0, а для операции ю1 (2',2 ) — 1.
Для поиска решения использовали генетический алгоритм, построенный на основе принципа базисного решения [3; 4]. Алгоритм имел следующие параметры: число хромосом в начальной популяции — 256, число вариаций в одной хромосоме — 8, число поколений 1024, число скрещиваемых пар в одном поколении — 128, эпоха или число поколений между сменой базисного решения — 16,
число элитарных хромосом - — 32, вероятность мутации — 0,7.
В результате было получено следующее решение:
"0 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0
0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 0 2 0 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 0 0 0 1 1 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 0 0 0 1 0 1 0 0 0 0 1 0 0
Ш — 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0
х — 0 0 0 0 0 0 0 0 2 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 1 1 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 0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 2 1 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 2 1 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 0 0 0 0 0 0
Полученная матрица сетевого оператора соответствует следующей логической функции выбора:
V (у) = (У2 Л Уз )® У4 ® (1 ® У3 ©( V У2 )©( Л Уз )©( Л У2 Л У4 ))•
График значений полученной логической функции и заданные табличные значения в зависимости от строк табл. і приведены на рис. 2.
^(УьУ2,Уз,У4)
О 5 10 15 /
Рис. 2. Значения полученной логической функции
По результатам эксперимента видно, что все значения таблицы истинности совпадают со значениями идентифицированной логической функции
л 2 (у ))=°.
Рассмотрим пример идентификации функции с трехзначной логикой. Пусть заданы множества значений аргументов и функции, приведенные в табл. 2.
Таблица 2
Значения функции и аргументов
№ У1 У2 Уз um+1 № У1 У 2 Уз um+1
1 0 0 0 0 15 1 1 2 2
2 0 0 1 1 16 1 2 0 0
3 0 0 2 2 17 1 2 1 1
4 0 1 0 0 18 1 2 2 2
5 0 1 1 1 19 2 0 0 0
6 0 1 2 2 20 2 0 1 1
7 0 2 0 0 21 2 0 2 2
8 0 2 1 1 22 2 1 0 0
9 0 2 2 2 23 2 1 1 1
10 1 0 0 0 24 2 1 2 0
11 1 0 1 1 25 2 2 0 0
12 1 0 2 0 26 2 2 1 1
13 1 1 0 0 27 2 2 2 2
14 1 1 1 1
Используем следующие конструктивные множества:
V = (( y 2 , Уз )
O1 = ((z) = z,ф2 (z) = (z + 2)mod 3),
°2 = (о (, (), « (z', z'), «2 (z', z"), Ю3 (, z')), где «0 (z , z") = max {z', z//}, ю1 (z', z//) = minjz', z'}, «2 (z', z'') = (z' + z')mod 3,
/ , ,4 f2, есЛи z' = z',
«3 z , z ) = 0
nz + z Jmod 2 — иначе.
Единичными элементами для бинарных операций «0 , z"), «2 ^', z"),
«3 ^', z") является 0, а для операции «1 {z', z") — 2.
Задаем базисное решение
v0 (z,У2,Уз) = max{max{y1,min{У1,У2},min{У1,У2,Уз}}, min{y1,min{У1,У2} ,min{У1,У2,Уз}}} .
Матрица сетевого оператора для базисного решения имеет вид
^0 _
0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 1 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
0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0
0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0
0 0 0 0 0 1 1 1 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 0 0 0 0 1 1 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 0 0 0 0 0 0 1 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 0 0 0 0 0 0 1 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 0 0 0 0 0 0 1 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 0 0 0 0 0 0
График значений базисной функции в зависимости и заданные значения в зависимости от номера строки табл. 3 приведены на рис. 3.
У°(УьУ2,Уз)
2
0 5 10 15 20 25 /
Рис. 3. Значения базисной функции
Из рисунка 3 видно, что значения базисной функции не совпадают со значениями, заданными в табл. 2, Зх (0 (у)) = 19 .
Для поиска решения использовали генетический алгоритм, построенный на основе принципа базисного решения [3; 4]. Алгоритм имел следующие параметры: число хромосом в начальной популяции — 256, число вариаций в одной хромосоме — 8, число поколений — 512, число скрещиваемых пар в одном поколении — 128, эпоха или число поколений между сменой базисного решения — 10, число элитарных хромосом — 32, вероятность мутации — 0,7.
¥ =
В результате было получено следующее решение:
'0 00111000000000 0 0000210000000000 0000210000010000 0001001100000000 0000101100000000 0000011100000000 0000001210000000 00000001 10000000 0000000001000000 0000000000100000 0000000000010000 0000000000021000 0000000000000100 0000000000000010 0000000000000001 0000000000000000
Полученная матрица сетевого оператора соответствует следующей логической функции выбора:
V ( ^ у ) = а>2 ( {min {ф2 (ш {{2 , { Ф2 ( ), Ф2 ( )}),
Уl,У2,Уз,Ф2 (У2),Ф2 (У3)},min{У1,У2,Уз,Ф2 (у2),Ф2 (У3)}}).
График значений полученной логической функции и заданные табличные значения в зависимости от строк табл. 2 приведены на рис. 4.
О 5 10 15 20 25 /'
Рис. 4. Значения полученной функции трехзначной логики
По результатам эксперимента видно, что все значения таблицы истинности совпадают со значениями идентифицированной логической функции 31 ((у)) = 0 .
При выполнении численных экспериментов использовалась программный комплекс для идентификации систем управления методом сетевого оператора [8].
ЛИТЕРАТУРА
[1] Дивеев А.И., Софронова Е.А. Генетический алгоритм для многокритериального структурно-параметрического синтеза // Вестник Российского университета дружбы народов. Серия «Инженерные исследования». — 2007. — № 4. — С. 126—131.
[2] Дивеев А.И., Софронова Е.А. Метод сетевого оператора для идентификации систем управления // Вестник Российского университета дружбы народов. Серия «Инженерные исследования». — 2008. — № 4. — С. 78—85.
[3] Дивеев А.И., Софронова Е.А. Метод генетического программирования для автоматического подбора формул в задаче структурного синтеза системы управления // Труды института Системного анализа РАН. Динамика неоднородных систем / Под ред. Ю.С. Попкова. — М.: ИСА РАН: КомКнига, 2006. — Вып. 10(1). — С. 14—26.
[4] Дивеев А.И., Софронова Е.А. Метод построения функциональных зависимостей для решения задачи синтеза оптимального управления // Труды института Системного анализа РАН. Динамика неоднородных систем / Под ред. Ю.С. Попкова. — М.: ИСА РАН: Ком-Книга, 2007. — Вып. 31(2). — С. 14—27.
[5] Дивеев А.И., Крылова М.В., Софронова Е.А. Метод генетического программирования для многокритериального структурно-параметрического синтеза систем автоматического управления // Вопросы теории безопасности и устойчивости систем: Сб. статей. — М.: ВЦ РАН, 2008. — Вып. 10. — С. 93—100.
[6] Дивеев А.И., Софронова Е.А. Метод генетического программирования для идентификации систем управления // Труды VIII международной конференции Идентификация систем и задач управления SICPR0’09 Москва 26—30 января 2009 г. — С. 529—545.
[7] Diveyev A.I., Sofronova E.A. Application of network operator method for synthesis of optimal structure and parameters of automatic control system // Proceedings of 17-th IFAC World Congress, Seoul, 2008, 05.07.2008—12.07.2008. — P. 6106—6113.
[8] Дивеев А.И., Софронова Е.А. (авторы и правообладатели). Идентификация систем управления методом сетевого оператора. Программа для ЭВМ. № 2009615302 // Официальный бюллетень Федеральной службы по интеллектуальной собственности, патентам и товарным знакам. Программы для ЭВМ, базы данных, топологии интегральных микросхем. М. ФГУ ФИПС. 2009, № 4 (69) (II ч.). С. 414.
IDENTIFICATION OF LOGICAL REASONING SYSTEM BY NETWORK OPERATOR METHOD
1 2 A.I. Diveev , E.A. Sofronova
'Dorodnicyn Computer Center of Russian Academy of Sciences Vavilov str., 40, Moscow, Russia, 119333
2
Cybernetics and mechatronics departament Peoples’ Friendship University of Russia
Miklukho-Maklaya str., 6, Moscow, Russia, 117198
The problem of logical control synthesis is considered. It is necessary to construct a logical function on the basis of truth table. The method of network operator was used to solve the problem. Numerical examples for binary and three-value logic are given.
Key words: synthesis of control, network operator, logical control.