Научная статья на тему 'Вопросы эквивалентности схем параллельных программ'

Вопросы эквивалентности схем параллельных программ Текст научной статьи по специальности «Математика»

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

Текст научной работы на тему «Вопросы эквивалентности схем параллельных программ»

и О_100_200 ^ UDO_<100_^'- 'Ту.'.'М ,mt I

50 40 и 20 10 .■■'0 -10 '

L.KM

Рис. 1. Ошибки фильтрации до оптимального размещения локаторов с помощью генетических алгоритмов

Ti Inn 200 yjo -im J ч."'H.a.« \

f(j 40 30 20 LO ö ~10 '

L,km \

10 5 <тЛ*\М

100 ¿00 300 400 ^ 500* B)K« 600 f, с

Ü 30 M 10 О

Рис. 2. Ошибки фильтрации по результатам оптимального размещения локаторов с помощью генетических алгоритмов

Пусть цель летит на высоте 10 км по долготе со скоростью 100 м/с с дальности от первой РЛС 50 км, обе станции расположены вдоль трассы,

при этом другая РЛС на 25 км отстоит от первой по долготе ближе к цели.

Результаты совместной обработки (фильтрации Стратоновича-Калмана) [2] в виде ошибок оценки широты и долготы цели в метрах при размещении РЛС без использования генетических алгоритмов показаны на рисунке 1.

После привлечения генетических алгоритмов для поиска такого местоположения РЛС, при котором реализуется максимальная часть трассы с ошибками оценивания широты и долготы не хуже 10 м, получены результаты фильтрации, приведенные на рисунке 2.

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

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

Литература

1. Андрейчиков А.В., Андрейчикова О.Н. Интеллектуальные информационные системы. М.: Финансы и статистика, 2004. 424 с.

2. Ширман Я.Д., Манжос В.Н. Теория и техника обработки радиолокационной информации на фоне помех. М.: Радио и связь, 1981. 416 с.

УДК 519.767.2

ВОПРОСЫ ЭКВИВАЛЕНТНОСТИ СХЕМ ПАРАЛЛЕЛЬНЫХ ПРОГРАММ

Ю.П. Кораблин, д.т.н..; И.В. Кучугуров; М.Л. Косакян

(Российский государственный социальный университет, г. Москва, y.p.k@mail.ru, tus13@mail.ru, xbix@list.ru)

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

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

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

В [1] было показано, что множество вычислительных последовательностей (ВП) Р 6 5 Рст эк-вационально характеризуемо, если имеется ко-

нечное множество , таких, что

и для любого

Р = £ 6 N «и ° Рц + £кбК Рк л Рк + 8 (Р) , (* )

где N = { 1 ,2 ,. . . , п}, «к 6 АСТ , р ¡к 6 Т Е 5 ,

