Nisbiy xatolik
– bu sonning absolyut xatoligiga aniq qiymatining nisbati:
.
/
)
(
)
(
X
x
x
Ma’lumki, amaliyotda
X
– aniq qiymat ko‘p hollarda noma’lum
bo‘ladi. Shuning uchun hisoblashlarda bu formula ushbu
x
x
x
/
)
(
)
(
tenglik
bilan almashtiriladi. Nisbiy xatolik ba’zida foizlarda o‘lchanadi, ya’ni
x
x
x
/
)
(
)
(
%
100
. Nisbiy xatolik uchun ham
x
–
chegaraviy nisbiy xatolik
tushunchasi
x
x
x
x
x
X
x
x
x
/
/
/
)
(
)
(
yoki
x
x
x
x
X
x
x
kabi mavjud, chunki
x
x
x
/
. Natijaning aniqligini uning nisbiy xatoligiga
nisbatan xarakterlash ma’qul. Masalan, 1) π = 3,14 (π = 3,14159265...) uchun
(π) =
0,0016 va
(π) = 0,0016/3,14 = 0,0005 yoki 0,05%. Shuning uchun tadqiqotchilar
22
hisoblashlarda verguldan keyingi ikkita ma’noli raqam bilan cheklanishadi. 2)
l
=
256795 va
(
l
)= 1 ekanligi ma’lum, demak
(
l
) = 0,0000039 yoki 0,00039%. Bunda
(π) <<
(
l
) bo‘lishiga qaramasdan
l
son π songa nisbatan aniqroq aniqlangan.
Mashina hisobi xatoligi.
Masalani ShEHM da yechishning xatoliklari uch
turga bo‘linadi: kesish xatoligi; tarqatish xatoligi; yaxlitlash xatoligi.
Kesish xatoligi
boshlang‘ich ma’lumotlarni aniqlash sababida yuzaga keladi.
Masalan, masalaning shartida qaysidir parametrlar berilgan bo‘lsa, amaliyotda
haqiqiy obyekt uchun bu parametrlar biror aniqlik bilan aniqlangan bo‘lishi mumkin.
Xuddi shunday, ixtiyoriy fizik parametrlar, hisob formulasi va ularga kiruvchi sonli
koeffisiyentlarning noaniqligi ham.
Tarqatish xatoligi
masalani yechish uslubini qo‘llashdagi hisoblashlar
natijasida (arifmetik amallarning xarakteri va sonidan bog‘liq yig‘ilgan xatoliklar)
yuzaga keladi. Masalan, chiziqli algebraik tenglamalar sistemasini Gauss yoki
Kramer usuli bilan yechsak, nazariy jihatdan har ikkala usul ham aniq javobni
beradi, ammo tenglamalar sistemasi kattalashganda Gauss usuli Kramer usuliga
qaraganda kamroq xatolik beradi (hisoblashlar hajmi kamroq bo‘lganligi sababli).
Yaxlitlash xatoligi
sonning haqiqiy qiynatini kompyuter xotirasida aniq saqlab
qolishning imkoniyati yo‘qligidan yuzaga keladi.
Butun son
ning mashina xotirasida saqlanishini quyidagicha izohlaylik: masalan,
5 + 7 = 12; 8 – 27 = - 19; 27
3 = 81; 1 / 3 = 0; 4 / 2 = 2; 7 / (-3) = -2 (butun
sonlarni bo‘lishda natijaning butun qismi olinadi, qoldiq tashlab yuboriladi) va
hokazo. Agar butun sonlar ustida bajarilgan amallarning natijasi juda ham katta yoki
juda ham kichik bo‘lsa, u holda kompyuter xotirasidagi natijaning oqibatini oldindan
aytib bo‘lmaydi. Bunday holda kompyuter ba’zan xato haqida ma’lumot beradi va
hisoblashni to‘xtatadi, ba’zan esa siklik qoidaga ko‘ra natija biror songa almashtirib
ketiladi va xatoni ko‘rsatmasdan hisoblashlar davom etaveradi. Agar hisoblash
natijasi kompyuter xoturasining sonli chegarasidan chiqib ketsa, u holda bunday
natijaga ishonib bo‘lmaydi. Bu qoidalar ikkilik arifmetikada ham o‘rinli. Butun son
modulining 32 razryadli (ulardan bittasi ishoraga ajratiladi) kompyuterdagi standart
formatda yozilishining eng yuqori chegarasi 2
31
– 1
2
109
2147483647 va eng
quyi chegarasi –2
31
. Demak, hisoblashlar natijasi ana shu chegaradan oshmasa uni
aniq deb hisoblash mumkin. Agar hisob natijasi moduli shu chegaradan oshsa, u
holda mashina moduli shu chegaradan kichik biror sonni olib, keyingi hisoblashlarni
davom ettiradi.
Haqiqiy son
ning mashina xotirasida saqlanishini quyidagicha izohlaylik:
masalan,
π
= 3,14159... va
e
= 2,71828... irratsional sonlarning ma’noli raqamlari
soni mantissaga ajratilgan razryadlar sonidan oshib ketadi, bu kompyuter xotirasida
berilgan sonlar ma’lum ma’noda aniq ifodalanmaydi, ya’ni oxirgi ma’noli raqam
yaxlitlanib yoziladi yoki son cheksiz emas, balki chekli ratsional shaklga keltiriladi,
degani. Shuning uchun ShEHMda yechilayotgan har qanday masalaning kiruvchi
23
parametrlari, oraliq natijalari va oxirgi javobi har doim kompyuterning xotirasi
doirasida yaxlitlanadi. Ana shu hol sonning ShEHMda ifodalanish
diapazoni
tushunchasi bilan bog‘liq.
ShEHMning xotira qurilmasi
r
ustivor holatga ega bir xil turdagi fizik
qurilmalar joylashtirilishi asosida tuzilgan bo‘lib, bu qurilmalarning har biriga bir xil
k
(son yozilishi uchun ajratilgan razryadlar soni) ta element mosligi qo‘yiladi.
Tartiblashtirilgan elementlar mashina so‘zining razryad to‘rini hosil qiladi: har bir
razryadda 0,1, ...,
r
–1 (
r
– sanoq sistema asosi) bazis sonlardan birortasi yozilgan
bo‘ladi va maxsus razryadda esa «+» yoki «–» ishora yoziladi. Fiksirlangan vergulli
sonni yozishda
r
(sanoq sistema asosi) va
k
(son yozilishi uchun ajratilgan razryadlar
soni)dan tashqari
l
(sonning kasr qismi uchun ajratilgan razryadlar soni) parametrlar
ko‘rsatiladi. Demak,
x
musbat haqiqiy son quyidagi chekli ketma-ketlikda
ifodalanadi:
x
=
1
r
k-l
-1
+
2
r
k-l
-2
+ ... +
k-l
r
0
+
k-l
+1
r
-1
+ ... +
k-
1
r
-(
l-
1)
+
k
r
-l
,
bu yerda
l
{0; 1; ...;
r
–1}.
Sonning bunday ko‘rinishda ifodalanish
diapazoni
barcha razryadlardagi eng
katta raqamlar soni bilan aniqlanadi, ya’ni eng kichik –(
r
–1)(
r
–1)...(
r
–1) dan eng
katta (
r
–1)(
r
–1)...(
r
–1) gacha, ifodalinishning absolyut aniqligi esa yaxlitlash
uslubidan bog‘liq baholashdir. Eng ko‘p tarqalgan pozitsion sanoq sistemalar 2, 8,
16. Barcha kompyuterlar xotirasida son ikkilik sanoq sistemada ifodalanib saqlanadi.
Bu ustivor hol 0 yoki 1 («o‘chirildi» yoki «ulandi»).
Fiksirlangan vergulli haqiqiy son
ning absolyut xatoligi diapazonning ixtiyoriy
qismida bir xil. Nisbiy xatolik esa son nolga yaqin yoki diapazon chegarasiga yaqin
qilib olinishiga qarab ancha farq qilishi mumkin. Masalan, xotira qurilmasida
k
= 7
ta element va
r
= 10 (
r
= 0, 1, ..., 9) bo‘lsin. Sonning kasr qismiga
l
= 3 ta razryad,
ishoraga 1 ta razryad va butun qismiga 3 ta razryad ajratilgan bo‘lsin (1.3-rasm). Bu
xotira qurilmasiga joylashishi mumkin bo‘lgan eng katta son +999,999 va eng
kichigi esa –999,999. Ushbu xotira qurilmasida saqlanayotgan ixtiyoriy sonning
verguldan keyin uchta raqami saqlanadi. Shuning uchun ushbu
x
1
= 1,123456 va
x
2
=
999,123456 sonlarning absolyut xatoligi bir xil:
1
= 1,123456 – 1,123 = 0,000456;
2
= 999,123456 – 999,123 = 0,000456, ammo nisbiy xatoliklari har xil:
1
=
1
/
x
1
=
0,4%;
2
=
2
/
x
2
= 0,5
10
-4
%.
Sonning
ishorasi Sonning butun qismi Sonning kasr qismi
1.3-rasm. Fiksirlangan vergulli haqiqiy
sonning xotira qurilmasida ifodalanishi.
Sonning qo‘zg‘aluvchan vergulli shaklda
yozilishi bu uning quyidagi
eksponential shaklda yozilishidir (1.4-rasm):
x = M
r
p
, bu yerda
r
– asos;
p
– tartib,
24
M
– mantissa (1/
r
≤
M
≤ 1). Zamonaviy kompyuterlarda haqiqiy son ikkilik
qo‘zgaluvchan vergulli (nuqtali) shaklda yozilib, normallashtirilgan sonning faqat
ma’noli raqamlarigina kompyuter xotirasida saqlanadi va birinchi ma’noli raqam har
doim 1 ga teng. Bu raqamni saqlashga hojat bo‘lmaganligi uchun iqtisod qilingan
bitta ikkilik razryad mantissasi hissasiga qo‘shiladi.
Dastlabki kompyuterlar bir biridan mantissa va tartibni saqlash uchun ajratilgan
razryadlar soni, yaxlitlash uslubi va mashina arifmetikasi bilan farq qilar edi.
Ko‘plab zamonaviy kompyuterlar (xususan, barcha shaxsiy kompyuterlar) 1985
yilda ishlab chiqilgan IEEE – standart ikkilik arifmetika (IEEE Floating Point
Standard) asosida qurilgan. Standart uslubda normallashtirilgan sonda IEEE
arifmetikaning mantissasiga 24 ta razryad (ishora bilan), ikkilik tartibni saqlashga 8
ta razryad ajratiladi. IEEE arifmetikasining odatdagi aniqligi
10
-38
.
Odatda,
mashina noli
ning chegarasi 2
-64
(
10
-19
),
mashina cheksizligi
2
63
.
Hisoblangan sonning moduli ana shu
mashina cheksizligi
chegarasidan chiqqan
holda mashinada hisoblashning
avariyali tugashi
yoki
mashina xotirasining to‘lishi
(«
переполнение
») holati yuz beradi. Aksincha, sonning moduli ana shu
mashina noli
chegarasidan kichik bo‘lgandan holda esa
tartibning yo‘qotilishi
yuz beradi. Odatda,
bu natija nol deb qabul qilinadi va hisoblashlar davom ettiriladi. Zamonaviy
kompyuterlarda
mashina noli
ning chegarasi 2
-127
10
-38
,
mashina cheksizligi
2
127
10
38
. Yana bir tushuncha – bu
mashina epsiloni
bo‘lib, u kompyuterda son
ifodalanishining nisbiy aniqligini xarakterlaydi. ShEHMda
m
-
mashina
epsiloni
ning miqdori birinchi tashlab yuboriladigan yoki oxirgi saqlab qolinadigan
mantissa razryadidan aniqlanadi.
Tartib
ishorasi
Tartib
(
m
ta razryad)
Mantissa
ishorasi
Mantissa
(
l
ta razryad)
1.4-rasm. Mashina so‘zining tuzilishi
(qo‘zg‘aluvchan vergulli haqiqiy
sonning xotira qurilmasida ifodalanishi).
Masalan, 1) 48 razryadli mashina so‘zining yozilishida 40 ta ikkilik razryadlar
sonning mantissasiga, 6 tasi sonning tartibiga va 2 tasi mantissaning ishorasiga
ajrtilgan bo‘lsin, ya’ni
r
= 2;
l
= 40;
m
= 6. Natijada qo‘zg‘aluvchan vergulli haqiqiy
sonning ifodalanish aniqligi 2
-39
(
10
-12
) dan yomon emas. 2)
x
= 20,5 sonni ikkilik
normallashtirilgan son shaklida
x
= 10100,1 yoki
x
= (10100,1)
2
kabi, qo‘zg‘a-
luvchan vergulli shaklda esa
x
= 0,101001
2
5
yoki
x
= (0,101001)
2
2
5
kabi yozamiz,
uning tartibi 5 ga teng. 3) Xuddi shunday,
x
= 7,0625
10
= 111,0001
2
= 0,1110001
2
3
,
sonning tartibi 3 ga teng. 4) Agar berilgan sonlarni qo‘zg‘aluvchan vergulli shaklda
yozsak, masalan,
x
1
= 0,1123456
10
1
va
x
2
= 0,999123456
10
3
, u holda bu sonlarning
8 ta elementli (5 ta razryad sonning kasr qismiga, 1 ta razryad uning ishorasiga 1 ta
25
razryad mantissa ishorasiga va 2 ta razryad uning tartibiga) va 10 asosli xotira
qurilmasida saqlanish holati 1.5-rasmda tasvirlangan.
Bu sonlarning absolyut va nisbiy xatoliklar:
1
= (0,1123123 – 0,11231)
10
1
(0,23
10
-5
)
10
1
;
2
= (0,999123123 – 0,99912)
10
3
(0,31
10
-5
)
10
3
;
1
=
1
/
x
1
(0,23
10
-5
)
10
1
/(0,1123
10
1
)
2
10
-3
%;
2
=
2
/
x
2
(0,31
10
-5
)
10
3
/(0,99912
10
3
)
3
10
-3
%.
Ikkilangan aniqlik
ni tushunishimiz uchun avvalo yana bir bor IEEE standartni
qanoatlantiruvchi kompyuterlarning odatiy aniqligida normallashtirilgan son
diapazoni 10
-38
dan 10
38
gacha ekanligini, mantissa razryadliligi kichik va mashina
epsiloni
m
10
-7
(bu o‘nlik arifmetikada mantissa 7 ta o‘nlik raqamdan iborat
degani) ekanligini tushunishimiz lozim. Agar IEEE standartni qanoatlantiruvchi
kompyuterda razryadlilik ikki marta orttirilgan bo‘lsa, u holda bu mashina aniqligini
oshirishga olib keladi.
+
0
1
+
1
1
2
3
1
Sonning tartibi Sonning mantissasi
+
0
3
+
9
9
9
1
2
Sonning tartibi Sonning mantissasi
1.5-rasm. Qo‘zg‘aluvchan vergulli
x
1
va
x
2
sonlarning xotira qirilmasida ifodalanishi.
Masalan, IEEE standartni qanoatlantiruvchi kompyuterda sonning ikkilangan
aniqlik bilan ifodalanishi bu uning mashina xotirasida 53 ta razryad (ishora bilan
birga) va tartibni saqlash uchun esa 11 ta razriyad ajratildi, mashina noli 10
-308
ga va
mashina cheksizligi 10
308
ga keltirildi degani, bunda mashina epsiloni
m
10
-16
ga
olib kelinadi. Shuni eslatib o‘tamizki, bu kompyuterlarning odatiy aniqligi
m
10
-7
.
Demak, ikkilangan aniqlik haqida emas, balki aniqlik bir necha barobar tartibga
oshirildi deb aytish kerak bo‘ladi.
IEEE arifmetikada
kengaytirilgan ikkilangan aniqlik
tushunchasi ham
mavjudki, bunda mantissa uchun 65 ta razryab (ishora bilan birga) va tartib uchun 15
ta razryad ajratiladi. Bu rejimda mashina noli 10
-4964
, mashina cheksizligi 10
4964
,
mashina epsiloni
m
10
-19
. Shuni ta’kidlash lozimki, ikkilangan yoki kengaytirilgan
ikkilangan aniqlikdan foydalanish yaxlitlash xatoligini yo‘qota olmaydi, balki uning
qiymatinigina kamaytiradi xolos.
Normallashtirilgan sonning IEEE arifmetikasidan tashqari
subnormal
(
denormallashtirilgan
)
son
tushunchasi ham mavjud. Hisoblash jarayonining natijasi
bo‘lgan subnormal son mashina epsiloni diapazonidan kichik bo‘lib, uni
normallashtirilgan ko‘rinishda ifodalab bo‘lmaydi. Bunday sonlar ham
M
2
p
26
ko‘rinishda ifodalanadi, ammo bunda birinchi ma’noli raqam 0 va mumkin bo‘lgan
minimal ko‘rsatgich mashina noliga teng. Masalan,
x
= 2
10
-130
sonni IEEE
arifmetikada odatiy aniqlik, ya’ni normallashtirilgan son shaklida ifodalab
bo‘lmaydi, uni subnormal shaklda
x
= (0,00010...0)
2
2
-126
kabi ifodalash mumkin.
Dostları ilə paylaş: |