рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Недостатки числового представления и рациональной вычислительной технологии

Недостатки числового представления и рациональной вычислительной технологии - раздел Информатика, О компьютерной «вычислительной катастрофе» Представление, Запись Рационального И Приближенного Числа Совершенно Одинаков...

Представление, запись рационального и приближенного числа совершенно одинаковы. Например, число 1.345 в прошедшей числовой эпохе воспринималось как приближенное, а в современной – как рациональное. Какая же между ними разница? А разница громадная. Дело в том, что если число 1.345 воспринимается как рациональное число, то числа 1.3450, 1.34500, 1.345000 есть просто разные записи одного и того же рационального числа. Но если число 1.345 есть приближенное, то числа 1.3450, 134500, и все подобные являются уже разными приближенными числами. И это является важнейшим фактором. Можно сказать, что величайшим несчастьем для всей вычислительной культуры явился тот факт, что для представления приближенных чисел не использовалась метка, которая позволяла бы сразу же отличать приближенные числа от рациональных. Мы предлагаем исправить этот недостаток и использовать специальную метку в виде апострофа, который размещается сразу же за значащими разрядами приближенного числа. Если же никаких помет нет, то будем считать, что это есть рациональное число. Так, число 123.5’ есть приближенное число. В принципе его можно записать и в виде 1235Е-1’, и в виде 0.1235Е3’. А запись 123.5 считать рациональным числом, которое может быть также записано в виде 123.500000 или 123500000Е-6 и т.д..

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

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

Решим задачу 1.234’ * 9.875’. На основе «Правил приближенных вычислений» получаем результат: 1.234’ * 9.875’ = 12.2’.

А теперь решим задачу на множестве рациональных чисел. Получаем:
1.234 * 9.875 = 12,18575. Легко видеть, что это различные результаты. В рациональном результате отличны 5 разрядов от результата приближенных вычислений.

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

Решим еще одну задачу. На множестве приближенных чисел 12.338’ / 9.7’ = 1.3’. Аналогичная задача на множестве рациональных чисел дает (решаем на калькуляторе MS WINDOWS): 12.338 / 9.7 = 1.2719587628865979381443298969072. Легко видеть, насколько различны результаты операций. Более того, отсюда же видна еще одна принципиальная разность между исчислением приближенных и рациональных чисел. Исчисление приближенных чисел однозначно. Т.е. действия с одинаковыми числами дают результат, не зависящий от того, кто, где и когда их осуществлял. Правда, последовательность операций может приводить к разным результатам в зависимости от порядка исполнения операций. Математика приближенных чисел неассоциативна. Но отдельные операции всегда определены.

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

И вопрос о том, какие из этих результатов «верны» бессмыслен. Оба верны в своей системе представлений. Но можно поставить вопрос: а какие из них более адекватны запросам практики. Ведь конечная цель компьютерных расчетов вовсе не сами вычисления, а получения информации, на основе которой можно предпринимать определенные действия или решения.

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

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

Сразу же, рассматривая результат, мы видим, что результат получен с точностью 3 разряда и для его проверки достаточно иметь прибор класса 0.01 или 0.005. Это вполне нормальные приборы, имеющие относительную точность один или пол процента.

Для того, чтобы оценить адекватность вычислений в идеологии рациональных вычислений, как легко видеть, нам нужно иметь прибор класса 0.0000001. Такой прибор, может быть и можно найти в каком-нибудь метрологическом институте, в котором хранятся и создаются эталоны и эталонные измерительные приборы, но уж на обычном производстве таких приборов, конечно быть не может. Ведь стоимость его может во много раз превышать стоимость самого производства, в котором измеряется данная величина. А кроме того, такая точность просто и не нужна. Но и самое главное, даже если мы и найдем прибор требуемого класса точности, то можем ли мы гарантировать, что показанный им отсчет совпадет с результатом вычислений? Конечно, нет. Если мы знаем исходные величины с точностью четыре разряда, то как можно предполагать, что из это можно узнать жестко скоррелированную с ними величину с точностью до седьмого разряда? И наш опыт, и наука об измерениях – метрология – говорят, что нельзя. Другими словами, шансов на то, что поверяемая величина совпадет с расчетной, практически нет, а совпадение может быть только случайным.

Но если это так, то отсюда следует простой вывод: вычисления в системе рациональных чисел НЕВЕРНЫ. Действительно, если они не совпадают с независимо проводимой поверкой, то можно это назвать только так. Иногда, правда, используют более мягкую формулировку «недостоверны». Но, думается, надо ставить все точки над «и» и говорить о том, что числовые расчеты с использованием представления рационального числа НЕВЕРНЫ. Они неверны не с точки зрения самой математики. Они неверны с точки зрения того, кто заказывает (и оплачивает) производство расчетов, с точки зрения их потребителя. А то, что они верны с точки зрения математика – то это не может играть никакой роли, ибо «потребитель всегда прав».

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

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

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

