BC/NW 2015  1 (26) 2:5

 

ПРИМЕНЕНИЕ УНИВЕРСАЛЬНЫХ ПРЕДСТАВЛЕНИЙ ЧИСЕЛ ДЛЯ ПОВЫШЕНИЯ ДОСТОВЕРНОСТИ  ВЫЧИСЛЕНИЙ

Ермилов  С.И.

 

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

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

В 2014 году был предложен такой подход к вычислениям, основанный на универсальном представлении чисел (УПЧ) или universal numbers[2].

Определение. УПЧ – это множество объектов {s,e,m,u,es,fs}, где s – знак числа, равный нулю или единицу, e – порядок числа со знаком, m – мантисса без знака, u – бит неопределённости, es – размер экспоненты в битах, fs - размер мантиссы в битах.

Определение. Подмножество {s,e,m} называется значением УПЧ.

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

УПЧ с битом неопределённости u, равным нулю, представляет собой точное рациональное число.

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

Подробное описание УПЧ приведено в [2]

Рассмотрим пример использования УПЧ для нахождения скалярного произведения векторов.

Пусть есть два вектора X и Y.

,

Вычислим скалярное произведение векторов с помощью чисел с одинарной точностью, чисел с двойной точностью и УПЧ (es = 8; fs = 25) при alpha = 0.   В табл. 1 представлена зависимость результата от коэффициента betta

Табл.1

Результаты эксперимента

 

Число с одинарной точностью

Число с двойной точностью

УПЧ

0….8

8779

8779

(8778; 8778)

9

8781

8779

(8778; 8778)

10

8765

8779

(8776; 8781)

11

8392

8779

(8778; 8778)

12

6272

8779

(8748; 8797)

13

6144

8778

(8630; 9026)

14

8192

8778

(6240; 12512)

15

65536

8780

(6240; 8778)

 

Из табл. 1 видно при повышении betta результаты начинают откланяться от исходного значения  при использовании чисел с одинарной и двойной точностью, и также нельзя иметь уверенность в достоверности результата. При использовании УПЧ видно, что результат вычисления представляет собой интервал между двумя значениями, причем  точный результат вычисления всегда лежит в получаемых интервалах. Нужно отметить, что в данном эксперименте максимальный размер мантиссы и экспоненты УПЧ гораздо меньше соответствующего размера чисел с двойной точностью. Если увеличить размеры УПЧ длина достоверного интервала будет соответственно уменьшаться.

Перспективным направлением развития УПЧ является разработка аппаратной платформы данного типа вычислений.

 

Список литературы

1)    Bailey D. H. High-precision floating-point arithmetic in scientific computation //Computing in science & engineering. – 2005. – Т. 7. – №. 3. – С. 54-61.

2)    Gustafson J.L. The End of Error. Unum Computing — 2015.— ISBN 9781482239867.