Объединение математического аппарата нечетких переменных и автоматического дифференцирования для оценки наследственной погрешности

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

Разработанный на базе данных принципов комплекс аппаратно-программного анализа

сигналов кровотока показал свою эффективность в тестовых экспериментах и клинической практике.

Предложенное техническое решение защищено патентами РФ [13, 14].

СПИСОК ЛИТЕРАТУРЫ

1. Применение ультразвука в медицине: Физические основы [Текст] / Пер. с англ; Под ред. К.Хилла. -М.: Мир, 1989. -568 с.

2. Doppler Ultrasound [Текст] / Ed. by D. Evans, W.N. McDicken. -NY, 1985.

3. Лелюк, В.Г. Ультразвуковая ангиология [Текст]/ В.Г. Лелюк, С.Э. Лелюк. -М.: Реальное время, 2003. -324 с.

4. Цвибель, В. Ультразвуковое исследование сосудов [Текст]/ В. Цвибель, Дж. Пеллерито. -М.: Видар, 2008. -646 с.

5. Ультразвуковая доплеровская диагностика в клинике [Текст] / Под ред. Ю.М. Никитина, А.И. Тру-ханова. -Иваново: Изд-во МИК, 2004. -496 с.

6. Jurgen, Faust. Die Doppler-Sonographie in der Gefassdiagnostik [Текст] / Faust Jurgen. -Kranzbuhler, 1992.

7. Лайонс, Ричард. Цифровая обработка сигналов [Текст] / Ричард Лайонс; Пер. с англ; 2-е изд. -М.: ООО «Бином-Пресс», 2006. -656 с.

8. Котельников, В.А. О пропускной способности «эфира» и проволоки в электросвязи [Текст] / В.А.

Котельников // Успехи физических наук. -2006. -№ 7. -С. 762-770.

9. Woodcock, J.P. Principles and applications of Doppler ultrasound [Текст] / J.P. Woodcock, R. Skidmore //Clin. Diagn. Ultrasound. -1980. -№ 5. -P. 166-185.

10. Mitchell, D.G. Color Doppler imaging: principles, limitations, and artifacts [Текст] / D.G. Mitchell // Radiology. -1990. -Vol. 177. -P. l-10.

11. Kremkau, F.W. Artifacts in ultrasound imaging [Текст] / F.W. Kremkau, K.J.W. Taylor // J. Ultrasound Med. -1986. -№5. -P. 227-237.

12. Reading, C.C. Color and spectral Doppler mirror-image artifact of the subclavian artery [Текст] / C.C. Reading, J.W. Charboneau, J.W. Allison [et al.] // Radiology. -1990. -Vol. 174. -P. 41-42.

13. Монаков, А.Г. Устройство для регистрации кровотока [Текст] / А.Г. Монаков, А.Б. Степанов, Е.А. Степанов. -Патент № 51852. -10.03.2006.

14. Монаков, А.Г. Способ регистрации кровотока [Текст] / А.Г. Монаков, А.Б. Степанов, Е.А. Степанов. -Патент № 2311870. -10.12.2007.

УДК 519.688

К.К. Семенов

ОБЪЕДИНЕНИЕ МАТЕМАТИЧЕСКОГО АППАРАТА НЕЧЕТКИХ ПЕРЕМЕННЫХ И АВТОМАТИЧЕСКОГО ДИФФЕРЕНЦИРОВАНИЯ ДЛЯ ОЦЕНКИ НАСЛЕДСТВЕННОЙ

ПОГРЕШНОСТИ

В практике прикладного программирования часто возникает ситуация, когда в качестве исходных данных для математических вычислений по алгоритму у = / (х1, х2,..., хп), который требуется реализовать программой, выступают неточные данные. Например, вместо точечных значений аргументов х1, х2,..., хп для них известны только интервалы [х1 - Дх1, х1 + Ах1], [х2 - Дх2, х2 + Дх2],..., [хп - Ахп, хп + Дхп ] допускаемых значений. В таком слу-

чае имеет смысл говорить не о точечном значении результата вычислений у, а об интервале [у - Ду, у + Ду] его возможных значений. Погрешность результата вычислений у, вызванная неточностью исходных данных расчета, принято называть наследственной [1] или трансформированной [2] погрешностью вычислений.

Ситуация, когда вычисления производятся в условиях неточных исходных данных, частое явление в практике современного приборостроения.

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