V 1 8 ( Р) с Т (А С Т' и { ШО Р } ) , где А С Т' =

и , что , и

VI Vк 3 г 6 N , что Рк = Рг.

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

префиксов в рекурсивных уравнениях приводит к необходимости сравнения не пар выражений (X ¡, X ¡) , как это имело место в [2], а пар множеств выражений, имеющих одинаковые префиксы. Пусть даны две системы рекурсивных уравнений вида

1 = 12.....п; х , = £,е„ «, ° х ,, + £ке „ х к Л х к +

+8 (х,) ,¡ = 1 ,2 ,. . .,т , которые исследуются на эквивалентность. В этих системах заданы рекурсивные уравнения для выражений и х 1,х 2,. . .,хт соответственно. Обозначим через X множество выражений , через х - {х 1(х2,. . .,хт} , через Т(X) и Т(х) - множества всех подмножеств и соответственно.

Элементы множеств Т (X) и Т (х будем обозначать У, и х соответственно. Для одноэлементных множеств , используем также обозначение . Очевидно, что в силу конечности множеств и множества и также конечны. Поскольку для анализа рекурсивных уравнений необходимо сравнение пар множеств выражений и , имеющих одинаковые префиксы, то потребуется дополнительно ввести операции над этими множествами. В частности, преобразуем выражения вида +а ° X к виду а ° {X ¡,Х}, где {X ¡,Х} 6 Т (X) .

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

, что, очевидно, не одно

и то же.

Определим операции над множествами выражений и аксиоматизируем свойства операций над этими множествами. Пусть У,, х, 1 6 N являются элементами множеств и соответствен-

но, и . Тогда аксиомы

Б 1 - Б 3 задают свойства операций л и + для множеств выражений

(81) а°У1 + а°Х> = а°{У1,Х>} ,

(82) Р л У1 + р л У2 = р л {У1 ,У2} ,

(83) {£ ,6 N а ° У + £ ,6 N Р , л у + 8 , £ ,6 N а, ° х, + + $ + «} = ^ о (X, X) +

+ £, 6 N рл {У,х} + 8 }.

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

{УЛУ,Ук}} = {{У,У|},Ук }

построим алгоритм сравнения двух систем рекурсивных уравнений следующим образом.

Пусть даны две системы рекурсивных уравнений для выражений X 1 .X 2 ,. . .,X11 и х 1,х 2,. . .,хт, описанных выше, сопоставленных схемам программ р г и рг соответственно, и пусть У1 = X-!,

х1 = х 1 и

Xl = £ ¡6 N а1 j °Xlj + £к6 N Р1 к ЛX1 к + 8 (х1) ,

х 1 = £ ,6 N«1 , ° х 1 , + £ к6 N х 1 к л х 1 к + 8 (х 1) .

Применяя аксиомы 81 и 82 в сочетании со свойствами ассоциативности и коммутативности операции , приводим уравнения для и к виду

Р 1к лУ1 к + 8 (X 1) ,

х 1 = £ ,6 N«1 , °х1 , + £к6 N х 1 к л х1 к + 8 (х 1) , где все попарно различны, а

У1 ,,У1 к 6 Т(X) и х1 , ,х1 к 6 Т(х) .

Возможны следующие ситуации:

а) 8 ^ ) = 8 (х1) и V, 6 N 3 к 6 N , такое, что

, и наоборот, а также , та-

кое, что , и наоборот. В этом случае

продолжаем процесс выписывания уравнений для всех пар и ;

б) и , такое, что а1 , = а-!к, и V к 6 N 3 р 6 N , такое, что р 1 к = х 1 р, в то же время 3 к 6 N (либо 3 р 6 N ), такое, что

(либо ). В этом

случае продолжаем процесс выписывания уравнений для всех пар и , имеющих одинаковые префиксы;

в) и одновременно, либо 3 , 6 N , такое, что V к 6 N а1 , £ с^ к, и наоборот, либо , такое, что

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

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

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

2. Построены две системы рекурсивных уравнений, в процессе построения которых имели место лишь ситуации а) и б). В этом случае множество вычислительных последовательностей, определяемых выражением У^ является подмножеством множества ВП, определяемых выражением , и следовательно, схема программы слабее, чем схема программы .

3. При построении систем рекурсивных уравнений имела место ситуация в) либо ситуация б) применялась как в прямом, так и в инверсном виде, то есть, если при первоначальном появлении ситуации б) имеет место гипотеза о том, что множество ВП, определяемых выражением , является подмножеством множества ВП, определяемых выражением , и появление ситуации б) в дальнейшем в инверсном виде означает, что . Этот случай свидетельствует о том, что схемы программ и несравнимы.

Продемонстрируем применение предложенного метода на следующем примере.

Пример 1. Пусть Р и х - семантические значения, задаваемые системами уравнений , где , и , где

Р1 = ТЛР2+ТЛР3+В1ЛР4 р2 = С1 о Р5 + С2 о Р6 + с3 Р3 = С1 О Р7 + С4 О Р8 Р4 = С5 Р5 = С4 ° Р4 + С6 Р6 = ТЛР9 + ТЛР10 + с4 Р7 = С4 о Р2 + с6

Р9 = Су Рю = С7

рх = Т^Р2 + + ТЛР4_+ В!ЛР5 = Р6 + С4 о Р7 Рз^= ° Рв_+ С2 ° Рд + С3 Р4 = С! °Р10 + С4 ° Ри

Р6 = С4 о Р3 + С6

р?=£1 Рд = С4 ° Р1 + с6 Р9 = ТЛР12 + С4 ^10 ° Рз + Рц = С! ^12 ~

Выясним, эквивалентны ли значения и .

