Нейро-нечеткий метод снижения чувствительности решения обратных задач к вариациям данных

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

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

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

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

Разработанная программа сравнения систем рекурсивных уравнений дает возможность существенно упростить и автоматизировать процесс анализа семантических значений распределенных программ. Теория, изложенная авторами в [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

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

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

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

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

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

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

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

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

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

а именно нечеткого фильтра Калмана. Проиллюстрировать подход можно следующей аналогией. Человеческий мозг как биологическая нейронная сеть ежеминутно решает некорректные и обратные задачи, то есть, несмотря на неединственность и неустойчивость решения, восстанавливает по нескольким точкам наблюдаемый объект и все, что его окружает. Делает он это эффективно и быстро, так как использует богатый опыт (априорную информацию). Последовательное применение методов статистики с учетом априорной информации, реально доступной исследователю, позволяет получать устойчивые и эффективные решения обратных задач [3]. Фильтр Калмана как раз позволяет использовать часть априорной информации и, в свою очередь, снизить неопределенность данных для решения обратной задачи нейронной сетью.

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

Структура предлагаемого к решению обратных задач подхода показана на рисунке 1. Ответ гибридной нейронной сети GNN, обозначенный S(t), выступает в качестве решения обратной задачи -нахождения V(t) по x(t). Однако в данном случае на вход сети поступает не зашумленный сигнал u(t)=Cx(t)+N(t), где С - матрица измерений, а оценка Х(1) вектора выхода объекта X(t). Применение фильтра Калмана, обозначенного на рисунке FK, позволяет снизить дисперсию входных данных нейронной сети, а следовательно, обеспечить ее ра-

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

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

В рассматриваемом подходе решение прямой задачи представлено вектором состояния X(t)= =^(1), x2(t), ..., xn(t)). Предполагается, что переменные состояния х$) можно описать системой дифференциальных уравнений:

ах^) /М=аиХ1ф+апХ2ф+.. .+а1пХпф, аХ2а)М=а21Х1ф+а22Х2а)+.. .+а2пХпф,

ахпф/М=ап1Х1ф+а„2Х2ф+.. .+ап п Хпф, где а^ - коэффициенты, в общем случае зависящие от времени; ах^^ - скорости изменения переменных состояния, 1=1, ..., п.

В векторно-матричной форме

где матрица А имеет вид

а1 1а1 2 ............а1 п

а а а

А

_ап 1 ап 2 ............annj

Для определения a^ используется процедура нечеткого вывода, в основе которой лежит база знаний, содержащая продукционные правила вида П11: ЕСЛИ rt ЕСТЬ D11 И r2 ЕСТЬ D21 И ... rn ЕСТЬ Dn1, ТО a11 ЕСТЬ A11,

П12: ЕСЛИ r1 ЕСТЬ D12 И r2 ЕСТЬ D21 И ... rn ЕСТЬ Dn1, ТО a11 ЕСТЬ A12,

П1т: ЕСЛИ rt ЕСТЬ D1m И r2 ЕСТЬ D21 И ... rn ЕСТЬ Dn1, ТО a11 ЕСТЬ Alm ,

П1т+1: ЕСЛИ r1 ЕСТЬ D11 И r2 ЕСТЬ D22 И ... rn ЕСТЬ Dn1, ТО a11 ЕСТЬ A1m+1,

где Dij - обозначение j-го (j=1, ..., m) терм-множества значений i-й (i=1, ..., n) нечеткой переменной ri, отражающей i-й фактор, от совокупности которых формируются значения aij; n - количество факторов r; m - количество термов нечеткой переменной ri , i=1, ..., n.

Здесь предполагается, что каждый фактор r имеет одинаковое количество терм-множеств G , = = { G, 1 G i2 G, з . . .G 1п1 }. Это не является обязательным требованием.

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

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

Описание дискретного формирующего фильтра сходно с описанием непрерывного, но вид матрицы системы А в этом случае зависел бы от величины А^ что усложнило бы базу правил ввиду необходимости учитывать в них еще и А! Поэтому для получения описания формирующего фильтра в дискретном времени и применения соответствующего алгоритма фильтра Калмана проще провести переход от непрерывного времени к дискретному с помощью предельного перехода —=-—-- где x(k)=x(kАt). При

выборе Аt учитывают, что оно не должно быть больше времени корреляции исследуемого процесса.

Дальнейший расчет дискретного фильтра Кал-мана осуществляется по следующей методике [4].

1. В начале такта вычисления (к + 1 ) происходит расчет оценки: X (к + 1 | к) = Ф (к + 1 | к) X (к) , где Ф - матрица перехода, подобная матрице А в описании (2).

2. Вычисляется априорная матрица ошибок: Р (к + 1 | к) = Ф ( к + 1 | к)Р (к) Ф (к + 1 | к) т +

+Г ( к + 1 | к) (Нк)Г (к+ 1 | к) т, где Г(к+1 | к) -матрица входа, отражающая влияние процесса V(k), имеющего следующие характеристики:

М[У(к)] = 0,М[Уф,У(к)т] = а(к)80,к), где Q(k) - матрица интенсивностей процесса V(k); М[»] - символ математического ожидания; 8 0 , к) -дельта-функция.

3. Вычисляется оптимальная матрица усиления фильтра Калмана: Р

С (к + 1 ) т [С (к + 1 ) Р (к + 1 | к) С + Я (к + 1 ) ] - 1 где Я (к + 1 ) - матрица интенсивностей шума измерений ЭДК); С (к + 1 ) - матрица измерений.

4. На следующем такте понадобится значение апостериорной матрицы ошибок оценивания Р (к + 1 ) . Поэтому после вычисления К (к + 1 ) находят Р

