باز کردن منو اصلی

سیاست ویکی‌پدیا:تحقیق دست اول ذکر می‌کند که «انجام محاسبات ساده» (مانند جمع و تفریق اعداد، گرد کردن آن‌ها، محاسبه درصدها، تبدیل واحدها، کشیدن نمودار، یا محاسبه سن اشخاص) مصداقی از تحقیق دست اول نیست. بسیاری فرض می‌کنند که چون الگوریتم‌های ریاضی برای تبدیل تاریخ (مثلاً از میلادی به خورشیدی، یا قمری به خورشیدی) در دسترس هستند، پس تبدیل تاریخ هم مصداقی از تحقیق دست اول نیست. آنچه عموم این کاربران نمی‌دانند آن است که در عمل این الگوریتم‌ها خطای قابل توجهی دارند و هر تصمیمی که در مورد انتخاب الگوریتم یا پارامترهای آن گرفته شود، مصداقی از تحقیق دست اول خواهد بود. در این انشا به چند مورد از این مشکلات و تأثیرات احتمالی آن‌ها اشاره می‌گردد.

مفاهیم گاهشماریویرایش

 
دایرهٔ آبی استوای سماوی و دایرهٔ زرد مسیر ظاهری حرکت خورشید (دایرةالبروج) را نشان می‌دهد. نقطه برخورد این دو، اعتدال بهاری یا اعتدال پاییزی است.

قبل از هر چیز، خوب است با برخی مفاهیم اصلی در گاهشماری آشنا بشویم.

هدف یک گاهشمار آن است که اندازهٔ یک سال را بتواند به دقیق‌ترین شکل ممکن بر حسب روز، ساعت، دقیقه و ثانیه محاسبه کند. دو تعریف از سال در طول زمان بسیار رایج بوده‌اند: سال اعتدالی و سال قمری.

  • سال اعتدالی فاصلهٔ بین دو بار عبور زمین از نقطه اعتدال بهاری بر دایره انتقالی خود است. پس بهترین گاهشمار برای سال اعتدالی آن است که بتواند لحظهٔ عبور زمین از نقطه اعتدال بهاری را به درستی محاسبه کند.
  • سال قمری مدت زمانی است که در آن دوازده ماه قمری کامل رخ بدهند. پس دقیق‌ترین گاهشمار برای آن باید بتواند مدت گردش ماه به دور زمین را به درستی محاسبه کند.

بین روش‌های گاهشماری برای سال اعتدالی، گاهشمار جلالی را دقیق‌ترین می‌دانند. این گاهشمار حوالی سال ۱۰۷۰ میلادی عملاً برای اولین بار به کار گرفته شد. از اولین کارهایی که در آن زمان شد این بود که خطایی که در گاهشمار قبلی (موسوم به گاهشمار یزدگردی) بود و باعث شده بود اول فروردین با اعتدال بهاری حدود ۱۸ روز اختلاف پیدا کند را اصلاح کردند و ۱ فروردین را با اعتدال بهاری (نوروز) مطابقت دادند. با این حال، گاهشمار جلالی کماکان مبنای تقویم رسمی ایران نبود؛ تنها از سال ۱۲۸۹ هجری خورشیدی بود که این گاهشمار عملاً مبنای محاسبهٔ تاریخ در ایران شد و از سال ۱۳۰۴، همان سالی که رضاشاه به سلطنت رسید، با تصویب در مجلس شورای ملی، این تقویم رسماً مبنای محاسبهٔ تاریخ در ایران شد (تحت عنوان تقویم هجری خورشیدی).

اشکالات تقویم هجری خورشیدی و گاهشمار جلالیویرایش

نخست آن که تقویم خورشیدی تا پیش از ۱۲۸۹ کاربرد فراگیر نداشت و به لحاظ قانونی هم تا پیش از ۱۳۰۴ رسمیت نداشت. در نتیجه اعمال قواعد آن به طور گذشته‌نگر برای تاریخ‌های پیش از این زمان، کاری است عبث چون درست یا غلط بودن آن قابل اثبات یا رد نیست (چون هیچ سند رسمی در این باره نداریم). تا پیش از سال ۱۳۰۴ تقریباً همهٔ سال‌ها دست کم یک ماه ۳۲ روزه داشتند. به همین دلیل، همهٔ الگوریتم‌هایی که طول فعلی ماه‌ها را پیش فرض قرارمی‌دهند نتایج غلطی برای سال ۱۳۰۳ شمسی و سال‌های قبل از آن ارائه می‌دهند.