Поскольку в большинстве случаев именно результаты математической обработки декларируются как результаты измерений, то характеристики их погрешности должны быть оценены и представлены пользователю в соответствии с Законом РФ «Об обеспечении единства измерений» [4]. Задача оценки наследственной погрешности - одна из главных задач при аттестации программного обеспечения, используемого в метрологии [2]. Схожие с ней задачи возникают при численном моделировании, в расчетах технико-экономических показателей и других областях.

Широко известны такие методы оценки характеристик наследственной погрешности, как те или иные модификации интервальной арифметики, оценка с помощью частных производных, имитационное моделирование (методы Монте-Карло), метод на основе теории нечетких переменных. Данные методы обладают как преимуществами, так и недостатками, препятствующими их повсеместному применению. Однако возможна такая комбинация нескольких методов [5], при которой удается сочетать их полезные свойства и минимизировать влияние их недостатков.

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

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

В настоящей статье предлагается комбинация известных методов, основанная на классическом способе учета наследственной погрешности, когда оценка характеристик погрешности осуществляется с помощью частных производных от алгоритма у = /(х1, х2,...,хп) по входным аргументам. В ее рамках предлагается объединить математические аппараты нечетких переменных и автоматического дифференцирования.

Гладкую функцию у = /(х1, х2,..., хп), которая реализована алгоритмом и связывает результат у математической обработки с исходными данными, можно разложить в ряд Тейлора около точки (х1,х2, ..., хп) еЯп и получить точное соотношение для погрешности Ду результата через известные отклонения аргументов Дх1. Вследствие малости погрешности Дх1 метод линеаризации, заключающийся в отбрасывании всех членов ряда, за исключением линейного, широко распространен. В этом случае имеет место приближенное равенство Ду ^ (^ х2 , ..., хп ) ' Дх/ .

1=1 дх1

На основе данного соотношения получаются оценки наследственной погрешности для разных случаев характера погрешности:

/

ох.

•Д.

где [-Дх, + Дх ] - пределы допускаемых значений для погрешностей исходных данных, носящих систематический характер; [-Д^, + Д] - оценка пределов допускаемой погрешности результата вычислений и

(

ст„

' " дх

2

где стх - оценка дисперсии погрешности исходных данных, имеющей случайный характер; <зу - оценка дисперсии случайной погрешности результата вычислений.

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

V / , /=1 дх,

..., хп ) х

I=1

где ^ - нечеткая переменная, описывающая характеристики погрешности исходных данных;

у - нечеткая переменная, характеризующая погрешность результата вычислений. Используя определенный [8] аппарат работы с нечеткими переменными, можно получать характеристику погрешности у в форме [-Д - к • ст , Д + к • сту ], где коэффициент к может быть назначен пользователем. Как правило, к следует выбирать равным 2,0 [9], либо в соответствии с правилом П.В. Новицкого равным 1,6 [10]. При этом:

1) характеристики систематической и случайной составляющих погрешности могут быть легко отделены друг от друга;

2) все действия с характеристиками погрешности выполняются унифицированным образом вне зависимости от характера погрешности (систематического или случайного);

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

Правила работы с нечеткими переменными, характеризующими погрешность, могут быть редуцированы до правил (1)-(2) и, таким образом, выступать их обобщением.

Важным обстоятельством в пользу применения метода нечетких переменных служит необходимость привлечения в ряде задач трудно формализуемой информации. Например, в измерительных задачах использование априорной информации экспериментатора об исследуемом им объекте позволяет повысить точность результатов измерений [11]. Однако формализовать эти сведения в терминах теории вероятностей или интервальной арифметики не представляется возможным. Теория нечетких переменных позволяет учесть плохо формализуемые априорные сведения [11].

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

Основной характеристикой нечеткой переменной ^, отражающей сведения о величине х1, является ее функция принадлежности а = (х..), сопоставляющая каждому возможному значению х значение меры а , называемой уровнем до-

верия, и в какой-то степени являющаяся субъективным аналогом вероятности. В [12] отмечается, что значение а = (х1) может быть интерпретировано как вероятность того, что лицо, принимающее решение, отнесет значение х к множеству значений ^.

Для рассматриваемого применения теории нечетких переменных необходимо, чтобы для всех аргументов ^ расчета соответствующие им функции принадлежности (х1) имели вид

ехр

2-s1

, при xi < -Л

ехр

