بعد ان تمكن الطالب من تمييز العدد فيما اذا كان زوجيا او فرديا ، عن طريق تطبيق عامل باقي القسمة ، سأله الاستاذ مباشرة هل العدد 67 زوجي ؟! تطلب الامر في بدايته بعض الوقت لكي يتمكن من الاجابة ومعرفة الناتج الصحيح لتطبيق القانون ، والسبب هو لانه ولاول مرة يقوم بتطبيق القانون بواقع فعلي لحل نمط جديد عليه من المسائل . مع العلم ان الناتج المطلوب منه هو اما ( زوجي او فردي ) واحتمالية صحة اجابته هي50% . استطاع الطالب من حل السؤال والرد بانه رقم فردي . استطاع الطالب بعد اجراء عدة تمارين على التمرس على تطبيق هذا القانون البسيط ومعرفة نوعية الاعداد هل هي فردية ام زوجية ، وبعد الممارسة عرفوا مسالة تبسط الحل وهي ان العدد يكون زوجي او فردي بالاعتماد على الاحاد فقط ،حتى لو كان الرقم مليونا ، فان الاهم هو الاحاد منهم اذا كان زوجي او فردي . وهذا ما جعلهم يتأهبون للامتحان . الا ان هنالك مفاجئة قد حدثت ، وهي ان السؤال الخاص بهذا الموضوع قد تم تحويره ، ليكون : ( ماهو عدد الاعداد الزوجية الاقل من 100 ؟! ) . هنا حدثت صدمة لزميلنا ومعظم زملاءه الباقين ، ماهذه الالية الجديدة في طرح الاسئلة ؟ كيف يمكن معرفة مجموعة اعداد وحسابها ومايعرفوه هو مجرد تمييز عدد واحد ؟ اذا يجب تمييز جميع الاعداد ال100 ابتداءا من ال1 ، وحسابها .. وبذلك حصلنا على الناتج . استغرق حل السؤال مايقارب ال7 دقائق ، توصل زميلنا الى الناتج 49 ، وارتاح نفسيا لانه اكمل هذا السؤال ، ولكن لكي يطمئن قلبه اراد ان يثبت صحة الحل ويعيده من البداية ، ولكن ماذا حصل ؟ استغرق وقت مقارب للوقت السابق والناتج كان 51 !!! .. كيف حصل هذا ؟ قبل قليل كان 49 ؟ . انتهى وقت الامتحان ولم يتمكن من حل هذا السؤال ، والحل الذي اكتشفه لم يتسنى له الوقت الكافي لاثبات صحته ، وعندما خرج وجد مشكلته هي نفس مشكلة باقي الزملاء ، الا واحدا منهم ، اكتشف معادلة بسيطة مفادها قسمةالعدد الكبير المطلوب على 2 والناتج هو عدد الاعداد الزوجية الاقل منه ، والناتج سيكون 50 ، جميل جدا ، سأله صديقنا ، ( وكيف ستثبت صحة قانونك او النتيجة ؟ ) اقترح واحد ان يحسبوها مجتمعين ، وبدؤا بالفعل بحساب الارقام، الا ان صاحب المعادلة اعترض ووضح لهم اثباته ، وهو ان الاعداد بطبيعتها متسلسلة ( فردي ، زوجي ، فردي ، زوجي .. ) وبذلك فان ال100 تتضمن اقل منها 50 رقم فردي و50 رقم زوجي ، هنا ذهل الجميع من هذه العقلية الجميلة التي توصلت لهذا الحل وبذكاء وبديهة. اذن هنالك معادلة بسيطة تعطيك ناتج اي عدد مطلوب منك ، وكذلك اثباتها قطعي وصحيح ، بحيث يتم التوصل الى الناتج واثباته بزمن بسيط جدا .ولكن في ساعة الامتحان او المفاجئة كيف سنهتدي الى مثل هذه الحلول وفي هذه الفترة الزمنية البسيطة ؟
لطالما واجهنا نفس مشكلة صديقنا ولكن مع معضلات اكبر من معضلة تمييز العدد الزوجي والفردي ، فمثلا عند تطبيقنا لطريقة نيوتن في التحليل العددي ، فانها تتطلب مجموعة من الخطوات لغرض التوصل الى الحل ، احد هذه الخطوات هوايجاد المشتقة الاولى للمعادلة الاصلية ، وتعويضها بالقيم الابتدائية ، وفي الاخير وبعد تطبيق كل الخطوات يتم اختبار الناتج ومقارنته مع نسبة الخطأ هل هي اكبر ام اصغر ؟ اذا كانت اصغر انتهى الحل ، واذا كانت اكبر اعد الخطوات من جديد ، ولمن لا يعرف مأساة التحليل العددي ، فان هذا الجزء من الرياضيات يعتمد على الارقام العشرية الصغيرة جدا ، ولذلك فان الخطأ البسيط يسبب كوارث في النتيجة . فكيف سنصل الى الحل ؟ والاصعب كيف سنثبت صحته ؟ وهنا عدنا الى مشكلة زميلنا مع الاعداد الزوجية ، ولكن هنالك فرق بين المثالين ، ففي المثال الاول كانت هنالك معادلة بسطية يمكن من خلالها معرفة الحل وبدقة عالية ولكن لم يتوصل اليها زميلنا وباقي زملاءه الا واحدا منهم فقد كانت تتطلب منه سرعة رياضية ومرونة تفكير بنفس الوقت، وكذلك كان اثباتها سهل جدا .اما في مثالنا الثاني فان الطريقة معروفة ولكن تحتاج الى وقت للحساب وللتاكد من صحة الحل . وكذلك فان الوقت المستهلك في حل المسالة هو لوحده وقت طويل ، فكيف مع اثبات صحته ؟ !
اذن ، في حل المسائل المعقدة وبطريقة علمية ، لا نبحث فقط عن طريقة الحل فهذا ليس كافيا ، وانما نبحث عن الزمن ، التكلفة ، اثبات صحة الحل ، وكذلك الدقة العالية في النتيجة ، فكم هي نسبة الخطأ في النتيجة ؟ وكم هي قريبة من الحل المطلوب ؟ . هذا كله يقودنا الى مفهوم نظرية التعقيد Complexity Theory، فهي النظرية التي تهتم بدراسة كل الظروف التي تقود الى الحل ، ومن بين هذه الظروف :-
– الزمن اللازم للوصول الى الحل ( يطلق عليه Timer Complexity )
– الحجم المطلوب توفيرة لفضاء البحث حول الحل ( Space Complexity )
– دقة النتيجة ( Accuracy) .
– هل هو افضل الحلول ؟ ام يمكن تحسينه وايجاد حل افضل منه بالنسبة للضروف المذكورة اعلاه ؟
– هل هذه المشكلة لها تطبيقات واقعية فعلية من الممكن استثمار هذا الحل فبها ؟
– ايجاد البيانات التي من الممكن ان تكون اساس اختبار الخوارزميات ، وهي مانسميها Data Sets .
الـData Sets .. هي مجموعة من البيانات غير ثابتة الحجم ، تصدر عن جهة معينة وتحتوي على بيانات خاصة بالمشكلة المطلوب حلها ، الغرض منها هو مقارنة النتائج التي تنتج من الخوارزميات التي تتعامل مع هذه البيانات ، والمقارنة في ما بينها . ولغرض التأكد من ان هذه النتائج صحيحه ، يتم اختبارها من قبلvalidator تابع لنفس المؤسسة ، لكي يتم التاكد من عدم وجود تحايل في العمل.
اما في النظرية الحسابية المعروفة ، فانها تهتم بدراسة عدم وجود حل للمشاكل او لا ، من غير الحاجة الى معرفة هل الحل بطئ او سريع ، او هل يحتاج الى اثبات او انه صحيح . لذلك فهي لا تهتم لأي ضرف من الضروف السابقة التي هي مصيرية مع نظرية التعقيد .
مفهوم نظرية التعقيد واسع جدا ، ويحتاج الى مجلدات لكي يتم شرحه والتوصل الى مفهوم شامل له ، لكن في هذه الرحلة – المبسطة – سأقوم بتوضيح مفهومها من خلال علاقتها مع المشاكل صعبة الحل ، وكيف تم تصنيف تلك المشاكل بالاستناد الى نوعية هذه المشاكل حسب اصناف تعقيدها ، لذلك هي ليست رحلة تفصيليه وانما هي مجرد مقدمة ومعلومات عامة حول هذا الجزء المرتبط ارتباطا وثيقا مع علم الذكاء الاصطناعي . وهذا الجزء من الذكاء الاصطناعي هو ما يسعى لاكتشاف الحلول التي أرقت العلماء والباحثين لعشرات السنين ، بل وان بعض المشاكل استمر لمئتي عام واكثر ، يطلق على هذا المجال باسم ( التحسين او تحسين الحلول Optimization ) . والان معظم الاطاريح والابحاث المختصة في مجال الحلول تنطوي تحت هذا المسمى ، فالبعض منها يبحث عن الحل الضائع ، والبعض الاخر يحاول ان يجد حلا افضل من سابقه ولو بجزء من الثانية ، وهناك من يريد ان يقول بانه لا يمكن ان نعرف حلا لتلك المسألة او ان يثبت ان حلها ممكنا . والسبب في كون الرحلة مختصرة حول المفاهيم وليست علمية تفصيلية – او تحتوي على معادلات رياضية – هو لانها موجهة لجميع الباحثين لفهم بعض المشاكل ، ولماذا البعض منها صعب وشكل معضلة لسنين طويلة . فبعض المشاكل ( سأطلق كلمة مشكلة كتعبير عن مسألة او معضلة غير قابلة للحل او متعلقة بصلب الموضوع ) موجود في علم الرياضيات ولكن الرياضيين بعضهم لا يعرف لماذا لا يمكن ايجاد حل لمشاكلهم ، مثلا مشكلة فرضية ريمان ، والتي بدأت منذ 162 سنة تقريبا . او معضلة الاعداد الاولية بصورة عامة ، فهي بدأت منذ زمن بعيد جدا ، عندما قال ( اقليدس ) ان الاعداد الاولية هي اعداد غير منتهية ولا يمكن ان نعرف وسيلة لاثبات العدد اولي بصورة سريعة . لذلك فان متتالية الاعداد الاولية تؤرق علماء الرياضيات ، ودائما ما يوصف ايجادها على انه سيكون انحراف في مستقبل الرياضيات وعلم التشفير والكثير من العلوم المرتبطة بشكل كبير . او المشكلة التي يعيشها مدير المدرسة او معاونه ، حينما يريدون تنظيم جدول الدروس الاسبوعي بشكل منظم وصحيح ويحقق جميع شروط عدم التضارب بين المدرسين او بين الطلبة او المواد . ولكن ، لا يعرف حجم المعاناة هذه سوى المدير نفسه ، عندما يكمل الجدول لثلاثة ايام مثلا ، وعندما يبدأ باليوم الرابع يجد ان هنالك مشكلة مع اليوم الاول مثلا ، وبذلك يتم تمزيق الورقة مباشرة لكي يبدأ بالتخطيط من جديد . طبعا هذه المشاكل اساسية بالنسبة لمشكلة جدول الدروس الاسبوعي ، ولكن ماذا اذا قال له احد المدرسين انني لا استطيع الحضور في يوم الاربعاء مثلا ؟ لذلك رجاءا لا تضع لي اي درس واجعله عطلتي الاسبوعية لانني لدي عمل اخر ، وبذلك يجب ان يراعى عدم وضع مادة تخص هذا الاستاذ في يوم الاربعاء . وهنا معضلة اخرى اضيفت الى المشكلة . السؤال هنا ، هل يعلم المدير ان هذه المعاناة لا تحدث معه فقط ؟ بل انها تؤرق علماء وباحثي الذكاء الاصطناعي ايضا ؟ وان في كل سنة هنالك مئات الابحاث التي تحاول ان تقترح خوارزميات هجينة ( سنعرفها لاحقا ) لحل مشكلة جدول الدروس الاسبوعي او مشكلة جدول الامتحانات . ولحد الان حلها في طور البحث ، ولا اعتقد انه سيكون هنالك حل لها بالنظر للوسائل المعروفة حاليا ، لكن لا استطيع ان اثبت – او انفي – ان هنالك حلا لها .
اذن مجال تحسين الحلول او Optimization يبحث في ايجاد خوارزميات ذكية لغرض حل مشكلة ما ، وفي بعض الاحيان يتم تركيب اكثر من خوارزمية لحل مشكلة واحدة . ويتم المقارنة بين الخوارزميات المعروفة على اساس السرعة والكفاءة وافضل النتائج التي يتم التوصل لها . وفي بعض الاحيان تكون النتائج متساوية تماما بين خوارزميتين ، ولكن الفرق بينهما هو اثبات ان الخوارزمية الجديده من الممكن تطبيقها لحل مشاكل من نفس النوع ، او من الممكن اعتماد هذه النوعية من الخوارزميات في مجال معين .
سنتوقف اليوم عند اول استراحة ، لكي لا نتعب من السير في هذه الرحلة الصعبة التي تحتاج الى فهم بعض الامور قد يكون بعضها خافيا خافيا عن القارئ ، او ربما كلها خافية عنه . ولذلك اريد ان يتم تخيل هذا الجانب من العلم ، الذي يجعل من السهل صعبا ، ومن الصعب اصعب بكثير .
تحياتي العطرة لكم ، والى لقاء اخر مع جزء اخر من الرحلة .
سنان محمد صالح …
جميل جداً سنان