Кіріспе

Сандарды дөңгелектеуден туындаған есептеу қатесі, акробатикалық қозғалыстағы дөңгелектеу сияқты.

Есептеу техникасында дөңгелектеу қатесі, сондай-ақ дөңгелектеуден туындаған қате, нақты арифметиканы қолданатын алгоритмнің нәтижесі мен шектеулі дәлдіктегі, дөңгелектелген арифметиканы қолданатын сол алгоритмнің нәтижесі арасындағы айырмашылықты білдіреді. Дөңгелектеу қателері нақты сандарды көрсетудегі және олармен орындалатын арифметикалық амалдардың дәлдігінің жетіспеуінен туындайды. Бұл кванттау қателігінің бір түрі. Жақындастық теңдеулерді немесе алгоритмдерді қолданғанда, әсіресе нақты сандарды көрсету үшін шектеулі мөлшердегі цифрларды пайдаланғанда (теория бойынша олар шексіз көп цифрға ие), сандық талдаудың мақсаттарының бірі – есептеу қателерін бағалау болып табылады. Есептеу қателері, сондай-ақ сандық қателер деп те аталады, кесу қателері мен дөңгелектеу қателерін қамтиды. Егер кірісте дөңгелектеу қатесі бар есептер тізбегі орындалса, қателер жинақталуы мүмкін, кейде есептеудің нәтижесіне үлкен әсер етеді. Жағдайлардың нашар болуы салдарынан маңызды қателер жинақталуы мүмкін. Қысқасы, сандық есептеулерде дөңгелектеу қателерінің екі маңызды аспектісі бар: Компьютерлердің сандардың шамасын және дәлдігін көрсету мүмкіндігі табиғи түрде шектеулі. Кейбір сандық амалдар дөңгелектеу қателеріне өте сезімтал. Бұл математикалық тұрғыдан да, компьютерлердің арифметикалық амалдарды орындау тәсілінен де туындауы мүмкін.

Өңдеу қатесі

Санды шекті цифрлар тізбегі арқылы көрсетуге тырысу кезінде туындайтын қате – бұл дөңгелектеу қатесінің бір түрі, оны көрсету қатесі деп атайды. Ондық көрсетудегі көрсету қатесінің мысалдары:

Notation Representation Approximation Error1/7 0. 0,142 857 0,000 000 ln 2 0,693 147 180 559 945 309 41 0,693 147 0,000 000 180 559 945 309 41 log10 2 0,301 029 995 663 981 195 21 0,3010 0,000 029 995 663 981 195 21 1,259 921 049 894 873 164 76 1,25992 0,000 001 049 894 873 164 76 1,414 213 562 373 095 048 80 1,41421 0,000 003 562 373 095 048 80 e 2,718 281 828 459 045 235 36 2,718 281 828 459 045 0,000 000 000 000 000 235 36 π 3,141 592 653 589 793 238 46 3,141 592 653 589 793 0,000 000 000 000 000 238 46

Көрсетуде рұқсат етілген цифрлардың санын арттыру дөңгелектеу қатесінің мүмкін шамасын азайтады, бірақ шекті сандағы цифрлармен шектелген кез келген көрсету, санауға келмейтін көптеген нақты сандар үшін қандай да бір дәрежеде дөңгелектеу қатесін тудырады. Есептеудің аралық қадамдарында қолданылатын қосымша цифрлар күзет цифрлары деп аталады. Дөңгелектеуді бірнеше рет орындау қателердің жиналуына әкелуі мүмкін. Мысалы, егер 9,945309 екі ондық орынға дейін (9,95) дөңгелектелсе, содан кейін бір ондық орынға дейін (10,0) дөңгелектелсе, жалпы қате 0,054691 болады. 9,945309 бір қадамда бір ондық орынға дейін (9,9) дөңгелектеу қателікті азайтады (0,045309). Мұндай жағдай, мысалы, бағдарламалық құрал x86 80 биттік қалқыма нүкте арифметикасын орындағанда, содан кейін нәтижені IEEE 754 бинарлық 64 қалқыма нүктеге дөңгелектегенде туындауы мүмкін.

Жылжымалы нүктелі сандық жүйе

Белгілі нүктелі сандық жүйемен салыстырғанда, қозғалмалы нүктелі сандық жүйе нақты сандарды көрсетуде тиімдірек, сондықтан ол қазіргі заманғы компьютерлерде кеңінен қолданылады. Нақты сандар шексіз және үздіксіз болғанымен, қозғалмалы нүктелі сандар жүйесі шекті және дискретті. Осының салдарынан, дөңгелектеу қатесіне алып келетін көрсету қатесі қозғалмалы нүктелі сандар жүйесінде туындайды.

Нормалдастырылған жылжымалы сандық жүйе

Жылжымалы нүктелік сандар жүйесі қалыпқа келтірілген деп есептеледі, егер сан нөл болмаса, онда жетекші цифр әрқашан нөлден өзге болады. Екі жылжымалы нүктелік санды қосу олардың қосындысы екі саның үлкенінен бірнеше есе үлкен болған жағдайда дөңгелектеу қатесін тудыруы мүмкін. Мысалы, негізі және дәлдігі бар қалыпқа келтірілген жылжымалы нүктелік сандар жүйесін қарастырайық. Бірақ, онда дөңгелектеу қатесі бар. Мұндай қате бір операцияда сіңіру қатесімен бірге туындауы мүмкін.

Көбейту

Жалпы, екі p цифрлік мағыналы бөліктің көбейтіндісінде 2p цифрға дейін болуы мүмкін, сондықтан нәтиже мағыналы бөлікке сыймауы мүмкін. Мысалы, "көзге көрінетін" әдіспен есептеу, екі ұқсас шаманы шығару кезінде туындайтын үлкен қатеге байланысты шамасына жақын тұрақсыз болады, ал эквивалентті өрнек тұрақты.

Жаман шартталған проблемалар

Тіпті тұрақты алгоритм қолданылса да, мәселенің шешімі әлі де дәл болмауы мүмкін, өйткені мәселе өзі нашар шартталған болса, дөңгелектеу қатесі жинақталады. Мәселенің шарт саны – бұл шешімдегі салыстырмалы өзгерістің, кірістік мәліметтердегі салыстырмалы өзгеріске қатынасы. Егер кірістік мәліметтердегі шағын салыстырмалы өзгерістер шешімдегі шағын салыстырмалы өзгерістерге алып келсе, онда мәселе жақсы шартталған. Әйтпесе, мәселе нашар шартталған болып есептеледі. Басқаша айтқанда, мәселенің шарт саны 1-ден әлдеқайда үлкен болса, онда мәселе нашар шартталған. Шарт саны нашар шартталған мәселелерді шешу кезінде туындауы мүмкін дөңгелектеу қатесінің өлшемдерін анықтау үшін енгізілген.