У1 = Р1 = Т«{Р2,Р3} + В1«Р4 = = Т"У2 + В4ЛУ3

У2={Р2,Р3} = {С1оР5 + С2оР6

+ С3,

с± о р7 + С4 о р8} = {У4,У5}

у3 = р4 = с5 У4 = с± о р5 + С2 о р6 + С3 = = С1оУ4 + С2оУ7 + С3 = С± ° Р7 + С4 ° Р8 = = С4 ° У8 + С4 ° Уд У6 = Р5 = с4 о р± + С6 = = С4оУ1 + С6 У7 = Р6 = Т«{Р„Р10}+С4 = = Т"У10 + с4 = Р? = ° Р2 + С(, = = С4оУ4 + С6

у9 = р8 = с±

У10={Р,,Р10} = {С7,С7} = С7

У1 = Р1 = Т«{Р2,Р3,Р4}+В1«Р5 = = ТЛУ2 + В±ЛУ3 У2 = {Р2,Р3,Р4} =

= {С1оР6 + С4оР7,С1оР8 + С2оР, ° Рю + С4 о р1±} =

= {С± о р8 + С2 о р, + С3, С1°{Рб,Р1о} + С4°{Р7,Рц}} =

= т,?5} У3 = Р4 = с5 У4 = Сх о Р8 + с2 о Р9 + с3 = = С1оУ6 + С2оУ7 + С3 ?5 = с± О {Р6,Р„} + С4 " {Р7,Рц} = = С^ о Уд + С4 о Уд

= = ^4 ° + = ^4 ° +

У7 = Р, = ТЛР12 + С4 = ТЛУ10 + с4

У8 = {Рб,Р1о}={С4°Р3 + С6,С4оР3

+ С6 =

= С4"{Р3,Р3}+С6 = С4оР3 + С6 = = С4оУ4 + С6

У,={Р7,Рц} = {£!,€!} = €!

^10 — Р12 — С7

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

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

Разрешимость систем рекурсивных уравнений

Докажем, что множество ВП, характеризуемое системой уравнений , задано корректно, то есть решение системы рекурсивных уравнений (* ) существует.

Введем оператор

^ = ^1^2.....Рп> <£, 6 N 01 ,°Р1,+

+ £к6КР1кЛР1к + 8(Р1),

а11) ° Рщ + РпкЛРпк + 8 (Рп) >. Оператор

задает пошаговое применение одновременной подстановки аппроксимаций множеств ВП , получаемых на предыдущем шаге, в оператор вместо аргументов

Обозначим через пустое множество ВП либо кортеж из п пустых множеств ВП. Тогда имеем , то есть значению соответству-

ет кортеж < 0 , 0 ,. . ., 0 >:

V( 0 ) = <£, 6 N01 , ° 0 + £ к6 N Р 1 к л 0 + 8 (Р1),

Рпк л 0 + 8 (Рп) >, то есть каждому множеству ВП со-

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

V2 ( 0 ) =<£ , 6 N 01 ,°(ф( 0 ) 41) + Р1)=Р1

+£ к6 N Р1 к л (V ( 0 ) 4 т) + 8 (Р1 ) ,

Р1к=Рт

2 ¡ем ап)о(Ч»(0)|1) + Рщ=Р1

+£ к6М Рпк л (V ( 0 ) 4 т ) + 8(Рп) >,

Рпк-Рщ

где N = { 1 , 2 ,. . ., п} и 1, т 6 N ;

V '+1 ( 0 ) =<£ , 6 N 01 , ° (V1 ( 0 ) 4 1 ) + Р1)=Р1

+£ к6м Р1 к л (V (0 ) 4 т) + 8 (Р1), Р1к=Рщ