دوم آن که تقویم هجری خورشیدی (مصوب ۱۳۰۴)، فقط براساس گاهشمار جلالی نیست! مثلاً این که (همچنان که از اسمش بر می‌آید)، سال ۱ را با هجرت پیامبر اسلام مطابقت می‌دهد (و بدیهی است که این را بر اساس تقویم قمری انجام می‌دهد) در حالی که محاسبات گاهشمار جلالی اصلاً کاری به این که سال ۱ کجا باشد ندارد و فقط فاصلهٔ بین نوروزها را حساب می‌کند.

سوم آن که در تقویم هجری خورشیدی، اول زمان اعتدال بهاری با کمک گاهشمار جلالی محاسبه می‌شود، بعد این زمان با ساعت ۱۲:۰۰:۰۰ ظهر مقایسه می‌شود؛ اگر اعتدال بهاری قبل از دوازده ظهر رخ بدهد، آن روز اول فروردین دانسته می‌شود و اگر پس از دوازده ظهر باشد آن روز، روز آخر اسفند دانسته می‌شود و اول فروردین به روز بعد منتقل می‌شود. این خودش دو مشکل ایجاد می‌کند:

  • ساعت در همه‌جای زمین یکی نیست! مبنا باید ۱۲ ظهر کجا باشد؟ ایران؟ عربستان؟ گرینویچ؟ بدیهی است که نسخه‌ای از گاهشمار جلالی که ما تحت عنوان تقویم هجری خورشیدی به کار می‌بریم، «ایران» را مبنا قرار داده اما در این خصوص توافق جهانی هرگز حاصل نشده‌است.
    مثال: ایرانیانی که خارج از ایران زندگی می‌کنند، حتماً متوجه شده‌اند که گاهی بین تقویم ایرانی و میلادی یک روز اختلاف می‌افتد و تاریخ تولدشان دو روز مختلف می‌شود! قسمتی از این، به خاطر همین موضوع است. (قسمت دیگری هم مربوط به کبیسه‌های پنج‌ساله و مسائلی دیگر)
  • ساعت در همه‌جای ایران هم یکی نیست! ما به طور قراردادی، یک نصف‌النهار در ایران را انتخاب کرده‌ایم و ساعت آن را برای تمام کشور استفاده می‌کنیم. چون پهنای شرقی-غربی کشور ایران زیاد نیست، این خیلی برای ما مشکل ایجاد نمی‌کند (در مقایسه، کشورهای پهنی مثل چین یا آمریکا، چندین منطقهٔ زمانی دارند). اما سؤال اساسی این است: مبنا باید ساعت ۱۲ در کجای ایران باشد؟ محاسبات گاهشمار جلالی، به این که کدام نصف‌النهار را انتخاب کنیم وابستگی شدید دارد. تعدادی از ستاره‌شناسان نصف‌النهاری از تهران را مبنا قرار می‌دهند و بقیه نصف‌النهار ۵۲٫۵ شرقی را (که ساعت استاندارد ایران را تعیین می‌کند) به عنوان محل تشخیص اولین روز سال در نظر می‌گیرند. قانون هم در این باره سکوت کرده‌است.
    نتیجه: هیچ‌کس واقعاً نمی‌داند که آیا سال ۱۴۶۹ شمسی کبیسه خواهدبود یا نه! نتیجه بستگی دارد به این که کدام نصف‌النهار را انتخاب کنیم.

