يعتمد العلم على نمذجة الحاسوب - إذن ما الذي يحدث عندما يحدث خطأ؟

من التغير في اكتشاف البنسلين إلى نظريات النسبية والميكانيكا الكمومية ، تقدم العلم بسرعة مذهلة حتى قبل وجود أجهزة الكمبيوتر. الكثير من هذا يرجع إلى متانة الطريقة العلمية: يتم التحقق من صحة النتائج العلمية من خلال تكرارها وتوسيعها من قبل علماء آخرين.

لكن الطريقة التي نقوم بها بالعلم تتغير - فنحن الآن نعتمد بشكل متزايد على نماذج الكمبيوتر المعقدة لفهم الطبيعة. واتضح أن هذه النماذج يمكن أن تكاد تكون مستحيلة التكاثر - بمعنى أن هناك محكًا هامًا للعلوم يتم تحديه. إذن ما هي تداعيات هذا التغيير في العالم الحقيقي وما الذي يمكننا فعله حيال ذلك؟

كان العلم ما قبل الحديث - المعروف باسم "الفلسفة الطبيعية" - تجريبيًا. يستخدم العلم التجريبي الملاحظات السابقة لعمل تنبؤات حول المستقبل ، والتي قد يتم اختبارها بعد ذلك. تايكو براهيتمكن عالم الفلك الدنماركي في القرن العاشر من القرن الحادي والعشرين من إجراء ملاحظات دقيقة وشاملة على السماء بهذه الطريقة.

العلم الحديث ، ومع ذلك ، هو نظري. كما يجعل العلم النظري التنبؤات ، ولكنه يستمدها من النماذج الرياضية وليس من الملاحظات السابقة. فكر في قوانين اسحق نيوتن للحركة ، مثل قانون معكوس المربعة للجاذبية.

على سبيل المثال ، هناك معادلة تصف مدار الأرض حول الشمس. يمكن استخدام هذه المعادلة لإنشاء نموذج كمبيوتر حيث يمكنك فقط توصيل بعض المتغيرات ومعرفة كيف يتغير الحل. يمكنك فقط توصيل تاريخ مستقبلي وقراءة موقع الأرض في ذلك التاريخ. يمكنك أيضًا استخدام نفس البرنامج لتكوين نماذج لأنظمة كوكبية أخرى - تعتمد جميعها على نفس الرياضيات. كل ما عليك القيام به هو توصيل كتل مختلفة ومختلف الخصائص الأخرى للهيئات المعنية.


رسم الاشتراك الداخلي


مثل هذه المعادلات الرياضية كبيرة عندما تكون متاحة - ولكن في كثير من الأحيان ليست كذلك. على سبيل المثال ، نعلم أنه لا توجد معادلة بسيطة تحل ما يسمى بـ "مشكلة ثلاثة أجسام"، والتي تصف ثلاث جسيمات تدور حول بعضها وتؤثر على قوى الجاذبية - مثل القمر والأرض والشمس.

يتعامل الكثير من العلوم الحالية مع أنظمة أكثر تعقيدًا ، ويفتقر أيضًا إلى حلول دقيقة. يجب أن تكون هذه النماذج "حاسوبية" - تصف كيف يتغير النظام من لحظة إلى أخرى. ولكن لا توجد طريقة لتحديد الحالة الدقيقة في وقت ما في المستقبل بخلاف "محاكاة" تطورها بهذه الطريقة. التنبؤ بالطقس هو مثال مألوف ؛ حتى ظهور أجهزة الكمبيوتر في 1950s ، كان من المستحيل التنبؤ بالطقس المستقبلي بشكل أسرع مما حدث بالفعل.

يتكون العلم الحالي عادة من ابتكار نموذج رياضي يصف نظامًا معقدًا ، ثم يحول ذلك إلى محاكاة حسابية ، وتشغيل المحاكاة لعمل تنبؤات من أجل التحقق من صحة النموذج.

عندما تفشل النمذجة

يتم استخدام النمذجة عبر المجالات العلمية - بدءا من الفيزياء الفلكية و التنبؤ المناخ إلى المعلوماتية الحيوية والاقتصاد. لكن هناك زيادة النقاش عن حقيقة أن هذا العلم يصعب التحقق من صحته من خلال التكاثر.

اتضح أن مجرد وصف الأساليب التجريبية في الكلمات لا يكفي. هذا جزئيا لأن اللغات الطبيعية مثل اللغة الإنجليزية هي ببساطة غامضة للغاية لوصف الحسابات بدقة. هناك ، بعد كل شيء ، السبب الذي يجعل المبرمجين يستخدمون لغات البرمجة. يتمثل أحد أكبر التحديات في تطوير البرمجيات في تحويل المتطلبات الغامضة إلى مواصفات محددة للسلوك.

البشر - حتى العلماء - بعد كل شيء غير قابل للخطأ. تحويل أي معلومات إلى برنامج يقدم دائما الخلل على طول الطريق. على سبيل المثال ، يعتمد العديد من العلماء على أدوات استكشاف البيانات مثل جداول البيانات ، والتي تم تصميمها لسهولة الاستخدام وليس للمتانة. من السهل للغاية فقط تلخيص نطاق خاطئ من الخلايا في جدول البيانات ، دون الحصول على أي تحذيرات. كان هذا واحدا من العيوب المنهجية في ورقة استخدمها الحزب الجمهوري الأمريكي لبناء سياساته المؤيدة للتقشف.

وبالمثل دراسة حديثة في جداول 15,770 التي تم الإعلان عنها خلال التحقيق في شركة إنرون الأمريكية أظهرت أن نسبة 24٪ من جداول البيانات التي تحتوي على صيغة واحدة على الأقل كانت تحتوي على أخطاء واضحة ، مثل إضافة خلايا فارغة.

في العلوم الطبيعية ، و المريخ المناخ المراقبتم فقد مسبار فضائي أُطلق في 1998 لدراسة المناخ على كوكب المريخ بعد عام واحد لأن جزءًا من برنامج التحكم استخدم عن طريق الخطأ وحدات إمبريالية بدلاً من وحدات متريّة. دراسة أخرى من تسعة تطبيقات مستقلة لنفس التجربة الجيولوجية - باستخدام نفس مجموعة البيانات ، الخوارزميات ، ولغة البرمجة - أظهر القليل من التوافق في النتائج التي تم الحصول عليها.

علاوة على ذلك، حتى لو تمكن قارئ ورقة بحثية من تفسير المعنى الدقيق للكاتب بنجاح، ثم ترجمته دون أي خطأ إلى برنامج، فلا تزال هناك عقبات في تنفيذه. تنشأ إحدى فئات المشكلات الصعبة بشكل خاص من كيفية تعامل أجهزة الكمبيوتر مع الأرقام: على الرغم من قدرتها على التعامل مع الأعداد الصحيحة مثل 42 و-17 بدقة تامة، فإن التقنيات القياسية لمعالجة الأعداد الحقيقية مثل 3.14 و2؟1.414 تسمح فقط بالدقة التقريبية. وتعني هذه التقديرات التقريبية أن الطرق المتكافئة على ما يبدو لحساب نفس القيمة يمكن أن تكون كذلك تعطي نتائج مختلفة.

إذن ما الذي يمكن عمله؟ إذا لم يتمكن مطورو البرمجيات الخبراء من إنتاج البرامج الصحيحة بشكل موثوق ، فما هو الأمل في وجود مبرمجي الهواة مثل العلماء؟

يتمثل أحد أساليب العمل في إنتاج أدوات لتصميم لغات برمجة "خاصة بالنطاق" ، كل منها مصمم خصيصًا لفئة معينة من المشكلات ، مثل سلوك العوامل في الأسواق الاقتصادية أو انتشار العقاقير عبر الخلايا. يهدف هذا إلى جعل الأمر أكثر سهولة على الأخصائيين لوصف الحسابات بشكل مباشر ، بدلاً من الاضطرار إلى تشفيرها بشكل غير مباشر بلغة برمجة ذات أغراض عامة.

يسعى النهج الثاني إلى تصميم "أنظمة كتابة" أكثر تعبيرًا ولكنها سهلة الاستخدام للبرامج. من شأن ذلك أن يسهل اكتشاف الأخطاء "السخيفة" ، مثل الخلايا الفارغة في جداول البيانات ، أو خلط القيم في وحدات مختلفة. لا يمكن استبعاد جميع الأخطاء المنطقية رغم ذلك. والخط الثالث هو تطوير مكتبات قابلة للاستخدام من التعليمات البرمجية لحساب دقيق ، وتجنب مشاكل التقريب.

هناك كل فرصة يمكن لهذه الطرق أن تساعد في حل المشكلة في المستقبل ، أو على الأقل إزالة بعض المخاطر. بعد كل شيء ، يحتاج العالم إلى العلم والعلماء يحتاجون إلى أجهزة الكمبيوتر - وهذا ليس من المرجح أن يتغير في أي وقت قريب.

نبذة عن الكاتب

جيريمي جيبونز ، أستاذ الحوسبة ، جامعة أكسفورد. رئيس موضوع البحث في لغات البرمجة.

هذه المقالة نشرت أصلا في والمحادثة

كتاب ذات الصلة:

at سوق InnerSelf و Amazon