| Прикладные проблемы оптимизации
УДК 004.021
Васильев И.С.1, Жгун Т.В.2
1 ЗАО «ЭЛСИ», Великий! Новгород, Россия 2Новгородскии государственный университет им. Ярослава Мудрого, Великий Новгород, Россия
ИСПОЛЬЗОВАНИЕ ВЫЧИСЛЕНИЙ С МАНТИССОЙ ПЕРЕМЕННОЙ ДЛИНЫ ДЛЯ РЕШЕНИЯ ЗАДАЧИ ОЦЕНКИ ПАРАМЕТРОВ СИСТЕМ
Аннотация
В работе рассматривается проектирование вычислительного процесса оценки параметров систем по результатам измерений методом максимального правдоподобия с использованием мантиссы переменной длины. Представлена методика определения оптимальной длины мантиссы на каждой итерации решения задачи вычисления параметров конкретной системы, основывающаяся на данных исследования серии итерационных процессов определения параметров смоделированных систем.
Ключевые слова
Мантисса переменной длины; метод максимального правдоподобия; оценка параметров; вычислительная оптимизация; моделирование вычислительных задач; квазиньютоновские методы.
Vassiliev I.S.1 , Zhgun T.V.2
1 ZAO ELSI, Velikiy Novgorod, Russia 2Novgorod State University, Velikiy Novgorod, Russia
USING THE VARIABLE-LENGTH MANTISSA FOR MODELS' PARAMETERS ESTIMATION
Abstract
The article is dedicated to the problem of computing process design for computing processes used for systems parameters estimation based on measurements using maximum likelihood method, using variable length mantissa calculations. A new method for the optimal mantissa length for each iteration of peculiar system parameters estimation task determination is presented, it is based on a series of iteration processes for modelled systems parameters estimation research.
Keywords
Variable-length mantissa;, maximum likelihood method; parameters estimation; numerical optimization, computational tasks modelling; quasi-Newton methods.G.
Введение
Задачи оценивания параметров и характеристик систем по результатам измерении имеют широкое распространение на практике. Особенно важное место они занимают на всех этапах экспериментальной отработки и эксплуатации объектов ракетно-космической техники, при навигационно-баллистическом обеспечении полетов космических аппаратов, при разработке систем автономной навигации, в ходе летных испытании, в построении базовых схем
промышленной электроники и др.
Методы оценивания параметров нелинейных многооткликовых моделеи на основании выборки экспериментальных данных достигли высокого совершенства и подвергались обстоятельным исследованиям [1,2]. Но необходимо отметить, однако, что вопросы улучшения точностных и вычислительных характеристик указанных методов продолжают оставаться актуальными как в целом, так и применительно к конкретным группам задач. Особенно следует отметить, что
авторы исследований! в области оптимизационных методов, как правило, ограничиваются описанием теоретической части метода и практически не рассматривают аспекты проектирования вычислительного процесса, что является необходимым этапом при технической реализации. В то же время следует отметить, что при разработке встраиваемых (Embedded)
специализированных малогабаритных систем проектирование вычислительных процессов имеет ключевое значение, так как оптимальность производства вычислении имеет критичное значение для общеи производительности системы.
Можно выделить весьма обширньш класс задач, для которых вектор оцениваемых параметров системы неизвестен, однако известна оценка параметров его многомерного распределения, а также области значении его компонентов. Знание параметров распределения позволяет
использовать методики оптимизации
вычислительных процессов при оценке коэффициентов модели. Область значении, определяемая, как правило, на основе теоретических соображении, подкрепляемых эмпирически, обуславливает применение методов оптимизации с ограничениями в виде неравенств. Это позволяет в некоторой мере защититься от сходимости метода оптимизации к локальному экстремуму.
Целью исследования является построение вычислительно оптимального итерационного процесса нахождения решения задачи оценивания параметров системы по результатам измерении.
Задача оценки коэффициентов моделей радиоэлектронных компонентов рассматривается в качестве типичного примера такои задачи. Эта задача весьма актуальна сама по себе ввиду важности задачи моделирования
радиоэлектронных компонентов с учетом разброса их характеристик в целях совершенствования производственного процесса.
Использование метода максимального правдоподобия для оценки коэффициентов SP/CE-моделей полупроводниковых приборов
В качестве математической модели полупроводниковых приборов на настоящий момент, как правило, используются SPlCE-модели. Они стали стандартом для систем схемотехнического моделирования и входят в состав почти всех САПР, используемых для проектирования схем [3]. SPlCE-модель отражает взаимосвязь между задаваемыми и наблюдаемыми электрическими характеристиками электронных компонентов и схем.
Модель представляет собои систему уравнении, получаемых с помощью закона Кирхгофа для тока относительно каждого узла за исключением базового [3]. После выполнения ряда операции
система дифференциальных уравнений! представляется в общем виде:
у V = У , (1)
где Y - матрица дифференциальных узловых проводимостеи, V - вектор узловых напряжении, j -вектор токов. Обычно напряжения используют в качестве задаваемых характеристик (входных параметров), а токи - в качестве наблюдаемых (выходных параметров). Определяемыми параметрами системы (коэффициентами модели) являются физические характеристики изделия, такие как: электрическое сопротивление различных областеи, токи насыщения, коэффициенты эмиссии и так далее.
В математическом смысле проблема оценки ^Р/СЯ-параметров является нетривиальной задачеи на многофакторную (в современных моделях приборов содержится более сотни SР/СE-параметров!) условную оптимизацию, успешное решение которой обеспечивается правильным использованием соответствующих
оптимизационных методов и алгоритмов их реализации. Также важен правильный подбор параметров оптимизационного процесса и возможность получения экспериментальных данных должного качества.
Методология оценивания параметров в основном базируется на применении метода максимального правдоподобия, которьш, как показывает практика, является одним из самых эффективных методов определения параметров. Метод максимального правдоподобия (ММП) изначально был разработан Р.Фишером применительно к модели объекта статического типа. Процедура его применения предусматривает составление функции правдоподобия и получение оптимальной оценки путем решения системы нормальных уравнении, выражающей условие максимума этои функции. По смыслу нормальная система представляет необходимое условие оптимальности, характерное для прямых методов оптимизации.
Всюду далее будем предполагать, что наблюдаемый в эксперименте вектор выходных параметров Y - непрерывная случайная величина, имеющая плотность д(У; Ь), где Ь — неизвестный вектор параметров из множества допустимых параметров В. Основная цель метода — максимизация функции правдоподобия Ь(Ь) = д(У; Ь) как функции аргумента Ь при фиксированном значении наблюдаемой случаинои величины. Так как логарифмическая функция является монотонно возрастающей функцией аргумента, значение Ь, максимизирующее значение целевои функции ЦЬ), будет максимизировать и 1п(Ь(В)). Так как логарифмирование часто упрощает объектную функцию, задача может быть сведена к максимизации натурального логарифма функции правдоподобия (ЛФП).
Sln L (b)_
S b
(2)
Оценка максимума правдоподобия (ОМП) вектора коэффициентов Ь - это значение Ь*, удовлетворяющее всем ограничениям, при котором функция правдоподобия достигает максимального значения, если оно существует.
При относительно слабых ограничениях на вид функции правдоподобия оценки ММП состоятельны и асимптотически эффективны, что особенно справедливо для выборок большого объема. При малых выборках ОМП обычно не обладают какими-либо оптимальными
свойствами, оценки не будут ни эффективными, ни несмещенными. Однако многие исследователи показывают, что метод максимума правдоподобия дает приемлемые оценки во многих ситуациях, что является сильным аргументом в пользу применения этого метода для расчета оценок коэффициентов моделеи.
Можно привести еще одно наглядное определение оценки максимального
правдоподобия: оценка максимального правдоподобия Ь* - это такие значения вектора параметров Ь, которые обеспечивают наибольшую вероятность наблюдения выборки в окрестности действительно наблюдаемой выборки, полученной экспериментально [1].
Если функция правдоподобия (или ее логарифм) имеет профиль по параметрам близкий к квадратичному (например, в случае независимых случайных величин, имеющих нормальное распределение), то ее максимум может быть легко найден посредством решения системы линейных уравнении относительно неизвестных параметров. Однако на практике часто оказывается, что профиль функции правдоподобия весьма далек от квадратичного. Потому весьма обоснованным является применение методов
многокритериальной оптимизации для поиска искомои оценки. Объектная функция для таких методов строится на основе логарифма функции правдоподобия.
Методы оптимизации условно можно поделить на методы, не использующие сведении о производной объектнои функции (поисковые), методы, использующие сведения о первои производной объектнои функции (методы первого порядка) и методы, использующие сведения о второи производной объектнои функции (методы второго порядка). Поисковые методы обоснованно применяются в тех случаях, когда производную объектнои функции невозможно выразить аналитически либо это слишком сложно. В нашем случае производная в большинстве случаев аналитически выражается и, как правило, не является громоздкой Потому традиционно для решения подобных задач используются
градиентные методы, а именно всевозможные модификации метода Ньютона.
Ньютоновские методы, в частности, метод Ньютона-Рафсона, при некоторых допущениях относительно функции L(b) и достаточно аккуратно выбранном начальном приближении, демонстрирует локальную квадратичную сходимость к решению b* уравнения (2). Однако они требуют вычисления гессиана функции на каждои итерации, что приводит к дополнительным вычислительным затратам. В качестве альтернативы можно рассмотреть квазиньютоновские методы, которые заменяют гессиан функции некоторым его приближением. Эмпирические исследования показали, что наилучшим соотношением качества получаемого решения и вычислительной сложности обладает метод Ньютона-Гаусса [1, 2, 4], которьш и применяется далее.
Однако даже квазиньютоновские методы в применении к оценке параметров SP/CE-моделеи требуют производства весьма большого объема вычислении, что может привести к увеличению времени оценки коэффициентов сверх допустимого для даннои системы. При использовании явно задаваемой модели в виде некоторой системы уравнении вида y=F(x,b), где y -вектор выходных параметров, x - вектор входных параметров, b - вектор оцениваемых коэффициентов, сложность задачи растет по меньшеи мере квадратично при увеличении размерностей используемых данных.
Еще хуже ситуация обстоит в тех случаях, когда модель задается неявно, и вычисление вектора выходных параметров само по себе требует итерационного решения оптимизационной задачи. При вычислении итерационного приближения вектора выходных параметров b*(n) на каждом шаге n значения компонент вектора вычисляются также с помощью оптимизационного алгоритма поиска корня. Следовательно, и общая вычислительная сложность увеличивается на два порядка. К примеру, оценка параметров явнои многооткликовои SP/CE-модели npn-транзистора на персональном компьютере (процессор IntelCore 2 Duo, 2,1 GHz, DDR3 4,0 Гб) требует около 20-30 минут. Следовательно, такие вычислительные схемы не могут быть широко востребованы.
В зависимости от задачи и условии реализации для преодоления проблемы вычислительной сложности могут быть применены экстенсивные методы, такие как построение
высокопроизводительных кластеров на месте либо использование облачных вычислении. Первыи подход может оказаться неоправданно дорогим и неприемлемым по габаритам установки и энергопотреблению. Второи подход потребует организации надежного канала связи с облаком, что в ряде случаев представляет неоправданные
0
технические сложности, кроме того, аренда облака со специализированным программным
обеспечением также требует денег. Распараллеливание вычислительного процесса также является вариантом улучшения производительности. Многие задачи весьма успешно могут быть разделены на подзадачи, которые раздаются отдельным процессорам. Во многих случаях именно этот подход является оптимальным, однако он требует усложнения и удорожания аппаратной части, а также увеличивает затраты энергии, требующиеся для выполнения задачи.
Если рассматривать аппаратную реализацию в виде встраиваемой системы, то решение проблемы экстенсивными методами (т.е. увеличением вычислительных мощностей) оказывается в ряде случаев неоправданным или невозможным в силу ограничении на энергопотребление и/или на количество процессоров и их мощность. Также для всех реализации немаловажную роль часто играет и ценовои фактор, что в совокупности определяет ограниченную применимость такого метода решения проблемы вычислительной сложности. В таких случаях наиболее предпочтительным или даже единственным способом реализации требовании является интенсивная оптимизация вычислительного процесса, при которой стремятся к получению результата с необходимой точностью при значительном снижении вычислительных затрат.
Задача оптимального выбора точности вычислений
Известно, что вычислительная сложность машинной арифметической операции напрямую зависит от абсолютной погрешности, с которой производятся арифметические операции. Чем ниже эта погрешность, тем ниже и погрешность получаемого результата, но в то же время больше ресурсов требуется на проведение вычислении. Оптимальный подбор этои погрешности и есть один из вариантов оптимизации вычислении.
В качестве рабочего формата чисел для проведения вычислении в таких задачах традиционно используются числа с плавающей запятои. Числа с фиксированной точкои, несмотря на их очевидные достоинства, используются редко в силу нерационального использования памяти при необходимости представления чисел с большим разбросом значении. Следует отметить, впрочем, что соображения, высказанные ниже, могут быть применены и при организации вычислении с фиксированной точкои, и в ряде случаев это будет даже проще.
Машинное число с плавающей точкои
представляется в виде: Хс = М • Ьр, где M -значение мантиссы, p - значение порядка, Ь -основание системы счисления. В современных ЭВМ
повсеместно применяется двоичная арифметика (Ь=2), но для теоретических соображении удобно работать с десятичным представлением числа (Ь=10), так как рассматриваемые подходы одинаково работают независимо от выбранного основания.
Относительная погрешность машинных чисел с плавающеи точкои не превышает значения, называемого «машинным эпсилоном» [5,6].
где b - основание системы счисления, t - длина мантиссы, p - длина поля порядка, t + p - длина используемой разрядной сетки. Для знака числа выделяется еще один, дополнительный разряд, не входящии в мантиссу. Величина машинного эпсилон является важнеишеи константой машинной арифметики, характеризующей точность компьютерных вычислении. Таким образом, обеспечение оптимальной точности вычислении можно свести к подбору значении p и t, то есть длин поля порядка и мантиссы в представлении числа. Как видно из формулы (3), абсолютная точность представления чисел в компьютере достижима при бесконечно больших значениях p и t, что невозможно практически и не требуется для большинства реальных задач.
Общепринято, что p << t . К примеру, в стандарте представления чисел IEEE754 для чисел одинарнои точности длина мантиссы t = 23, число разрядов, отводимых на порядок числа p = 8, для представления чисел двоинои точности t = 52, p = 11 бит. Исходя из этого, разумно положить некоторое постоянное значение p и варьировать только длину мантиссы t. В частности, в большинстве систем принимается p > 1,5 • log ьt [5]. Для размера поля порядка p потребуем далее выполнение условия (4).
p > logb (t +1) . (4)
Таким образом, задача оптимального выбора точности вычислений сводится к задаче выбора длины мантиссы t. В качестве основных идеи оптимизации используются следующие обнаруженные эвристики:
1. Точность вычислении должна быть ненамного больше точности, обусловленной погрешностью метода и/или неустранимой погрешностью исходных данных. Обыкновенно используемые числовые типы данных с плавающеи точкои float и double могут давать избыточную в конкретном случае точность.
2. Поскольку теоретически точность результата растет с каждои итерацией, то и точность проведения вычислительных операции имеет смысл увеличивать постепенно, с каждои итерацией.
Идея постепенного увеличения мантиссы, с которой производятся вычисления в итерационном процессе, высказана в [6,7], там же доказана эффективность данного подхода для ряда задач. Там же указывается на трудности, возникающие при определении рабочей мантиссы для каждои итерации в общем случае, в частности, необходимость подгонки параметров формулы, которая предложена для определения этои длины, исходя из оценки погрешности вычислении на итерации. Настоящее же исследование предлагает способ регулирования длины мантиссы в итерационном процессе оценки параметров нелинеинои многооткликовои модели, основанный на статистическом анализе параметров решения группы задач с близкими исходными данными и определения точности решения на каждои итерации.
Использование мантиссы переменной длины в итерационном процессе
Нетрудно определить выгоду от использования вычислении с мантиссой, увеличивающееся от итерации к итерации. Анализируя итерационный процесс, можно видеть, что вычислительная сложность любои итерации зависит от длины используемой мантиссы, то есть эту сложность можно представить как F(t). Очевидно, что эта функция монотонно возрастает при увеличении аргумента, ибо вычислительная сложность увеличивается с увеличением длины рабочей мантиссы. Если процесс требует N итерации, то его общая сложность будет равна N•F(t) в случае использования мантиссы постоянной длины и
N
^ F (t¡) при использовании мантиссы
i= 0
N
переменной длины, причем ^ Р (t¡ (t) , так
¡= 0
как +1 ^ и только на последней итерации
= t. Выгода в смысле вычислительных ресурсов будет тем большей, чем больше будет разность между длинами мантисс на разных
N
итерациях и суммарная разность Л= ^ Ati , где
= 0
Лti=ti+1-ti.
До начала вычислении задается максимальная длина мантиссы tтах , которая определяется требуемои точностью оценки определяемых параметров (числом желаемых верно значащих цифр результата) с запасом в 1-2 разряда. В рамках каждои итерации вычислительного процесса (основнои итерации оптимизационного метода), используется постоянная длина мантиссы ti , которая определяется начальной длиной мантиссы 10 и номером текущей итерации i:
t¡=T(^,1) . Итерационньш процесс завершается, если для двух последовательных итерации 5-1 и 5
относительное изменение всех коэффициентов вектора оцениваемых параметров не превышает заданную точность, определяемую желаемым числом значащих разрядов результата ШЮ^ tтах .
Для некоторых итерационных методов нахождения минимального значения функции, в частности, для метода Ньютона, мы имеем в распоряжении теоремы о сходимости и точности итерационного процесса. В общем же случае до решения задачи об этих характеристиках нельзя ничего сказать. Однако для весьма широкого класса задач мы обладаем некоторыми сведениями относительно возможных исходных данных.
Зная закон распределения искомых коэффициентов модели, мы можем сгенерировать сколь угодно векторов, принадлежащих тому же распределению. Для каждого из этих векторов, задавшись планами экспериментов, сведениями об ошибках измерения мы можем сгенерировать наборы экспериментальных данных, подавая вектора коэффициентов и значения входных сигналов, указанные в плане эксперимента, на вход моделеи и внося возмущения в результат. По полученным наборам смоделированных экспериментальных данных мы можем произвести итерационную оценку параметров для каждого из смоделированных объектов. Совокупность итерационных приближении определяемых параметров на каждом шаге позволяет характеризовать течение итерационного процесса в целом и определить требуемую каждои итерациеи длину мантиссы.
Проанализировав порядки величин,
характеризующих изменение компонентов оцениваемого вектора для двух последовательных итерации, можно определить наиболее вероятное значение порядка изменении вычисляемых параметров для каждои итерации. Эти значения, в частности, позволят проверить эффективность метода: в случае сильного отклонения от линеинои сходимости в худшую сторону можно говорить о слабои эффективности метода, являющегося, возможно, следствием программных ошибок и/или неустранимых погрешностей данных и/или вычислительных ошибок. Можно утверждать, что порядок изменении компонентов вектора оцениваемых коэффициентов на каждои итерации определяет минимальную длину мантиссы, с которои вычисления на даннои итерации проедут без потери точности. Проведенные исследования на многооткликовых 5Р/СЕ-моделях полупроводниковых диода и транзистора с использованием
модифицированного метода Ньютона-Гаусса показали, что распределение порядка изменении оцениваемого вектора на каждои итерации характеризуется небольшой дисперсией. Эмпирически выяснилось, что для каждои итерации 90% изменении имеют порядки,
отличающиеся не более, чем на единицу.
По полученному эмпирическому
распределению изменении оцениваемого вектора коэффициентов следует определить, какова должна быть на каждои итерации необходимая длина мантиссы. Для этого имеет смысл рассмотреть цену ошибки, то есть неверного определения даннои величины:
• в случае использования на каждои итерации избыточной длины мантиссы метод потребует больше времени, и это снизит эффект от применения переменной длины мантиссы в целом, но количество итерации будет таким же, как и для мантиссы постоянной длины, заведомо превышающей необходимую. Назовем эту ошибку ошибкои первого рода;
• в случае недостаточной длины мантиссы на некоторой итерации метод потребует больше итерации, чем мог бы, и сможет сойтись лишь тогда, когда длина мантиссы будет соответствовать требуемой точности. Назовем эту ошибку ошибкои второго рода.
Легко видеть, что ошибка первого рода является наиболее безобидной, ошибка же второго рода в большинстве практических случаев влияет на производительность гораздо сильнее. Можно сделать еще несколько очевидных соображении:
1. Верхняя граница длины мантиссы устанавливается исходя из потребнои точности результата, точности входных данных и эмпирической точности метода, определяемой алгоритмом.
2. При возрастании номера итерации, длина мантиссы может либо увеличиваться, либо оставаться прежней.
Для итерации i задается длина мантиссы ^ исходя из того, что на этои итерации ожидается порядок изменении коэффициента вектора параметров p¿ Если порядок изменении вычисляемого коэффициента вектора параметров больше ожидаемого, то вычисления на итерации i производятся без потери точности.
Рассмотрим применение мантиссы переменной длины для решения задачи оценки коэффициентов моделей. Таблицу
рекомендованных длин мантисс для каждои итерации решения задачи определения параметров системы по экспериментальным данным получаем следующим образом:
1. Получаем достаточно представительную (не менее 200) выборку смоделированных решении задачи. Для каждого компонента вектора оцениваемых коэффициентов формируется таблица итерационных изменении значении компонента, т. е. таблица конечных разностей первого порядка для выполненных итерации;
2. Над разностями производится
преобразование порядка, возвращающее значение порядка числа в его стандартном машинном представлении с плавающей точкой;
3. На основе анализа порядков изменении для каждои итерации определяем рабочее значение порядка изменений (рабочее значение порядка) - такое значение порядка изменении, что при моделировании выборки решении бОльшая часть порядков первых разностеи итерационных приближении (обычно, 90-95%) не менее этои величины;
4. На каждои итерации определяем длину мантиссы в зависимости от рабочего значения порядка изменении для этои итерации (правила пересчета приведены ниже);
5. Если для разных коэффициентов вектора оцениваемых параметров длины мантиссы для фиксированной итерации различны, то может применяться одна из стратегии выбора длины мантиссы на этои итерации: либо выбор максимальной требуемой мантиссы для всех коэффициентов, либо выбор усредненное мантиссы, либо инои алгоритм.
Можно говорить о том, что использование мантиссы переменной длины не снижает точности в том случае, если модуль разности результатов, полученных при использовании мантиссы переменной длины и точнои арифметики, будет не больше, чем максимально разрешенная погрешность [5]. При этом количество итерации и точность на каждои итерации могут не совпадать, хотя, как правило, они тоже близки. Появление в вычислительном процессе единичных ошибок первого и второго рода, как правило, не оказывает существенного влияния на точность итогового результата и время вычисления. В качестве точного решения используется решение, полученное с использованием заведомо достаточно длинной мантиссы.
В [5] описан подход к определению числа верно значащих цифр (ВЗЦ) итерационного решения: «В случаях, когда погрешность проистекает главным образом из-за округления, оценка точности вычисления производится так: результат оценивается с использованием более точнои арифметики и сравнивается количество совпадающих знаков с исследуемым вариантом. Разумно предположить, что при более точнои арифметике результат точнее».
Получение оптимального (рабочего) значения порядка изменений
В основу принципа выбора рабочего значения порядка положены следующие обнаруженные эмпирические закономерности:
1. в рассматриваемых вычислительных процессах на каждои итерации порядки изменении имеют небольшой разброс;
2. зависимость длины мантиссы от модуля
порядка изменения является убывающей функцией, потому при выборе более низкого рабочего порядка изменении мы получаем увеличенную длину мантиссы.
Выберем в качестве рабочего порядка медиану распределения порядков с некоторым запасом. Полученное на основании такого рабочего порядка значение длины мантиссы в большинстве случаев будет оптимальным.
А. Итерация 1
-4 0 -3.5 -3 0
Значение
Б. Итерация 2
В. Итерация 3
Г Итерация 4
Рис. 1. Гистограммы распределения порядков изменений коэффициента 2 на итерациях 1-4 Если выбранная длина мантиссы не оптимальна, в небольшом количестве случаев будем иметь ошибку первого рода, которая не сказывается на производительности слишком сильно, и с краине малои вероятностью - ошибку второго рода, которая сильно скажется на снижении производительности, но не повлияет на точность результата.
На рис. 1 представлены гистограммы распределения порядков изменении при оценивании второго коэффициента модели полупроводникового диода на первых четырех итерациях. Можно видеть, что распределения значении порядков напоминают нормальное и основная часть наблюдении укладывается в диапазон ±2 от математического ожидания.
Таблица 1 - Выбор рабочего значения порядка изменений (порог) в зависимости от доли покрываемых
Итерация 1
Порог -8 -7 -6 -5
Процент 100 90 75 4
Итерация 2
Порог -8 -7 -6 -5
Процент 100 99 56 10
Итерация 3
Порог -10 -9 -8 -7 -6
Процент 100 94 92 52 5
Итерация 4
Порог -11 -10 -9 -8 -7 -6
Процент 100 97 91 60 30 9
Итерация 5
Порог -12 -11 -10 -9 -8 -7
Процент 100 98 96 92 65 12
Итерация 6
Порог -13 -12 -11 -10 -9 -8
Процент 100 99 93 91 32 8
Итерация 7
Порог -15 -13 -12 -11 -12 -13
Процент 100 97 94 54 40 6
Поскольку мы работаем с дискретным распределением, задача анализа весьма сильно упрощается. Для каждои итерации мы составляем
таблицу, в которои каждому значению порядка сопоставляем число элементов распределения, равных или больших этого значения и процент, которыи это число составляет от общего числа случаев. Такая таблица напоминает таблицу квантилеи, но имеет противоположный смысл -для каждого значения выбираются большие, а не меньшие члены распределения. В данном случае количество элементов есть число случаев оценки, для которых мантисса, определяемая данным пороговым значением, будет определена безошибочно либо с ошибкой первого рода. В таблицах 1 и 2 приведем выбор рабочего значение порядка изменений в зависимости от доли покрываемых значении. Можно видеть, что для первои итерации при выборе в качестве рабочего значение порядка изменений -4 в 96% случаев (таблица 1) оценки мантисса будет определяться безошибочно либо с ошибкой первого рода, при выборе порогового значения -3 -в 65% случаев и так далее.
Таблица 2 - Выбор рабочего значение порядка изменений (порог) в зависимости от процента покрываемых значений при определении
Далее выбираем рабочий пороговый процент
— желаемая доля покрываемых значении. Здесь нельзя рекомендовать единыи подход, выбор стратегии зависит от конкретных условии. Чем выше пороговый процент, тем медленнее будут идти вычисления в целом, но меньше будет разница между вычислительными процессами решения разных задач. Снижение порогового процента (порога) ускоряет вычисления в среднем, но в некоторых случаях сильно снижает скорость вычислении, и чем порог ниже, тем таких случаев будет больше (так как вероятность ошибок второго рода будет расти). Увеличение порогового процента замедляет вычисления в среднем, но делает их более предсказуемыми в смысле времени, снижая вероятность ошибок второго рода, но увеличивая вероятность ошибок первого рода.
Это дает основания применить следующую стратегию: чем ниже производительность используемых вычислительных средств, тем менее величина выбираемого порогового процента и наоборот.
В целом задача выбора оптимальной длины мантиссы на каждои итерации может быть рассмотрена как оптимизационная. Предлагаемый подход позволяет от решения задачи оптимизации длины мантиссы на каждои итерации перейти к задаче оптимизации всего итерационного процесса путем поиска оптимального рабочего процента закрываемых значении. Выбрав рабочий пороговый процент, мы получаем таблицу рабочих значении порядка изменении. В таблице 3 представлены такие значения для рабочего порогового процента 90% для четырех итерации
Таблица 3 - Рабочие значения порядка изменений для рабочего порогового процента 90% для первых двух _коэффициентов_
Итерация Рабочее значение порядка изменении! для коэффициента Ь[Ц Рабочее значение порядка изменении для коэффициента b[21
1 -7 -4
2 -7 -5
3 -8 -6
4 -9 -7
5 -9 -
6 -10 -
7 -12 -
Определение длины мантиссы на основе рабочих значений порядка изменений
В стандартизованной! арифметике сложение и вычитание чисел с плавающеи точкои выполняются в предположении, что число с меньшеи длиной мантиссы определяет точность итогового результата. При выполнении арифметических операции, если числу с меньшеи длинои мантиссы соответствует и меньшее значение порядка, то при выравнивании порядков в результате мантисса числа с меньшим порядком сдвигается вправо на разницу порядков операндов и младшие выталкиваемые разряды мантиссы при этом теряются.
Пусть t1, t2 - длины мантисс операндов, p1, p2 - их порядки. Пусть при этом ti > t2 и pi > p2. В этом случае мантисса первого операнда будет сдвинута вправо на pi-p2 разрядов, и младшие разряды будут при этом потеряны. Кроме того, длина мантиссы результата принимается равнои наименьшей длине мантиссы операндов (это актуально и при одинаковых порядках чисел). При выполнении предположении длина мантиссы результата tres = min (ti,t2)), и еще ti-t2 разрядов будут отброшены.
коэффициента b[2]
Итерация 1
Порог -5 -4 -3 -2
Процент 100 96 65 3
Итерация 2
Порог -6 -5 -4 -3
Процент 100 99 84 27
Итерация 3
Порог -8 -7 -6 -5 -4 -3
Процент 100 99 98 88 61 12
Итерация 4
Порог -10 -8 -7 -6 -5 -4 -3 -2
Процент 100 99 95 88 72 35 3 1
Порядок результата p^ = max (pi,p2).
Для выбора оптимальной! длины мантиссы необходимо определить ее минимальную длину, такую, что при сложении двух чисел не будет происходить потери точности. Для этого рассматриваем число с меньшей длиной мантиссы (значение, получаемое на предыдущей итерации) как точное число, но с нулями в младших разрядах. Длина мантиссы, необходимая для исключения потери точности при проведении сложения/вычитания, будет определяться формулами:
t= max (t1 ,t2+| p1-p2l) (5)
При наступлении переполнения мантиссу надлежит нарастить еще на 1 разряд, дабы избежать потери младшего либо старшего разряда. Компонент |pi — P2I - число разрядов, на которые сдвигается мантисса меньшего числа вправо. Этот компонент добавлен, чтобы избежать потери этих разрядов, округляемых при обычнои операции сложения.
Приведем пример: Пусть имеются два числа, 1.001 и 1.0001. Мантисса первого числа составляет 4 разряда, второго - 5 разрядов, порядки одинаковы. Пользуясь формулой (5) устанавливаем мантиссу в 5 разрядов и получаем итоговьш результат 2.0011. Стандартный же подход к вычислениям с учетом погрешности дал бы нам результат 2.001.
На основании формулы (5) составляем формулу пересчета порогового значения порядка в длины мантиссы в итерационном
значение процессе:
t = max (t
s v s-
1 delta + lps
-I- Рс1еИа1> (6)
В этом случае ^1 - это длина мантиссы на предыдущей итерации, tмta - длина мантиссы изменения вычисляемого значения коэффициента на текущеи итерации, при которой не происходит существенной потери точности, р^ - порядок значения на предыдущей итерации, как правило, равньш порядку начального значения, рМа - это порядок изменении. Длина мантиссы изменения, обычно, принимается равнои 1-3. Для начальной итерации ^ = ^ - это число ВЗЦ начального значения плюс некоторый запас (обычно 1-2 разряда).
Формула (6) предлагается в качестве основной формулы пересчета порогового значения порядка в значение длины мантиссы в итерационном процессе. Очевидно, что чем больше разница между порядками чисел, тем больше длина мантиссы результата, что следует из (5). Таким образом, при условии р1>р2 функция ^р2) будет убывающей.
Исследование эффективности метода
С целью определения эффективности метода был произведен ряд практических исследовании
применения вычислении с переменное точностью - с регулируемой длиной мантиссы, определяемой на каждои итерации вышеописанным способом. Ниже приводятся краткие результаты исследования применения предлагаемой методики для оценки коэффициентов модели полупроводникового диода [8, 9].
Для каждои группы задач с близкими исходными данными моделировалось 205 решении с фиксированием всех основных сведении по каждои итерации с мантиссой фиксированной длины, обусловленной итоговой точностью результата. На основе вычисляемых итерационных значении была составлена таблица конечных разностеи до четвертого порядка включительно. Затем для всех значении конечных разностеи было выполнено преобразование порядка р(х), возвращающее значение порядка.
Выше, на рис. 1 приведены диаграммы для порядков изменении на разных итерациях для второго коэффициента модели. Можно видеть малыи разброс порядка изменении на начальных итерациях и увеличивающиеся разброс порядка -на дальнейших итерациях. Распределение порядков значении дискретно, что значительно упрощает его анализ.
Далее составляем таблицу, где каждому значению порядка изменения сопоставляем число элементов, не превосходящих это значение, и процент, которыи такие элементы составляют от общего количества, как было описано выше (табл. 1 и 2) . В качестве рабочего порогового процента возьмем 90%. Затем рассчитаем длины мантисс по формуле (6) (табл. 4 и 5).
Таблица 4 - Расчёт длины мантисс для коэффициента
Итерация Рабочее значение порядка изменений на итерации Расчёт длины мантиссы Длина мантиссы
1 -4 max (2,1+11 - 4|) 4
2 -5 max (4,1+11 - 5|) 5
3 -6 max (5,1+|1 - 6|) 6
4 и далее -7 max (6,1+|1 - 7|) 7
Далее задаем стартовую длину мантиссы (мантиссу для начальных значении) в 2 разряда, порядок 1-го коэффициента - 1, второго - минус 7. Точность входных данных в данном эксперименте - 6 верно значащих цифр, определена точностью измерении. Исходя из этого, длину мантиссы можно ограничить семью разрядами. Следует отметить, что в программной реализации длина мантиссы может автоматически увеличиться в случае возникновения переполнения.
Таблица 5 - Расчёт длины мантисс для коэффициента
Для первой итерации длину мантиссы начальных значении! мы полагаем 2. Длину мантиссы изменении (число ВЗЦ) полагаем 1 (этот параметр рекомендуется увеличивать при увеличении порядка сходимости). Увеличение длины мантиссы прекращается, когда эта длина станет равной количеству ВЗЦ входных данных.
Для анализа эффективности метода было произведено 45 решении задачи определения параметров полупроводникового диода с применением мантисс в 20 разрядов, 10 разрядов, 7 разрядов, а также с мантиссой переменной длины, определяемой предложенным алгоритмом. Для компьютера с конфигурацией IntelPentiumCore i5, 4Gb RAM были получены решения задачи определения параметров полупроводникового диода, характеристики которых отражены в таблице 6.
Таблица 6 - Сравнительный анализ эффективности вычислений с использованием разных длин мантисс
Мантисса Число Затраченное
итерации время, с
t = 20 7 141
t = 10 7 79
t = 7 7 64
Мантисса 7 54
переменнои длины
Точность полученных решений! совпадает (определяется точностью исходных данных, однако время, затраченное на решение задачи, существенно отличается. Это говорит о существенной большеи скорости вычислении при использовании мантиссы переменной длины. Следует учесть, что расчеты производились для весьма простои модели. Чем сложнее будет оцениваемая модель, тем больше будет и получаемый выигрыш во времени. Кроме этого, в качестве программных средств использовалась
библиотека GMP и процессор общего назначения. При использовании же специализированных математических сопроцессоров во встраиваемых решениях, поддерживающих вычисления с мантиссои с переменной длины аппаратно, выигрыш во времени должен возрасти еще больше.
Следует отметить наличие
специализированных программных библиотек, позволяющих производить вычисления с мантиссои, меняющееся в ходе работы программы. Это, в первую очередь, библиотека GMP, которая используется в проектах на С++ и Python. Для встраиваемых решении в ряде случаев может быть рекомендована разработка специализированных высокоэффективных библиотек, оптимально реализующих вычисления с мантиссои переменной длины
Заключение
Проведенное исследование
продемонстрировало, что применение в итерационном процессе мантиссы, длина которой определяется по предложенному алгоритму, не ухудшает точности решения, но дает весомьш выигрыш в части экономии вычислительных ресурсов. Реализация таких вычислении имеет широкие возможности как в случае единичного и мелкосерийного производства целевых изделии в программируемых логических интегральных схемах, так и в случае массового производства устройств в интегральных схемах специального назначения — математических сопроцессорах, поддерживающих вычисления с мантиссои переменной длины. Общая цена устройства при этом снизится, что может быть важным фактором для таких областей, как, например, разработка самонаводящихся реактивных снарядов, беспилотных летательных аппаратов и т. п.
Статистический анализ порядков изменении итерационных приближении при определении параметров смоделированных систем может дать информацию не только для реализации вычислении с мантиссои переменной длины при определении параметров конкретной системы. Такои анализ, в частности, позволяет также увидеть разброс изменении значении вектора оцениваемых параметров при итерационном процессе, выявить количество случаев, приводящих к слишком медленной сходимости, и помочь в грамотном выборе параметров итерационного процесса.
Итерац Рабочее Расчёт Длина
ия значение порядка изменении на итерации длины мантиссы мантиссы
1 -7 max(2,1+|-7 +7|) 2
2 -7 max(2,1+|-7 +7|) 2
3 -8 max(2,1+|-7 +8|) 2
4 -9 max(2,1+|-7 +9|) 3
5 -9 max(3,1+|-7 +9|) 3
6 -10 max(3,1+|-7 +10|) 4
7 и -12 max(4,1+|-7 +12|) 6
далее
Литература
1. Bard J. Nonlinear Parameter Estimation. New York: Academic Press, 1974, 341p.
2. Englezos P., Kalogerakis N. Applied Parameter Estimation for Chemical Engineers. Boka-Raton: CRC Press, 2000, 460 p.
3. Петров М. Н., Гудков Г В. Моделирование компонентов и элементов СБИС: Учебное пособие. Великии Новгород: НовГУ им. Ярослава Мудрого, 2006, 584с.
4. McLachlan G. J., Peel D. Finite Mixture Models. New York: Wiley, 2000, 419p.
5. Higham N. J. Accuracy and stability of numerical algorithms. Philadelphia: Society for Industrial and Applied Mathematics, 1996, 675 p.
6. Jonathan Richard Shewchuk Adaptive Precision Floating-Point Arithmetic and Fast Robust Geometric Predicates // Discrete & Computational Geometry. 1997. №18(3). Pp. 305-363.
7. Гриневич А. И. Метод оценки погрешности округлении! значении! вычисляемои функции, основанныи на варьировании длины мантиссы в арифметике с плавающеи запятои. Диссертация на соискание ученои степени кандидата физико-математических наук. Москва: МФТИ, 2013.
8. Васильев И. С., Попов С. А. Оценивание SPICE-параметров с заданной точностью // Вестник Новгородского Государственного Университета. 2014. №1.81. С. 20-22.
9. Васильев И. С., Попов С. А. Метод экстракции параметров ИС и расчет их статистических характеристик // IV Международная заочная научно-техническая конференция «Информационные технологии. Радиоэлектроника. Телекоммуникации (ITRT-2014). Тольятти, 2014.
10. Cramer H. Mathematical Methods of Statistics. Princeton, New Jersey: Princeton University Press, 1946, 575с.
11. Воеводин B. B. Вычислительные основы линеинои алгебры. М.: Наука, 1977. 304 с.
12. Годунов С. К. и др. Гарантированная точность решения систем линеиных уравнении в евклидовых пространствах. Новосибирск: Наука, 1988, 456с.
References
1. Bard J. Nonlinear Parameter Estimation. New York: Academic Press, 1974, 341p.
2. Englezos P., Kalogerakis N. Applied Parameter Estimation for Chemical Engineers. Boka-Raton: CRC Press, 2000, 460 p.
3. Petrov M. N., Gudkov G. V. Modelirovanie komponentov i elementov SBIS: Uchebnoe posobie [IC components and elements modelling: coursebook]. Novgorod State university, 2006, 584p..
4. McLachlan G. J., Peel D. Finite Mixture Models. New York: Wiley, 2000, 419p.
5. Higham N. J. Accuracy and stability of numerical algorithms. Philadelphia: Society for Industrial and Applied Mathematics, 1996, 675 p.
6. Jonathan Richard Shewchuk Adaptive Precision Floating-Point Arithmetic and Fast Robust Geometric Predicates // Discrete & Computational Geometry. 1997. №18(3). Pp. 305-363.
7. Grinevich A. I. Metod otsenki pogreshnosti okruglenii znachenii vychislyaemoi funktsii, osnovannyi na var'irovanii dliny mantissy v arifmetike s plavayushchei zapyatoi. Diss. kand. fiziko-matematicheskikh nauk [Method of counted function rounding error estimation, based on mantissa length changing using floating-point arithmetics. PHd in Physics & Mathematics diss.]. Moscow, MFTI, 2013.
8. Vassiliev I. S. Popov S. A. Otsenivanie SPICE-parametrov s zadannoi tochnost'yu [SPICE-parameter estimation with given accuracy]. Vestnik Novgorodskogo Gosudarstvennogo Universiteta 2014. №1.81. С. 20-22.
9. Vassiliev I. S. Popov S. A. Metod ekstraktsii parametrov IS i raschet ikh statisticheskikh kharakteristik [Method of IS parameter extraction and their statistical characteristics estimation]. IVMezhdunarodnaya zaochnaya nauchno-tekhnicheskaya konferentsiya «Informatsionnye tekhnologii. Radioelektronika. Telekommunikatsii (ITRT-2014) [Proc. of IV International Extramural science-technic conference "Informational technologies. Radioelectronics. Telecommunications. (ITRT-2014)"], Togliatti, 2014.
10. Cramer H. Mathematical Methods of Statistics. Princeton, New Jersey: Princeton University Press, 1946, 575p.
11. Voevodin V. V. Vychislitel'nye osnovy linejnoj algebry [Calculation basis of linear algebra].Moscow, Nauka Publ., 1977. 304p.
12. Godunov S. K. et al. Garantirovannaja tochnost' reshenija sistem linejnyh uravnenij v evklidovyh prostranstvah [Guaranteed accuracy of linear equation systems solving in Euclidean fields]. Novosibirsk, Nauka Publ., 1988, 456p.
Поступила: 24.03.2017
Сведения об авторах:
Васильев Илья Сергеевич, дипломированный инженер, аспирант, ЗАО «ЭЛСИ», Великий Новгород, mksd@ list, ru
Жгун Татьяна Валентиновна, кандидат физико-математических наук, доцент, Новгородский государственный университет им. Ярослава Мудрого, Великий Новгород, [email protected]
Note on the authors:
Vassiliev Ilia, Sophisticated Engineer, PhD student, ZAO ELSI, [email protected]
Zhgun Tatjana, Candidate of Physical and Mathematical Sciences, Associate Professor, Novgorod State University, [email protected]