چهارم، محاسبات گاهشمار جلالی فرض را بر این می‌گذارد که طول یک سال (یعنی مدت زمان بین دو عبور پیاپی زمین از اعتدال بهاری) مقداری است ثابت. امروز با پیشرفت علم فیزیک و نجوم می‌دانیم که این اشتباه است؛ سرعت حرکت زمین به دور خودش مدام در حال کند شدن است (تحت تأثیر جاذبهٔ ماه) ولی سرعت گردش زمین به دور خورشید چنین تغییری را تجربه نمی‌کند. همچنان که بالاتر گفته شد، گاهشمار جلالی سعی می‌کند طول سال را بر حسب روز و ساعت و دقیقه و ثانیه حساب کند. اگر تعریف ثانیه، تعریف قدیمی باشد (یعنی یک ۸۶٬۴۰۰ ام طول شبانه‌روز) در آن صورت چون شبانه‌روز در حال طولانی شدن است پس طول هر ثانیه هم به تدریج زیاد می‌شود، ولی گاهشمار جلالی این را در محاسباتش اصلاح نمی‌کند. اگر هم تعریف ثانیه را بر اساس تعریف علمی جدید در نظر بگیریم (یعنی مدت زمانی که اتم سزیم-۱۳۳ در حالت پایه ۹٬۱۹۲٬۶۳۱٬۷۷۰ بار نوسان می‌کند) در این صورت مقدار ثانیه همیشه ثابت است اما طول «شبانه‌روز» بر حسب ثانیه تدریجاً در حال زیاد شدن است. این روش دوم، برای اصلاح گاهشماری میلادی کاربرد دارد و بر اساس آن هر چند سال یکبار یک ثانیه کبیسه به تقویم میلادی اضافه می‌کنند؛ مشابه این امر برای گاهشمار جلالی یا تقویم هجری خورشیدی رخ نمی‌دهد و آن را نسبت به تقویم میلادیِ امروزی، دارای خطا می‌کند. این خطا ممکن است بسیار کوچک به نظر برسد (در ۴۶ سال گذشته، ۲۷ بار ثانیهٔ کبیسه به تقویم اضافه شده) اما باید توجه کرد که اگر زمان نوروز به ساعت ۱۲:۰۰:۰۰ خیلی نزدیک باشد، جابه‌جایی در حد چند ثانیه می‌تواند کبیسه بودن یا نبودن سال در گاهشمار جلالی را تغییر بدهد.

اشکالات مربوط به تبدیل تاریخویرایش

غیر از اشکالات بالا، یک سری اشکالات هم دربارهٔ تبدیل تاریخ وجود دارد؛ برای تبدیل تاریخ (مثلاً از میلادی به شمسی)، هر دو طرفِ تبدیل باید به طور درست قابل محاسبه باشند. نه فقط الگوریتم‌های محاسبهٔ تقویم جلالی (همچنان که بالاتر ذکر شد) اشکالاتی دارند، که الگوریتم‌های مربوط به تقویم میلادی و قمری هم مشکلاتی از این دست داشته‌اند (نمونه‌اش این که در گاه‌شماری میلادی هم تا سال ۱۵۸۲ خطای محاسبه وجود داشت و در این سال ۱۰ روز از تقویم کلاً حذف شد!) در نتیجه هر گونه تبدیلی از یک تاریخ به تاریخ دیگر، خالی از اشکال نخواهد بود.

مثال کلاسیک این قضیه، تاریخ رویداد عاشورا است. این رویداد به تقویم قمری، در ۱۰ محرم ۶۱ هجری رخداد داده‌است و بنا بر روایات، این روز در گرمای تابستان بوده‌است. استفاده از الگوریتم‌های تبدیل تاریخ رایج، این تاریخ را معادل «۲۱ مهر ۵۱» هجری خورشیدی قرار می‌دهد که در پاییز است. کسی که با مشکلات بالا آشنا نباشد ممکن است از این امر نتیجه بگیرد که روز عاشورا آن قدرها هم گرم نبوده، و نفهمد که محاسباتش به کل می‌تواند اشتباه باشد.

جمع‌بندی و خلاصه‌سازیویرایش

تقویم هجری خورشیدی و گاهشمار جلالی، مشکلاتی دارند (از جمله وابستگی به این که کدام نصف‌النهار را مبدأ قرار بدهیم) که اولاً حلش نیازمند قانون‌گذاری (به معنی سیاسی‌اش) است که هنوز انجام نشده، دوم آن که اگر هم انجام بشود احتمالاً فقط در ایران خواهد بود و حمایت سیاسی جهانی بعید است پیدا کند، و دست آخر این که چون به طریق سیاسی حل می‌شود، قراردادی خواهد بود (یعنی یک راه حل ریاضیِ اثباتی نخواهد بود). همچنین گاهشمار جلالی کند شدن سرعت گردش زمین را در محاسبه وارد نمی‌کند و برخلاف تقویم میلادیِ رایج، ثانیهٔ کبیسه ندارد و این نیز از دقت آن گاهشمار می‌کاهد.

انشا یا مقالهویرایش

چرا این انشا به صورت یک مقاله نوشته نشد؟ نویسندهٔ این انشا اولین بار بخشی از این مطالب را از طریق صفحه‌ای در وب‌گاه فارسی‌وب شریف (که در پایین پیوند شده) خواند و بخش‌هایی از آن را نیز از طریق منابع چاپی (نظیر آثار ایرج ملک‌پور) راستی‌آزمایی کرد اما الان به آن منابع دسترسی ندارد که بتواند یک مقاله در فضای نام اصلی ایجاد کند. همچنین قسمتی از نوشتهٔ بالا (راجع به کند شدن گردش زمین) را در منابع غیر فارسی خوانده و در مورد رابطه‌اش با اصلاح تقویم میلادی هم منبع دارد، اما هیچ منبع فارسی نمی‌شناسد که راجع به این اشکال گاهشمار جلالی بحث کرده باشد.

پی‌نوشتویرایش

بالاتر گفتیم که الگوریتم‌های محاسبه و تبدیل تاریخ، خطاهای شناخته‌شده‌ای دارند. به علاوه، این الگوریتم‌ها هر قدر هم به لحاظ ریاضی (یا نجومی) دقیق باشند، باز متأثر هستند از پیچیدگی‌های مفهوم «تقویم» (که یک مفهوم قراردادیِ انسانی است). سلسله مطالب معروفی در اینترنت منتشر شده راجع به مفروضات اشتباه که نزد برنامه‌نویسان رواج دارند؛ در یک قسمتش که مربوط به بحث زمان و تاریخ است چند مثال جالب زده شده از جمله این که:

  • یک ماه همیشه تماماً در یک سال قرار ندارد!
    • در انگلستان و غرب اروپا تا حدود ۱۷۵۱ تحویل سال در روز ۲۶ مارس بود نه ۱ ژانویه؛ در نتیجه بخشی از مارس در یک سال بود و بخش دیگر در سال بعدی.
      (قبل از این که از ماه مارس بودنش نتیجه‌گیری کنید، ۲۶ مارس در تقویمِ آن زمان معادل ۵ فروردین نبود که فوری نتیجه بگیرید تحویل سال آن‌ها هم مثل ایران اول بهار بوده)
    • در اتیوپی کماکان از تقویمی استفاده می‌شود که در آن تحویل سال در ۱۱ سپتامبر رخ می‌دهد (و در سال‌های کبیسه در ۱۲ سپتامبر)
  • سالی که کبیسه نباشد، ممکن است که روز کبیسه داشته باشد!
    • به طور خاص، الگوریتم‌های محاسبه تقویم که در Lotus 1-2-3 به کار رفته بودند و تا امروز در خیلی برنامه‌های معروف (از جمله در اکسل مایکروسافت) کماکان استفاده می‌شوند، به غلط سال ۱۹۰۰ را (که کبیسه نیست) دارای یک روز کبیسه می‌دانند. در نتیجه الگوریتم‌های تبدیل تاریخ مبتنی بر این الگوریتم‌های محاسبه تقویم هم، برای سال ۱۹۰۰ و قبل از آن دست کم یک روز اشتباه خواهند بود.

برای دوستان برنامه‌نویس، خواندن این سلسله مطالب به طور کلی توصیه می‌شود.

پیوند به بیرونویرایش