تجربه ریاضی

در این وبلاگ در مورد ریاضیات می نویسم و تجربیاتی که در راه آموختن ریاضی آموخته ام

خطای عددی و پایداری عددی

1- با ظهور کامپیوترها انقلابی عظیم در علم پدید آمد. حال پیچیده ترین محاسبات ریاضی که انجامشان با دست، ساعت ها و حتی روزها زمان می برد، در کسری از ثانیه قابل انجام بود. علاوه بر این کامپیوترها اشتباهات سهوی هم که یک انسان ممکن بود در محاسبات مرتکب شود را انجام نمی دادند. اتفاق عظیمی بود اما یک مشکل کوچک وجود داشت و همچنان هم وجود دارد و احتمالا در آینده هم وجود خواهد داشت!!!

2- مشکل نحوه ی نمایش اعداد در کامپیوتر است. همانطور که می دانید در دنیای ریاضیات اعدادی وجود دارند که نمی توان آنها را در نمایش اعشاری، بصورت متناهی نمایش داد. مثلا عدد پی را در نمایش اعشاری باید بصورت  ...3.14159265359 نمایش داد (نمایش نامختوم با بینهایت اعشار). اما در کامپیوتر بینهایت بی معناست. در کامپیوتر تعداد مشخصی مکان حافظه برای ذخیره ی یک عدد وجود دارد و این تعداد مشخص، هرچقدر هم که زیاد باشد، بینهایت نیست. در نتیجه چون حافظه ی نامتناهی برای کامپیوتر وجود ندارد، برای ذخیره کردن عدد پی مجبور هستیم مثلا از 3.1415 استفاده کنیم، یعنی مجبور هستیم یک عدد را با عددی دیگر (هر چند بسیار نزدیک) تقریب بزنیم و این کار باعث می شود که خطایی ریاضی مرتکب شویم (خطای عددی). با توجه به اینکه در ریاضیات تعداد اعداد گنگ (مثل عدد پی یا رادیکال دو یا عدد نپر) نامتناهی است و تمامی اعداد گنگ نمایش نامختوم دارند، این مشکل می تواند بسیار مهم تلقی شود.

3- از طرف دیگر، تعداد اعداد حقیقی در دنیای ریاضیات بینهایت است. به عنوان مثال بین عدد 0 و 1 بینهایت عدد حقیقی وجود دارد. اما باز هم کامپیوتر قادر به ذخیره ی بینهایت عدد نیست و تنها می تواند تعداد متناهی عدد را ذخیره کند. پس از میان بینهایت عددی که بین 0 و 1 وجود دارند، تنها تعداد محدودی قابل نمایش و ذخیره در کامپیوتر هستند و سایر اعداد، بالاجبار باید توسط این تعداد محدود تقریب زده شده، در کامپیوتر ذخیره شوند که این کار باز هم موجب ایجاد خطای عددی می شود. این بار هم مجبور هستیم بینهایت عدد را همراه با خطای عددی (هرچند اندک) در کامپیوتر ذخیره کنیم.

4- اما چرا خطای عددی اهمیت دارد؟ در کامپیوترهای امروزی با فرمت نمایش Double-precision floating-point اعداد تا 16 رقم اعشار دقت ذخیره می شوند یعنی هر عدد قطعا تا 16 رقم اعشار دقیق است و خطای عددی از یک تقسیم بر ده به توان 16 (یک ده هزار تریلیونم) کمتر است، یعنی تقریبا در حد صفر!!! آیا دقتی چنین بالا مشکلی را باقی می گذارد؟ خطایی به این کوچکی چه اهمیتی دارد؟ نمی توان آنرا نادیده گرفت؟ اینجاست که بحث پایداری عددی به میان می آید.

5- در بسیاری از روش های ریاضی (مخصوصا روش های عددی)، محاسبات طی مراحل گوناگون و با عملگرهای مختلف انجام می شود. مبحث پایداری عددی بطور خلاصه به مساله ی رشد خطای عددی طی این مراحل گوناگون می پردازد، بدین معنا که خطای عددی طی گذر از این مراحل در حال بزرگ شدن است (ناپایداری عددی) یا در حال کوچک تر شدن (پایداری عددی). خطاهایی هرچند اندک، ممکن است طی محاسبات رشد چشمگیری داشته باشد و خطای نهایی را به حد قابل توجهی برسانند. به عنوان مثال اجازه دهید به عدد کوچک یک ده هزار تریلیونم برگردیم. فرض کنید طی یکی از مراحل محاسبه خطایی در حد یک ده هزار تریلیونم مرتکب شده ایم و مثلا بجای عدد یک ده هزار تریلیونیم، عدد دو ده هزار تریلیونم را محاسبه کرده ایم. حال اگر در مرحله ی بعد عدد یک را بر این عدد تقسیم کنیم، چه اتفاقی می افتد؟ حاصل پنج هزار تریلیون خواهد شد در صورتی که حاصل باید ده هزار تریلیون می شد!!! یعنی خطایی در حد صفر با یک تقسیم ساده تبدیل به خطایی پنج هزار تریلیونی شد!!!

6- علاوه بر بحث روش های عددی پایدار و ناپایدار، خود مسائل ریاضی (سیستم های ریاضی) هم ممکن است پایدار یا ناپایدار باشند. به عنوان مثال سیستمهای آشوبناک (مانند مدل های پیش بینی وضعیت آب و هوا) نمونه ای از سیستمهای ناپایدار و حساس هستند. تغییر کوچکی در شرایط اولیه، موجب تغییرات بزرگی در جواب های نهایی این سیستم ها می شود. به همین دلیل است که پیش بینی وضع هوا تنها برای بازه های کوتاه مدت ممکن است و پیش بینی های بلند مدت در بسیاری مواقع ممکن است درست از آب در نیایند.

7- بی دلیل نیست که تلاش اصلی در علمی مانند آنالیز عددی، ارائه ی روش هایی با دقت و پایداری هر چه بیشتر است. امیدوارم در این متن توانسته باشم تا حدی اهمیت خطای عددی و پایداری عددی را بیان کرده باشم.

  
نویسنده : saeedtz ; ساعت ۸:۱٥ ‎ب.ظ روز جمعه ۱۸ امرداد ۱۳۸٧
تگ ها : ریاضیات