2 ¡ем ап)о(ч»'(0)|1) +

Рщ=Р1

+£ к6М Рпк л (V '( 0 ) 4 т) + 8(Рп) >.

Рпк-Рщ

Запись V 1 ( 0 ) 4 1 означает взятие 1-й проекции п, получаемой в результате 1 применений оператора к п < >.

Поскольку решение системы рекурсивных уравнений ассоциируется с , то очевидно, что последовательность

V 1 ( 0 ) 41, . . . ассоциируется с последовательностью аппроксимаций, сопоставляемых исходной программе в языке Ь.

Пример 2. Пусть дана система уравнений: Р1 = т л Р2 + т л р3 + о ит2д ° Р4, Р2 = I N1,2 ° Р5 + О иТ2,1 ° Р6 + У2Д,

Р3 = о и ^ , 2 ° Р5 + о и Т2, 1 ° Р7,

Р4 = Т'

Р. + ТЛР7

Р5 = ои Т21, Рб = I N1,2 , Р7 = ои Т12. Тогда V = Р1( Р2, +Оит21ор4, ...,оит12

Р7>. <Т л Р2 + Т л Р3

Зададим несколько первых аппроксимаций решения этой системы: Ч (0) = <Т л 0 + Т л 0 + Ои Т21 ° 0 ,1 N 12 ° 0 + +ОиТ2Д о 0 + у2Д, ОиТ12 о 0 + ОиТ2Д о 0, Тл0, О и Т2 , 1 ,1 N1 , 2, о иТ1 , 2>;

Ч 2 ( 0 ) = < Т л (I N , 2 ° 0 + О и Т2 , 1 ° 0+ +у2д) + тчоит^ о 0 + 0ит2д о 0) + +0ит2д о (тл0), '

2 о 0ит21 + 0ит21 о 2 + у21, оит! 2 о 0ит21 + 0ит21 о бит! 2, ТЛШ1;2 + тл6ит1;2,

оит21, >;

Ч 3( 0 ) = < Т л (I N1, 2 ° О и Т2 , 1 + +0ит2д ° Шу + у2Д) +

+Т л ( О и ^ , 2 °О и Т2 , 1+ +0ит21 о оит! 2) + +0ит2д о (ТЛШ12 + тлоит12),

2 о Ьит2д + 6ит2д о 2 + у2д, оит! 2 о 0ит2д + 0ит2д ° бит! 2,

ТЛШ1;2 + тлоит12,

оит

2,1

ш

>;

Ч 3( 0 ) = Ч4 ( 0 ) - фиксированная точка; Р = Р1 = Ч 3 ( 0 ) 41 = Т л (I N2 ° О и Т2 , 1+ + ОиТ2Д о Ш12 + у2Д) +

+Т л ( О и ^ , 2 °О и Т2 , 1+ +О иТ21 ° Ои Т12)+ +0ит2д о (ТЛШ12 + тлоит12) ЕN Сн (Р) = Т л У2Д + Т л 0 , где Н = { I N О и Тц | 1 = 1 ,2 , \ = 1 ,2 } .

Данное решение в точности совпадает с полученным ранее результатом.

Для доказательства корректности задания априорной семантики необходимо показать, что решение системы рекурсивных уравнений ( * ) существует, то есть оператор имеет наименьшую фиксированную точку < >, такую, что

Ч<Р1,?2.....Рп> = <Р1,?2.....Рп>.

Область для поиска решения систем рекурсивных уравнений вида (*) есть 5 = Т (С Р аШ') х . . . х Т (СР аЙ1') , то есть 8 является декартовым произведением областей , где -подмножество множества С Р аШ, содержащее конечные и бесконечные ВП вида

, либо , либо

= Ш1 ° Ш2 ° . ■ ■ ° Шп ° . ■ ■ , Ш 6 Р ЯЕ Р = {А, В, Т, I N , О и Т , у} и Ь 6 { Ш О Р ,0 }.

Для обозначим через пре-

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

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

Определение 1. Метрика d на множестве определяется следующим образом:

2-П, если ср [п -1] = ср [п -1]

Й (СР1,СР2 ) = ■ и СР1 ["]* СР2 [п],

0 в противном случае.

Определение 2. Последовательность <хп>п точек метрического пространства называется фундаментальной, если она удовлетворяет критерию Коши, то есть если Ve > 0 3 N : VI, \ > N с1 (х ¡, Xj) < е.

Определение 3. Последовательность <хп>п точек метрического пространства сходится к точке х, если V е > 0 3 N : V 1 > N а (х i ,х) < е.

Определение 4. Метрическое пространство называется полным, если в нем сходится любая фундаментальная последовательность.

Лемма 1. Метрическое пространство (С Р аШ', (1) , где (1 задается в определении 1, является полным.

Определение 5 (Хаусдорфова мера). Пусть - метрическое пространство.

а) Метрика между и определяется следующим образом: .

б) Метрика между определяется как (( (Х,У) = т ах (в ир х6Х(( (х,У) ,5и р У6у (( (Х,у) ).

Теорема 1. Если (М , (1 ) - полное метрическое пространство, то пространство также

является полным. Кроме того, любая фундаментальная последовательность < > в имеет предел: 1 1т 1Х1 = {х | х = И т1х1, х1 6 Х и <х 1 > -фундаментальная последовательность в М}.

Следствием этой теоремы является полнота метрического пространства (Т (С Р аШ ' ) ,(( ) , где ((

- Хаусдорфова мера.

Определим метрику на искомой области .

Определение 6. Пусть в1,52 6 5. Тогда где - проекции

в1, в 2 на 1-й компонент множества 5.

Лемма 2. Пространство является полным метрическим пространством, то есть каждая фундаментальная последовательность < в к>к в 5 сходится, и < > где

- в2 , . . . , в£ — вп и VII : в1 6 Т (С Р аШ').

Доказательство. Выберем е > 0. Определим

такое , что для всех .

Поскольку < > - фундаментальная последовательность, то 3 N , такое, что VI, (1 ( в в j ) < е . Докажем, что для выбранного таким образом утверждение справедливо для

всех

Последовательности < > для яв-

ляются фундаментальными, в противном случае в силу определения меры последовательность

(sk )к также не являлась бы фундаментальной последовательностью, что противоречит условию. Для каждой фундаментальной последовательности (sk) , 1 < 1 < п, существует предел 1 im sk = к к

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

тельно, 3 N ь такое, что V i > N 1 d ( 1 i mk sk, s ^ < £ .

Далее возьмем N = m ax^N 1 }. Отсюда, принимая во внимание определение , следует, что Vi > N d(1i mk sk, si) = m ax^d (1i mk sk, s 1) } < £, что и требовалось доказать.

Лемма 3. Отображение ¥ метрического пространства в себя является сжимающим отображением.

Доказательство. Пусть x ' =( Р-^Р^,. . . ,Р„) и x ' '=(Р' , Р' ,. . .,Рп) - аппроксимации множеств ВП, получаемые в результате применения оператора ¥ к кортежу пустых множеств 0 = (0, 0 , ) некоторое количество раз. Определим и для некоторых и

Требуется показать, что

= d(4» (4m (0) ) ,Ч (Чр (0) ) )<

< k-d (4m ( 0 ) , Чр ( 0 ) ) .

Если m = р, то это неравенство справедливо, так как в этом случае и, следовательно,

d (x ', x") = 0.

Если m^p, то возьмем для определенности . Применение оператора к не уменьшает длину каждой ВП , где , так как к каждой незавершенной последовательности, принадлежащей (x 4 1) , 1 < 1 < п, будет приписан либо элемент , либо элемент , либо элемент из .

Приписывание в конец последовательности элемента означает завершение соответст-

вующей последовательности зацикливанием. В силу аксиомы А8 (L О О Р ° X = L О О Р) приписывание новых элементов в конец такой последовательности не изменяет последовательность. Таким образом, для любой последовательности

найдется последовательность 6 x ' ' 41, такая, что с р 1 , с с р 1j . Значение функции меры между этими последовательностями либо равно нулю, если они совпадают, либо равно , если они не совпадают, где - длина ВП . Тогда из определения меры между двумя множествами последовательностей и

x ' '41, 1 < 1 < п, следует d (x ' 4 1, x ' ' 41)= 2 " 41 " 1, где то

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

есть - это длина минимальной последовательности из множества , такой, что для соответствующей ей последовательности имеет место отношение причем

с Р 1 i * с р Ц.

В соответствии с определением значение функции меры между и определяется как где .

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

сан хотя бы один новый элемент из области Р ЯЕ Р и { Ш ОР}.

Отсюда, в силу свойства оператора , увеличивающего длину каждой незавершенной последовательности, следует, что

< к - d (х ,х ' ) для некоторого 0 < к < 1 , а следовательно, является сжимающим отображением метрического пространства

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

Теорема 2 (теорема Банаха). Пусть

(М ,(!) -

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

сжимающее отображение, то есть

Тогда существует такое, что

справедливо

1) Ч (х) = х (х - фиксированная точка Ч);

2) V)' 6 М [Ч (у) = у = у = х] (х - единственная фиксированная точка).

Из этой теоремы с учетом вышеизложенного непосредственно следует искомый результат.

Теорема 3. Оператор где

= Т (СР аШ') х . . . х Т (С Р аШ') имеет минимальную фиксированную точку.

Таким образом, определенная выше семантика языка распределенного программирования является корректной.

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

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

= С ЦшЬ 11 е В (( о С 1 о ( .

Оно может быть записано в базисном языке распределенного программирования следующим образом:

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

С I * [Ь - С1]; * [Ь - С2]] р = С I * [Ь - С1]] Р .

Обозначим через ,

а через ;

Р 1 = (В л С О + ° (В л С2 ) + , Р 2 = (в л С 1) +.

Представим теперь и системами рекурсивных уравнений в соответствии с заданным вы-

ше алгоритмом сравнения схем программ. Пусть Р 11 = Р 1 и Р 2 1 = Р 2. Тогда имеем

- Т° (ВЛС2)+ + Р2± = Т + (ВЛС1) о (ВЛС1)+ =

+(ВЛС!) о (ВЛС!)+ о (ВЛС2)+ = = т + ВЛ{С! о (ВЛС1)+) =

= т + (ВЛС2) о (ВЛС2)+ + = т + ВлР22.

+ (ВЛС!) о (ВЛС!)+ о (ВЛС2)+ = = Т + ВЛ{С2 о (ВЛС2)+,

С, о (В-С.У о (ВлС2)+| = = т + ВЛР12.

Нетрудно заметить, что множество Р 12 содержит ВП, начинающиеся с С 2, тогда как множество не содержит ВП, начинающихся с , откуда следует, что Р 1 2 ^ Р 2 2. На первый взгляд, данный результат противоречит тому, что было получено в [3]. Однако суть проблемы заключается в том, что при получении этого результата в [3] предполагалось отсутствие побочного эффекта при вычислении выражений. Из этого предположения непосредственно следовало, что повторное вычисление одного и того же выражения всегда дает один и тот же результат. В данном случае повторное вычисление одного и того же выражения может привести к получению различных результатов. Проиллюстрируем этот факт следующим примером. Пусть дана программа, допускающая побочный эффект, то есть изменение значений переменных при вычислении выражений: х := 1 ; * [х := 2 ■ х = 4 -» сА]; [х := 2 ■ х = 4 -» с2].

При первоначальном вычислении выражения будет получено ложное значение, а следовательно, будут осуществлены выход из цикла * [х = 2 ■ х = 4 — с1 ] и переход к вычислению следующей команды. При этом значение переменной х перед выполнением будет равно 2. Повторное вычисление выражения даст истинное значение.

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

Вначале расширим множество тестов , добавив в него отрицание и сложные тесты, = -|В| Р!*Р2.

Запись «...» означает все введенные ранее тесты. Новое множество тестов характеризуется следующим блоком аксиом:

(01) В 1 * В 2 = В 2 * в 1,

(02) В * В = ¥,

(03) Р* Р = ¥,

(04) 0 * Р = 0 ,

(05) Т * Р = Р,

(06) В * В = В,

(07) Р 1*( Р 2 * Р 3 ) = ( Р 1*Р 2)*Р 3 ,

(08) Р1Л ( Р 2Л С) = ( Р1 * Р 2)л С.

Отметим, что данная система аксиом позволяет эффективно работать лишь с семантическими зна-

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

Далее модифицируем значение Д. С учетом нового определения тестов значение для выражения вида определяется как Д = р Лт, где р = В! * В2 * .. .*ВП. Аналогичным образом определяется значение Д s в том случае, когда не все защиты являются значениями булевских выражений. В этом случае в р входят лишь отрицания значений, сопоставляемых булевским выражениям.

Расширение множества тестов ведет к необходимости модифицировать ранее определенные понятия префикса и суффикса.

Определение 7. Частичные функции р г е fix : S Рст — Р RE F и s u f fix : S Рст — S Рст определяются таблицей:

sp„ prefix(sp„) suffix(sp„)

а о х а X

т°Х prefix (X) suffix (X)

Pi ЛХ 1, Pi Xx

где X i * р2 лх2

и X i * t о X и Xi * XJ

Р1Л(Р2ЛХ!) prefix((p1 * Р2)ЛХ) suffixtXPi * р2)лХ)

РА(т°Х) prefix(PAX) suffix(PAX)

Отметим, что, когда s р ст = р ^ X 1 и X 1 = X + , необходимо предварительно воспользоваться свойством минимальной фиксированной точки до появления одной из конструкций, для которой в вышеприведенной таблице определены префикс и суффикс.

Докажем ранее приведенное утверждение С I* [Ь - cj ; * [b - с2] ] р = СI* [Ь - сх ] ] р. Покажем, что (В Л С 1 ) + о (В л С 2) + = ( В л С i) + . Обозначая левую часть этого утверждения через Р 1 , а правую через Р 2 , построим системы уравнений, используя новый формализм:

= pi =

= (BnCi) о (BnC!)+ о (ВлС2)+ + + (ВАх) о (ВЛС2)+ = = (BnCi) о (BnC!)+ о (ВЛС2)+ + + (ВАх) о (ВЛС2) о (ВЛС2)+ + + (ВАх) ° (ВАх) = = ВЛР12 + в о (ВЛС2) о (ВЛС2)+ + +ВАх =

= В л Р 1 2 + (В * В ) лС2 о (В л С2 ) + + +ВАх =

= ВЛР12 + FaC2 о (ВаС2)+ + ВАР13 = = ВАР12 + 0+ВАР13 = = ВДР12 +ВАР13 Р12 = С1"Р11 Р13 = т

Р21 = Р2 =

= (BACi) о (BaC!)+ + Вах = = BACi о (BaC!)+ + ВАх = = ВАР22 +ВАР23

Р22 = С1оР21 Р23 =х

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

Программная реализация

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

Таким образом, предложенный в работе метод сравнения семантических значений схем программ, представленных системами рекурсивных уравнений, позволяет исследовать схемы программ на эквивалентность (неэквивалентность), а также вложенность схем программ.

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

Литература

1. Кораблин Ю.П. Семантика языков распределенного программирования. М.: Изд-во МЭИ, 1996. 102 с.

2. Korablin Yu.P. Deciding equivalence of functional schemes for parallel programs // Mathematical Centre, Department of Computer Science, Reseach Report IW 200/82, Amsterdam, 1982.

3. Кораблин Ю.П. Семантика языков программирования. М.: Изд-во МЭИ, 1992. 102 с.

УДК 004.032.26

НЕЙРО-НЕЧЕТКИЙ МЕТОД СНИЖЕНИЯ ЧУВСТВИТЕЛЬНОСТИ РЕШЕНИЯ ОБРАТНЫХ ЗАДАЧ К ВАРИАЦИЯМ ДАННЫХ

И.В. Абраменкова , д.т.н.; А.Ю. Пучков, к.т.н.; Д.А. Павлов

(Филиал Московского энергетического института в г. Смоленске, putchkov63@mail.ru)

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

Ключевые слова: обратные задачи, фильтр Калмана, нейронные сети, нечеткая логика.

Исследователей в различных областях науки и техники давно интересует решение некорректных задач, к которым относятся и так называемые обратные задачи, когда значения параметров модели должны быть получены из наблюдаемых данных. Из трех условий корректно поставленной задачи -существование решения, его единственность, а также устойчивость по отношению к малым вариациям данных задачи - в обратных задачах наиболее часто нарушается последнее [1]. Так как в отличие от прямых задач обратные могут не соответствовать реальным событиям (нельзя обратить ход процесса, а тем более изменить течение времени), постановки обратной задачи часто являются физически некорректными. При математической формализации физическая некорректность проявляется уже в неустойчивости решения. Таким образом, обратные задачи представляют собой типичный пример некорректно поставленных задач.

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

объекта или характеристиках определяемых величин. Данный подход к решению задачи не использует всех возможностей, предоставляемых современным уровнем точности наблюдений и развитием вычислительной техники. Эти возможности могут найти применение при изучении новых постановок обратных задач и создании устойчивых алгоритмов их решения. К таким алгоритмам можно отнести решения, базирующиеся на методах искусственного интеллекта, в частности, на аппарате искусственных нейронных сетей, широко применяемых в различных прикладных областях [2].

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

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

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