Пусть даны два вещественных вектора x и y:x = (1020, 1223, 1018, 1015, 3,−1012), y= (1020, 2,−1022, 1013, 2111, 1016).Обозначим скалярное произведение x и y через x * y (соответственные элементы перемножаются и эти произведения складываются). В точной целочисленной арифметике имеем: x * y = 1040 + 2446 1040 + 1028 + 6333 1028 = 8779. Однако арифметика чисел с плавающей точкой на любом современном компьютере (включая те, на которых арифметика реализована в соответствии со стандартом IEEE 754 даст для такого скалярного произведения нулевое значение

Что отсюда следует? А следует, что расчеты на современном компьютере в идеологии рационального числа, осуществляемые в соответствии со стандартом IEEE 754, могут приводить уже к АБСОЛЮТНО неверным результатам, т.е. вообще не содержащим даже хоть как-то похожего числа. Правда, можно спросить, а что в этом случае дадут приближенные вычисления. Ответим, НИЧЕГО. Здесь нет приближенных чисел, потому и считать по технологии приближенных вычислений здесь нечего. Это же только в идеологии рационального числа целые числа есть подмножество рациональных, и потому обрабатывать целые числа можно и процессором целых, и процессором рациональных чисел.

Фактически, это катастрофа. Катастрофа современного компутинга. Ее еще можно назвать «рациональной катастрофой». Ведь если нынешние компьютерные вычисления могут при соответствующих стандартам настройках компьютера приводить к неверным результатам, то такое устройство по всем правилам должно быть НЕМЕДЛЕННО запрещено к использованию. Если с помощью компьютеров прокладываются трассы самолетов, рассчитываются сами самолеты, мосты, аквапарки, то где гарантия, что эти расчеты не содержат фатальных ошибок. Таких гарантий нет. И это не только мой вывод.

Постепенно у критически настроенных исследователей все чаще стал возникать вопрос, вынесенный в заголовок обобщающей статьи немецкого математика проф. К. Никеля: «Can we trust the results of our computing?» («Можем ли мы доверять результатам наших вычислений?») [2]. Действительно, беспристрастный анализ традиционного подхода к численным вычислениям и соответствующего инструментария (алгоритмов, языков программирования и аппаратного обеспечения), проведенный специалистами в области вычислительной математики, привел к неутешительному выводу о том, что алгоритм, сформулированный в столь привычных нам терминах, попросту недоопределен и потому обладает, вообще говоря, непредсказуемыми свойствами. (На одной из крупных научных конференций ректор Технического университета Вены проф. П. Скалички наполовину с юмором, а наполовину всерьез заявил, что с тех пор, как подробнее узнал о принятых способах выполнения машинных вычислений, очень опасается ходить по мостам и оказываться внутри других сложных инженерных сооружений…)

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

Это действительно катастрофа, всего объема которой мы пока не поняли. Причина в том, что даже если и есть основания подозревать в тех или иных авариях и катастрофах компьютер, то у нас нет средств выяснить это. Ни целочисленным, ни ручным счетом проверить работу современного компьютера невозможно. Современный компьютер НЕПРОВЕРЯЕМ. Мы должны ему только полностью и абсолютно довериться. А все катастрофы и аварии лучше всего относить на «человеческий фактор».

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

Дуглас Н.Арнольд, директор Института математики и ее применений в Минеаполисе, США [4] утверждает, что целый ряд крупнейших аварий с человеческими жертвами и миллиардными убытками всецело обязан нынешней технологии компьютерных вычислений.

«Некоторые катастрофы, связываемые с неправильными числовыми вычислениями:

Взрыв ракеты "Пэтриот» в Саудовской Аравии 25 февраля 1991, который привел к гибели 28 человек, связан с ошибками. округления.

Взрыв ракеты Ариан-5 сразу после старта при ее первом испытании во Французской Гвиане 4 июня 1996 был следствием переполнения числовой сетки компьютера.

Слейпнер, оффшорная платформа в Гандсфиорде около Ставангера в Норвегии, затонула 23 августа 1991, что привело к убытку почти в один миллиард долларов. Это, как предполагается, было результатом inaccurate finite element analysis»» – Перевод автора».

– Конец работы –

Эта тема принадлежит разделу:

О компьютерной «вычислительной катастрофе»

На сайте allrefs.net читайте: "О компьютерной «вычислительной катастрофе»"

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

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Слово и число
Слово и число – вот краеугольные камни, на которых зиждется все здание человеческой цивилизации. Слово прямо указано в этой ипостаси Библией: «Вначале было Слово. И Слово было от Бога.

Институция числа. Числовые и вычислительные эпохи
В процессе цивилизационного развития человечество решало все новые и новые задачи, и в соответствии с этим требовалось развитие институции числа. Можно выделить ряд числовых и вычислительн

Достоверные» вычисления
Осознание неадекватности и даже неверности нынешней вычислительной технологии привело к появлению новой компьютерной вычислительной технологии, так называемых «достоверных» вычислений. В системе до

Критика технологии «достоверных» вычислений
Но является ли технология «достоверных» вычислений адекватной потребностям практики? Увы, можно твердо утверждать, что «достоверные» вычисления – мертворожденная технология. Она некорректн

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги