الدرس الخامس: طرق تصميم الخوارزميات — كيف تتحوّل الفكرة إلى خطوات؟
عندما تقف أمام مشكلة جديدة، تشعر وكأنك أمام باب مغلق لا تعرف شيئًا عمّا خلفه. لا ترى المفتاح المناسب، ولا تسمع إلا صمتًا يذكّرك بأن عليك اكتشاف طريقك وحدك. في اللحظة تبدأ الخوارزمية في التشكل. ليست الخوارزمية معادلات ولا رموزًا معقدة، بل هي هذا الميل الفطري لأن نرتّب أفكارنا، وأن نحوّل الغموض إلى خطوات واضحة يستطيع الإنسان أو الآلة أن يمشي عليها دون تردد.
وحين تتقدّم أكثر نحو الباب تشعر أن المشكلة لم تعد مجرد سؤال، بل أصبحت مادة يمكن التعامل معها، وكأن الباب نفسه يقول لك: جرّب… اقترب… أعد المحاولة. ومن هنا تظهر أولى الطرق التي عرفها البشر للوصول إلى الحل: طريقة التجريب والتحسين. هي الطريقة التي يبدأ فيها كل شيء بمحاولة بسيطة، لا يدّعي صاحبها أنها مثالية، لكنه يضعها موضع الاختبار. تمامًا كما تضع المفتاح في القفل وتحركه ببطء، فإذا لم يستجب ترفع يدك قليلًا أو تخفضها أو تغيّر زاوية الدوران، حتى يلين الحديد ويستجيب. تبدأ الخوارزمية هنا بشكل تقريبي، ثم تُصقل شيئًا فشيئًا حتى تستقيم، كما يفعل النجار حين يبني أول نموذج لطاولة، فيختبر توازنها ثم يعدّل ساقًا ويقوّم أخرى إلى أن تستوي على الأرض.
وحين تتحرك خطوة أخرى، تلاحظ أن بعض الأبواب لا تحتاج تجريبًا طويلًا، بل تحتاج فقط إلى قراءة لافتة صغيرة معلقة فوقها. هذا هو أسلوب أو منطق «إذا حدث… فافعل»)، حيث لا تجد نفسك في رحلة معقدة، بل في مفترق بسيط: إذا تحقق الشرط فافتح الباب الأيمن، وإن لم يتحقق فاسلك الباب الأيسر. يشبه الأمر اختيارك لطريقك في مدينة تعرف شوارعها: إن كانت الإشارة خضراء فتابع السير، وإن كانت حمراء فتوقف. هذا المنطق البسيط هو أحد أعمدة الخوارزميات، لأنه يمنحها القدرة على تغيير مسارها دون أن تفقد هدفها، تمامًا كما تغيّر اتجاهك عند باب مغلق لتبحث عن باب آخر يسمح لك بالعبور.
وتقترب بعدها من باب أكثر صعوبة، باب لا يبدو أنه يستجيب لأي حركة مباشرة، فيتولد لديك شعور بأنك لن تتمكن من فتحه دفعة واحدة. وهنا يظهر الأسلوب الثالث: التقسيم إلى أجزاء. تدرك أن محاولة تحريك الباب كاملًا لن تجدي، فتبحث عن أجزاء أصغر يمكن التعامل معها. ربما تبدأ بفكّ المقبض، أو بفحص المفصلات، أو بتخفيف ثقل اللوح. وهكذا يتحول الباب الكبير إلى مجموعة أبواب صغيرة يمكن فتحها واحدًا بعد الآخر. هذا الأسلوب هو روح خوارزميات الدمج والترتيب Merge Sort، حيث لا تُرتَّب القائمة الضخمة مرة واحدة، بل تُقسّم إلى قطع صغيرة يسهل ضبطها، ثم تُعاد صياغتها في بناء واحد منتظم، مثل مكتبة كبيرة لا تُرتَّب دفعة واحدة بل رفًا رفًا حتى يكتمل النظام.
وحين تمشي أبعد في الممر تجد بابًا آخر مختلفًا. ليس صعبًا، لكنه لا يحتمل التفكير الطويل. يحتاج منك قرارًا آنيًا، اختيارًا سريعًا يفتح أقرب منفذ يلوح لك. هذا هو أسلوب الاختيار الآني، الذي يُعرف بالخوارزميات "الاختيار الآني أو الحالي" (Greedy). وهو أسلوب يشبه تصرف إنسان يبحث عن أسرع طريقة للخروج من مبنى كبير، فيختار دائمًا أقرب مخرج يراه، بدل أن يراجع خريطة الطوابق كلها. ليس هذا الاختيار مثاليًا دائمًا، لكنه غالبًا يؤدي إلى حلول جيدة بسرعة كبيرة. وتقوم هذه الفكرة على مبدأ بسيط: إذا أحسنت الاختيار الآن، سيسهل عليك بناء الطريق لاحقًا، خطوة بعد خطوة، دون ضياع الوقت في التفكير بكل احتمالات المستقبل.
وتصل أخيرًا إلى أصعب الأبواب، ذلك الباب الذي لا يكشف لك شيئًا عن طبيعته حتى تبدأ محاولة الفتح. تمد يدك، تحاول، تجرّب اتجاهًا ثم آخر، فيبدو لك فجأة أن الطريق مغلق تمامًا. في الأسلوب الرابع، أسلوب العودة للخلف، لا تعدّ هذه النهاية فشلًا، بل إشارة تعيدك خطوة إلى الوراء لتجرّب طريقًا آخر. يشبه الأمر السير في متاهة: تسلك ممرًا، ثم تجد بابًا مغلقًا، فتعود، وتجرّب ممرًا جديدًا، وهكذا تتقدم قليلًا وتتراجع قليلًا حتى تعثر على المخرج. هذا الأسلوب هو أساس حل الألغاز والمسارات المعقدة والمشكلات التي تحتوي على عدد هائل من الاحتمالات. قوته الحقيقية تظهر حين يضيق الطريق أمامك، فتتوقف عن إعادة المحاولات غير النافعة، وتصبح قادرًا على الوصول إلى الحل رغم تعقّد المسارات.
وحين تقف في نهاية الممر، بعد أن جرّبت فتح أبواب متعددة بطرق مختلفة، تدرك أن تصميم الخوارزمية لم يكن مسألة تقنية بحتة، بل كان أشبه برحلة داخل ممرات المشكلة نفسها. كانت التجارب تعلّمك الصبر، والقرارات تعلمك الانتباه، والتقسيم يعلمك التبسيط، والرجوع يعلمك أن الطريق الطويل ليس دائمًا خطأ بل قد يكون هو الطريق الوحيد. وتكتشف عند هذه النقطة أن الخوارزمية ليست خطوات مكتوبة، بل طريقة ينظر بها العقل إلى المشكلة قبل أن يحلها. كل باب له طريقته، وكل خطوة لها لحظتها المناسبة، وكل مشكلة تنكشف حين تُعطى الأسلوب الصحيح.
مركز علوم الدولي (د. عبدالرحمن الزراعي)
___________________________
ما مستوى فهمك للدرس