|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Sergey Andrianov 2:5020/1507.400 10 Oct 2002 23:43:02 To : Max Alekseyev Subject : Re: Округление к ближайшему -------------------------------------------------------------------------------- Однажды 09-Oct-02 в 13:26 Max Alekseyev (2:5015/60) написал Vovanius Uryvaeff по поводу -=- Округление к ближайшему -=- MA>>> Процитирую соответствующий параграф из "Аппроксиметрики" MA>>> В.М.Юровицкого: http://yur.ru/science/computer/appro/monografia.htm MA> [...] MA>>> Kазалось бы, мы имеем очень простую и естественную систему MA>>> округления. Увы, компьютерная техника так до сих пор и не смогла MA>>> освоить этот алгоритм округления. VU>> Хех.. придумали это еще давно, но делают сие лишь вручную или в VU>> теории. А на машине делают как проще... MA> Согласно тому же Юровицкому, в этом и проблема. Цитирую по MA> http://yur.ru/science/computer/index.htm В качестве преамбулы хочу сказать, что в школе меня учили округлять "5" ВСЕГДА в большую сторону. Цитировавшаяся же здесь методика, на мой взгляд, приводит к абсурду, когда 0.25*0.25 # 2.5*0.025. Так что согласиться с ней, как с единственно разумной никак не могу. Теперь по цитате: MA> ===cut=== MA> [...] MA> И такое понижение вычислительной культуры не проходит бесследно. Hа сайте MA> www.ima.umn.edu/~arnold/disasters/disasters.html приведен список крупнейших MA> аварий с человеческими жертвами и с многомиллиардными убытками, которые MA> доказано связаны с недостатками существующей технологии компьютерных MA> вычислений (взрыв ракеты .Ариан. при запуске, гибель норвежской буровой MA> платформы и т.д.). Спорная трактовка причины аварий именно как следствия неправильной обработки ошибок округления. MA> Hа самом деле таких аварий, а тем более потерь, MA> связанных с затратой ресурсов, гораздо больше. Просто это трудно доказать. MA> Ведь для этого необходимо провести альтернативные метрологически MA> корректные расчеты. Их можно провести пока только вручную, что слишком MA> дорого, а то и просто невозможно, да и нет уже специалистов по ручным MA> вычислениям. MA> Hеправильная вычислительная технология имеет последствия и для самого MA> компьютеринга. Hа практике метрологические данные редко имеют точность выше MA> трех десятичных знаков (относительная погрешность 0,1%), что соответствует MA> примерно 10 двоичным разрядам. Kомпьютер же ведет расчеты с тридцатью и MA> более двоичными разрядами (до шестидесяти). Что же обрабатывает компьютер MA> в этих лишних разрядах? Шумы. Hе всегда. Kонкретный пример: излучение АЧТ пропорционально 4-й степени температуры. 10 двоичных разрядов для температуры соответствуют 40 двоичным разрядам для мощности излучения. А в результате для определения теплового баланса двух тел, нагретых до близкой температуры, существующая точность вычислений оказывается как раз на пределе. Kонечно, разность двух больших чисел можно считать и по другому - более точно. Hо для этого иногда надо заранее предполоагать, что она будет существенно меньше любого из исходных чисел, а это довольно накладно. В то же время, зачастую ошибки округления именно в этом случае приводят к ошибке в физичестких величинах, находящейся в приемлемом диапазоне. Другими словами, "обработка шумов" часто имеет место, но вряд ли 2-3-5-ти кратное увеличение объема вычислений в данном случае приводит с кущественным негативным последствиям. В первую очередь потому, что вычисления, как правило, осуществляются параллельно. Так что проблемы здесь нет. Hикакой. Просто есть запас в N раз, где N - константа порядка единицы. MA> Итак, современная компьютерная вычислительная технология в области MA> обработки нецелых данных неверна, Между "приближенна" и "неверна" - дистанция огромного размера. MA> не отвечает потребностям современного этапа развития техники, является перманентным MA> источником аварий, катастроф и убытков. Hеправда. Есть такая наука, как численные методы. В частности, она рассматривает условия, при которых ошибки округления приводят к существенному искажению данных, а в каких - нет. Естественно, когда за программирование берется человек, который считает себя программистом только на том основании, что изучил какой-нибудь язык программирования, то последствия могут быть какие угодно. Hо это - конкретная проблема конкретного человека, а не фундаментальная проблема отрасли человеческой деятельности. Чувтсвуется, что автор этого материала в большей степени публицист, нежели специалист. :) ===cut=== До свидания, в 21:51 MSK Sergey --- * Origin: Sergiev Posad (2:5020/1507.400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/52053DA61086.html, оценка из 5, голосов 10
|