1, при - А < х < Аг

Л1 1 Л1

2-s2

, при*,. >Д

как это показано на рисунке, а арифметические операции выполнялись по алгебраическому правилу работы с нечеткими переменными: если П = ^ 0 где знак «о » обозначает произвольную арифметическую операцию (сложение, вычитание, умножение, деление), то нечеткой переменной п должна быть поставлена в соответствие функция принадлежности цп (y) = sup (ц^ (х1) • ц^ (x2)}.

*10 x2 = У

При выполнении данных требований достигаются заявленные выше свойства. Функция ц (x) полностью описывается двумя параметрами: величинами Дх и s, которые при конструировании функции принадлежности определяются по имеющимся сведениям о характеристиках погрешности величины x . В качестве Дx

Необходимый вид функции принадлежности (х1) для выраженной нечеткой переменной погрешности исходных данных х1

необходимо брать предел допускаемых значений для систематической составляющей погрешности х , а величина 5 выбирается таким образом, чтобы интервал, образуемый пересечением прямой а=а0 с функцией (х1), имел ширину [—Д х — к •о х, Дх + к • о х ], где к и а0 з адаются (например, соответ^с^^(^]ннх1 2,0 и 0,05=

В формуле (3) осталось нераскрытым, каким образом получать значения частных производных д/

— Ои х2 , ..., хп ) от функции у = /(Х1, х2 , ..., хп ^

ох.

I

представленной программным кодом.

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

Так как функция у = /(х1, х2,..., хп) выражена программным кодом, то подразумевает аналитическую запись и, соответственно, аналитическую запись для любой частной производной. Однако соответствующее исследование, доставляющее точное значение производной, весьма трудоемко. Желательно по возможности выполнить его автоматически. Это достигается с помощью следующего метода [13], позволяющего вместе со значением функции одновременно получать точные значения любой ее частной производной.

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

Таким образом, фактическое выполнение расчетов сводится к вычислению значения сложной функции у = /(31(з2(...Зп(^ х2,..., хп)...), х1, х2,..., хп), х1, х2,...,хп), начинающемуся вычислением значения уп = зп(х1,х2,..., хп) и продолжающемуся вычислениями уп—1 = зп—1 (уп,

Х1, х2 , ..., хп ^ уп—2 = Зn—2(Уn—1, Х1, х2 , ..., хп ) и т. д.

В то же время значение частной производной

/(х1,х2, ..., хп) этой сложной функции может

дх

быть вычислено следующим образом:

Оз дз

— (х1, х2, ..., хп) = — (х1, х2, ..., хп) ,

ах, дх,

, сl, х2 , хп ) = ^^ (уп , ^ х2 , хп ) >

ах оуп

X ^ (Cl, х2 , , хп ) (уп, Cl, х2 , , хп ) ,

ах, ох.

а§п

Ох.

~(уп—1, х1, х2, ..., хп) =

д (уп—1, х1, х2 , ..., хп ) • , (х1, х2,..., хп) +

ду , ах.

* п—1 I

+ З

дх..

а

и т. д. Здесь символом — обозначена полная

Ох,

частная производная по аргументу х1. На каждом шаге текущая функция yj = зJ (yj—1, х1, х2,..., хп) зависит от интересующей нас переменной х непосредственно и опосредованным образом через вычисленное на предыдущем шаге значение у.—1. Существует возможность сопроводить .-й шаг вычисления сложной функции вычислением значения частной производной функции з по заранее маркированной переменной х . Для этого требуется лишь формально указать, как вычислять производную при арифметических действиях (сложение, вычитание, умножение и деление) и при вычислении элементарных функций одной переменной (синус, косинус, экспонента и т. д.):

д- (/1( х) ± /2( х)) = |ч х,) ±|ч х1),

дх дх ох,

—(/1 (х) • /2 (х)) = х) • /2 (х) + М х) ~ (х),

д Эх,

дх,.

дх

±( /¡Сх) ^

дх, I /2

|ч х) • /2

дх,- д

/2

д д —(sln( х-)) = cos( х-), т- (со^Х)) = — ип(Х),

дх дх

I I

д

— (ехР(х-)) = ехР(Х) ит д.

дх,

В качестве иллюстрации рассмотрим пример. Пусть у = /(х1, х2) = х • cos(х + х2) — х2. Требуется автоматически вычислить значение произво-

а/

дной -(х1, х2). Тогда в соответствии с приве-

Ох1

денными выше формулами:

V 4 = §4 (Х1, Х2 ) = Х1 + Х2 ,

Уз = §3(У4, ^ Х2) = C0S(У4) , У2 = §2( Уз, Х1> Х2 ) = Х • Уз

VI = §1( У 2 , Х1, Х2) = У 2 - Х2

Х1, Х2) = 1 + 0,

аХ1 Ое

"ТА( ^ Х2) = - Sin( У4) + 0: ОХ,

(Х1, Х2 ) = Х1 • (Х1, Х2 ) + Уз • 1 ,

С/.А.'! С/Л'

Ох1

По завершению

У = Х' • COs(Х' + Х2 ) - Х2

получаем

расчетов

д/

И (Х1, Х2) = Х1

дХ

х (- sin( Х' + Х2)) + cos( Х' + Х2 ) .

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

Случай, когда анализируемая функция У = /(Х', Х2,..., Хп) реализована программой, содержащей условные переходы, является особым.

(Х, Х2) = °т2(Х', Х2) + 0.

ОХ'

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

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

—>

—>

СПИСОК ЛИТЕРАТУРЫ

' Желнов, Ю.А. Точностные характеристики управляющих вычислительных машин [Текст] / Ю.А. Желнов. - М.: Энергоатомиздат, '983.

2. Слаев, В.А. Аттестация программного обеспечения, используемого в метрологии: Справочная книга [Текст] / В.А. Слаев, А.Г. Чуновкина. -СПб.: Профессионал, 2009.

3. Солопченко, Г.Н. Принципы метрологического автосопровождения вычислений в компьютерных измерительных информационных технологиях [Текст]/ Г.Н. Солопченко // SCM'99: Сб. докл. II Междунар. конф. Т. ' -СПб.: СПбГЭТУ, Ш9.

4. Солопченко, Г.Н. Обязательные требования к программному обеспечению компьютерных измерительных информационных технологий [Текст] / Г.Н. Солопченко // SCM-2000: Сб. докл. Междунар. конф. -СПб.: СПбГЭТУ, 2000.

5. Семенов, К.К. Теоретические предпосылки реализации метрологического автосопровождения программ обработки результатов измерений [Текст] / К.К. Семенов, Г.Н. Солопченко // Измерительная техника. -20Ю. -№ 6. -С. 9-М.

6. Крейнович, В.Я. Оценка погрешности результата косвенных измерений с помощью вычислительного эксперимента [Текст] / В.Я. Крейнович, М.И. Павлович// Измерительная техника. -'985. -№ 3. -С. П.

7. Солопченко, Г.Н. Представление измеряемых величин и погрешностей измерений как нечетких переменных [Текст] / Г.Н. Солопченко // Измерительная техника. -2007. -№ 2. -С. 3.

8. Семенов, К.К. Аппарат нечетких переменных в задаче метрологического автосопровождения вычислений [Текст] / К.К. Семенов // XXXVIII неделя науки СПбГПУ: Матер. Всерос. межвуз. науч.-техн. конф. студентов

и аспирантов. -СПб.: Изд-во Политехи. ун-та, 2009.

9. Nguen, H.T. Why two sigma? A theoretical justification [Текст] / Hung T. Nguen [et al.] // Soft Computing in Measurement and Information Acquisition; Ed. L. Reznik, V. Kreinovich. - Berlin, Heidelberg: Springer-Verlag, 2003. -P. 10-22.

10. Новицкий, П.В. Оценка погрешностей результатов измерений [Текст] / П.В. Новицкий, И.А. Зограф - Л.: Энергоатомиздат, 1991.

11. Резник, Л.К. Математическое обеспечение обработки нечеткой информации экспериментатора в

ИВК [Текст] / Л.К. Резник // Архитектура, модели и программное обеспечение ИИС и ИВК: Тр. ВНИИЭП. -Л.: ВНИИЭП, 1983.

12. Борисов, А.Н. Обработка нечеткой информации в системах принятия решений [Текст] / А.Н. Борисов, А.В. Алексеев, Г.В. Меркурьев [и др.]. -М.: Радио и связь, 1989.

13. Griewank, A. On Automatic Differentiation [Текст] / А. Griewank // Mathematical Programming: Recent Developments and Applications; Ed. M. Iri, K. Tanabe. -Kluwer Academic Publisher, 1989. -P. 83-108.