أبدع حاسب وأبدع نظام تشغيل
7- وللرياضيات كلمة
يقول العالم الرياضيّ والفلكيّ الإنجليزيّ المعروف (فريد هويل):
"إنّ ظهور خليّة حيّة للوجود عن طريق الصدفة، يشبه ظهور طائرة من طراز (بوينج 747) عن طريق الصدفة، نتيجة هبوب عاصفة على محلات لأدوات الخردة"!!
عموما، لمن يحبّون الرياضيات، دعنا نَنفِ لهم احتمال أن يكون كل هذا الإبداع وليد المصادفات.
دعنا نتجاهل الكلام عن نصف مليون صفحة من المعلومات الموجودة على شريط DNA، تتحكّم في بناء 30 ألف بروتين في جسم الإنسان، وهل من الممكن أن تترتب هكذا بالصدفة أم لا، فهذا أوضح من أن نتكلم عنه!
سنتكلّم هنا فقط عن احتمال تكوّن بروتين واحد بالصدفة.. بروتين واحد لا يكفي لصناعة خلية بمفرده، وليس له علاقة بالتعقيد البرمجي الموجود في أشرطة DNA، ولكنّه يظلّ معجزة في ذاته:
توجد ثلاثة شروط لتكوين بروتين مفيد:
الشرط الأول: أن تكون جميع الأحماض الأمينية في سلسلة البروتين من النوع الصحيح وبالتتابع الصحيح.
الشرط الثاني: أن تكون جميع الأحماض الأمينية في السلسلة عسراء.
الشرط الثالث: أن تكون جميع هذه الأحماض الأمينية متحدة فيما بينها من خلال تكوين ترابط كيميائي يسمى "ترابط الببتايد".
ولكي يتم تكوين البروتين بمحض الصدفة، يجب أن تتواجد هذه الشروط الثلاثة الأساسية في وقت واحد.. إذن فالاحتمال تكوين بروتين بمحض الصدفة يساوي حاصل ضرب احتمال تحقّق كل واحد من هذه الشروط.
فعلى سبيل المثال، بالنسبة لجزيء بروتين متوسط الطول يحتوي على سلسلة من الأحماض الأمينية طولها 500:
(1) احتمالية أن تكون الأحماض الأمينية موجودة بالتتابع الصحيح:
يوجد عشرون نوعاً من أنواع الأحماض الأمينية تُستخدَم في تركيب البروتينات، وبناء على ذلك فإن: احتمالية أن يتم اختيار كل حمض أميني بالشكل الصحيح ضمن العشرين نوعاً هذه = 1/20.
واحتمالية أن يتم اختيار كل الأحماض الخمسمئة بالشكل الصحيح = (ا/20) أس 500 = 1/(10 أس 650).
(2) احتمالية أن تكون الأحماض الأمينية عسراء:
احتمالية أن يكون الحمض الأميني الواحد أعسر = 1/2
احتمالية أن تكون جميع الأحماض الأمينية عسراء في نفس الوقت = (1/2) أس 500 = 1/(10 أس 150).
(3) احتمالية اتحاد الأحماض الأمينية بترابط الببتايد:
تستطيع الأحماض الأمينية أن تتحد معاً بأنواع مختلفة من الترابطات الكيميائية.. ولكي يتكون بروتين مفيد، فلا بد أن تكون كل الأحماض الأمينية في السلسلة قد اتحدت بترابط كيميائي خاص يسمى "ترابط الببتايد".. ويتضح من حساب الاحتمالات أن احتمالية اتحاد الأحماض الأمينية بترابط كيميائي آخر غير الترابط الببتيدي هي خمسون بالمئة.. وفيما يتعلق بذلك:
احتمالية اتحاد حمضين أمينيين بترابطات ببتايدية = 1/2.
احتمالية اتحاد جميع الأحماض الأمينية بترابطات ببتيدية = (1/2) أس 499 = 1/(10 أس 150).
(4) وهكذا تكون المحصلة النهائية للاحتمال:
= 1/(10 أس 650) × 1/(10 أس 150) × 1/(10 أس 150)
= 1/(10 أس 950).
لاحظ أنّ 10 أس 950 تعني الرقم مليار مضروبا في نفسه 105 مرة.. وهو رقم مذهل.. ولو استخدمنا مليارات المليارات من الحاسبات بسرعات مذهلة لمحاكاة هذه الاحتمالات، فلن يكفيها عمر الكون كله لإنتاج بروتين واحد بالصدفة!
لاحظ أن العلماء يقدرون عدد ذرات الكون بحوالي 10 أس 120 ذرة!.. أي أنها لا تكفي كلها معا لصنع الخليط الذي يتم فيه تجربة كل هذه الاحتمالات!
ولكي يمكنك تخيّل فداحة هذه الأرقام، سأخبرك أنّ جهاز الحاسب الذي يحوي مشغلا دقيقا يعمل بسرعة 3 جيجا هرتز (أيّ 3 مليار نبضة في الثانية) وذاكرة فورية Cash Memory سعتها 2 ميجا وذاكرة مؤقتة RAM سعتها جيجا، يحتاج إلى حوالي 126 مليون مليون سنة لمجرد العدّ من صفر إلى (10 أس 30).. ولو شئت أن تعرف كم يحتاج للعدّ إلى (10 أس 950) فضع على يمين الزمن (126 مليون مليون سنة) 920 صفرا أخرى!!!!!
لا تصدقني؟
جرب بنفسك هذا الكود في تطبيق اختبار، لتعرف كم يحتاج جهازك للعد من 1 إلى (10 أس 30):
Sub Main ( )
Dim StartTime As Date = Now
For I As ULong = 1 To 10 ^ 10
Next
Dim T As Double
T = DateDiff(DateInterval.Second, StartTime, Now)
T *= 10 ^ 20 / 60 / 60 / 24 / 366
Console.WriteLine(T)
Console.ReadLine( )
End Sub
فكرة هذا الكود بسيطة، فهو يحسب الزمن اللازم للعد من 1 إلى 10 أس 10 (أي 10 مليار).. هذه العملية تحتاج على جهازي إلى حوالي 38 ثانية، وهي سرعة مدهشة فعلا.. لاحظ أنك لو حاولت أن تجعل الجملة التكرارية تعدّ حتى 10 أس 11 ( أي 100 مليار) بزيادة صفر واحد فقط، فستضطر إلى الانتظار 380 ثانية (حوالي 6 دقائق) إلى حين انتهاء تنفيذ البرنامج.. ولو أزدت صفرا إضافيا فستنتظر ساعة، ولو أزدت صفرا إضافيا فستنتظر 10 ساعات.. وهكذا.. لاحظ أن أقصى رقم تستطيع استخدامه هو 10 أس 19، لأن هذه هي سعة الأعداد الطويلة الموجبة ULong.
بعد أن حسبنا في الكود الوقت الذي استغرقه العد حتى 10 أس 10، نريد أن نعرف كم يستغرق العد حتى 10 أس 30.. بحسبة بسيطة ستجد أنك تحتاج إلى ضرب هذا الوقت × 10 أس 20.. هذا الوقت الناتج سيكون بالثواني، لهذا قسمناه على 60 لتحويله إلى دقائق، ثم على 60 لتحويله إلى ساعات، ثم على 24 لتحويله إلى أيام، ثم على 366 لتحويله إلى سنوات.
جرب البرنامج الآن وانتظر حتى يظهر على الشاشة عدد السنوات التي يحتاجها جهازك للعد حتى 10 أس 30 فقط!
عند تجربة هذا البرنامج على جهازي عرض لي الرقم التالي: 126,492,612,831,410، الذي يساوي تقريبا 126 تريليون سنة، أي 126 مليون مليون سنة!
فإذا علمت أن عمر الكون حوالي 15 مليار سنة (أي 15 ألف مليون سنة)، فهذا معناه أن جهازي يحتاج إلى أكثر من ألف ضعف عمر الكون، فقط لكي يعد من 1 إلى (10 أس 30) دون أن يفعل أي شيء آخر!!!!
ليست هناك تعليقات:
إرسال تعليق
ملحوظة: يمكن لأعضاء المدونة فقط إرسال تعليق.