Р ( к + 1 | к) , где I - единичная матрица.

5. В конце такта (к + 1 ) корректируется априорная оценка с учетом текущих измерений:

Х

(и(к + 1)-Н(к+1)Х(к + 1|к)) =

= Х(к + 1|к) + К(к + 1)(г(к + 1) -- Н (к + 1 )Х (к + 1 | к) ) .

6. В следующем такте (к + 2 ) процедура повторяется на основе найденных для такта значений , Р .

Для реализации данной процедуры задаются начальные условия (априорные значения): Х(0) = М[Х(0)]; Р(0) = М[Х(0),Хт(0)].

Очередным этапом предлагаемого подхода является выбор типа нейронной сети, которая будет обучаться на выборке {xw, Vw}, где w - количество обучающих наборов. С учетом специфики задачи предложено использовать нейронные сети Элма-на, которые относятся к классу рекуррентных нейронных сетей [5]. Важной особенностью архитектуры рекуррентных сетей является наличие блоков динамической задержки и обратных связей, что позволяет таким сетям обрабатывать динамические модели. Сети Элмана состоят их двух слоев - выходного и входного, при этом входной слой охвачен динамической обратной связью с использованием линии задержки. Такая связь позволяет учесть предысторию наблюдаемых процессов и накопить информацию для выработки правильной стратегии управления.

Для иллюстрации рассматриваемого подхода была использована среда MatLAB, обладающая широким спектром функций для создания и применения нейронных сетей разных типов, а именно пакет Neural Network. Численный эксперимент проводился с использованием встроенного типа обобщенной регрессионной сети Elman backprop.

Алгоритм эксперимента состоит в следующем.

1. Подготовка выборок для обучения сети. Для этого в соответствии с (1) рассчитываются векторы состояний при заданной матрице эволюции системы и подаче на вход гармонического сигнала. Матрица эволюции взята размером 2x2, поэтому векторы состояний имеют по две компоненты - х1 и х2. В результате реализации этого этапа сформируются выборки для обучения нейронной сети, на вход которой будут подаваться векторы состояний, а на выходе получаться значения входного сигнала. Данная процедура отражает процесс решения обратной задачи нахождения причин, которые перевели систему в данное состояние. Будут сформированы две обучающие выборки: train1.dat - для нейронной сети, имеющей один вход (х1) и один выход; train2.dat - для нейронной сети, имеющей два входа (х1 и х2) и один выход.

2. Создание и обучение нейронных сетей nn1 и nn2. Имитируя возможность измерения только одной компоненты вектора состояния, обучение nn1 будет проводиться только по одной компоненте х1 на основе данных train1.dat, а сети nn2 - по двум компонентам - х1 и х2 - на основе данных train2.dat.

3. Наложение шума измерений N(k) и входного случайного процесса V(k) на значения выборки train1.dat и получение тестирующей выборки test-ing1.dat.

4. Тестирование сети. На вход сети nn1 зашум-ленная выборка testing1.dat подается непосредственно, а на вход сети nn2 после предварительной

обработки фильтром Калмана в соответствии с пунктами 1-6. В результате получаются оценки для компоненты х1 с меньшей (по сравнению с данными из testing1.dat) дисперсией, а также компоненты х2, явно не измеряемой, что позволяет применить сеть пп2 с двумя входами.

Результаты численного эксперимента показаны на рисунке 2. Сплошной линией на графике изображен истинный сигнал и(к), пунктирной - ответ сети пп2, звездочками - ответ сети пп1.

Рис. 2. Результаты численного эксперимента

Визуальное сравнение этих кривых показывает, что сеть с применением фильтра Калмана значительно лучше справляется с задачей нахождения и(к). Среднеквадратичная ошибка о определения и(к) за анализируемый промежуток для сети пп2 составила с2=0,219, а для сети пп! получено

с1=0,377. Такой запас позволяет сети пп2 находить решение обратной задачи при больших вариациях исходных данных, которые моделируются векторами К(к) и У(к). В частности, для достижения сетью пп2 значения ошибки примерно 0,38 потребовалось увеличение дисперсии входного процесса У(к) с 0,1 до 0,19, то есть почти в два раза большее, чем при проведении эксперимента.

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

Литература

1. Кабанихин С.И. Обратные и некорректные задачи: учебник для вузов. Н.: Сибир. науч. изд-во, 2008. 460 с.

2. Гердова И.В. [и др.]. Новые возможности в решении обратных задач лазерной спектроскопии с применением искусственных нейронных сетей // Изв. РАН: Сер. физ., 2002. № 8. С. 1116-1124.

3. Теребиж В.Ю. Введение в статистическую теорию обратных задач. М.: Физматлит, 2005. 419 с.

4. Изерман Р. Цифровые системы управления. М.: Мир, 1984. 541 с.

5. Круглов В.В., Дли М.И., Голунов Р.Ю. Нечеткая логика и искусственные нейронные сети. М.: Физматлит, 2001. 224 с.

УДК 519.673

ВЫСОКОПРОИЗВОДИТЕЛЬНЫЕ ВЫЧИСЛЕНИЯ В ПРАКТИКЕ МОДЕЛИРОВАНИЯ РОСТА ПЕРКОЛЯЦИОННЫХ КЛАСТЕРОВ

С.Ю. Лапшина

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

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

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

пользовать алгоритмы формирования и роста пер-коляционных кластеров.

На феномен перколяции впервые обратили внимание Флори [1] и Стокмайер [2] при изучении эффектов формирования гелей и полимеризации. Однако термины «перколяция» и «теория перколяции» в своем современном толковании чаще всего связывают с публикацией работы Броадбен-