التحسين1983متوسط10 دقيقة قراءة

الأمثَلة بالتلدين المحاكى

Optimization by Simulated Annealing

Kirkpatrick, S. · Gelatt, C. D. · Vecchi, M. P. — Science

المشكلة

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

الإسهام

بنى الباحثون جسراً مباشراً بين الميكانيكا الإحصائية . الفكرة مستوحاة من علم المعادن: حين يُبرَّد معدن منصهر ببطء، تجد ذرّاته طريقها إلى بنية بلورية بأدنى طاقة ممكنة. كيركباترك وزملاؤه حوّلوا هذا المبدأ إلى خوارزمية أمثَلة: دالة الكُلفة تمثّل الطاقة، والحل المرشح يمثّل ترتيب الذرات، ومعامل تحكّم اسمه «درجة » يحكم مدى قبول لخطوات صاعدة (أي حلول أسوأ) وفق معيار متروبولس. حين تكون الحرارة عالية تستكشف الخوارزمية بحرية، ومع خفض الحرارة تدريجياً وفق جدول تبريد تصبح أكثر انتقائية حتى تتقارب نحو النهاية الصغرى الشاملة. التجارب على تقسيم البيانات البيانية أعطت نتائج تنافسية في مسائل NP-صعبة.

الأثر

تُعدّ من أكثر الأوراق استشهاداً في تاريخ الأمثَلة (أكثر من 46 ألف استشهاد). صار التلدين المحاكى أداةً أساسية في تصميم الدوائر فائقة الكثافة (VLSI)، وبحوث العمليات، وطيّ البروتينات، والتعلم الآلي. وفتحت الورقة الباب لعائلة كاملة من الخوارزميات المستوحاة من الفيزياء — كالخوارزميات الجينية، وأمثَلة سرب الجسيمات، والتلدين الكمّي. الفكرة المحورية — أنّ العشوائية المنضبطة تكفي للإفلات من النهايات الصغرى المحلية — لا تزال ركيزة في الأمثَلة العشوائية الحديثة، بل أثّرت في تصميم طرق الأخذ العيّني بسلاسل ماركوف مونتي كارلو المستخدمة في الاستدلال البايزي.

تخيّل متسلّقة معصوبة العينين أُنزلت ليلاً وسط سلسلة جبال وتريد الوصول إلى أعمق وادٍ. لو سلكت أسلوباً جشعاً لن تمشي إلا نزولاً — ستصل قاع أول مُنخفَض وتقف، من دون أن تعرف أنّ هناك وادياً أعمق بكثير خلف تلّتين.

التلدين المحاكى يمنح هذه المتسلّقة مصباحاً يخفت تدريجياً. ما دام الضوء ساطعاً (أي درجة الحرارة مرتفعة) تصعد عمداً تلالاً لتستكشف مناطق جديدة. كلما خفت الإضاءة زاد حذرها ولم تعد تقبل الصعود إلا إذا كان المرتفع قصيراً. عند الفجر (الحرارة قريبة من الصفر) لا تمشي إلا نزولاً — لكنها حينئذٍ تكون قد تفقّدت ما يكفي من التضاريس حتى يكون الوادي الذي تستقر فيه هو الأعمق على الأرجح.

المشكلة: البحث الجشع يقع في الفخ

كثير من مسائل تشبه محاولة التنقل في تضاريس وعرة وأنت في ظلام تام. تحدّد «الارتفاع» عند كل نقطة، والهدف هو الوصول إلى أخفض وادٍ — أي . أبسط طريقة هي التحسين التكراري: في كل خطوة انتقل إلى حلّ مجاور كُلفته أقل. هذا الأسلوب يتقارب دائماً، لكنّ المشكلة أنه يتقارب نحو أقرب ، وقد تكون بعيدة تماماً عن الحل الأفضل.

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

افتح في المختبر
اضغط «جشع» لترى التحسين التكراري يعلق، ثم «تلدين» لتشاهد كيف يستكشف التلدين المحاكى ويُفلت من الفخ.
تستيقظ التجربة عند وصولك…

مصدر الإلهام: كيف تتبلور المعادن

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

الملاحظة الذكية التي قدّمها كيركباترك وجيلات وفيكّي هي أنّ هناك تناظراً عميقاً بين الحالتين: دالة الكُلفة في مسألة الأمثَلة تقابل طاقة المنظومة الفيزيائية، والحل المرشّح يقابل ترتيب الذرات. وكانت — التي ظهرت عام 1953 لمحاكاة الاتزان الحراري — تقدّم بالفعل آلية لأخذ عيّنات من الترتيبات عند درجة حرارة معيّنة. الفكرة الجوهرية كانت: خفض الحرارة تدريجياً مع الوقت — أي نقل جدول التلدين من ورشة الحدّاد إلى عالم الأمثَلة.

افتح في المختبر
التبريد البطيء (التلدين) يتيح للذرات الوصول إلى الشبكة البلورية. التبريد السريع (المفاجئ) يُجمّدها في حالة فوضوية. اسحب معدل التبريد لترى الفرق.
تستيقظ التجربة عند وصولك…

المحرّك: معيار متروبولس

خوارزمية متروبولس هي المحرّك الداخلي للتلدين المحاكى. في كل خطوة تقترح تعديلاً عشوائياً صغيراً على الحل الحالي، ثم تحسب مقدار التغيّر في الكُلفة ΔE\Delta E، وتقرّر: هل نقبل هذا التعديل أم نرفضه؟ قاعدة القرار بسيطة وأنيقة:

  • إذا كان الحل الجديد أفضل (ΔE0\Delta E \leq 0): اقبله دائماً.
  • إذا كان الحل الجديد أسوأ (ΔE>0\Delta E > 0): اقبله بـ exp(ΔE/T)\exp(-\Delta E / T).

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

P(accept)={1if ΔE0exp ⁣(ΔE/T)if ΔE>0P(\text{accept}) = \begin{cases} 1 & \text{if } \Delta E \leq 0 \\ \exp\!\bigl(-\Delta E / T\bigr) & \text{if } \Delta E > 0 \end{cases}
معيار القبول لمتروبولسΔE هو الفرق في الكُلفة بين الحل الجديد والحالي. T هي درجة الحرارة. حين تكون T كبيرة تقترب الدالة الأُسِّية من 1 حتى لو كان ΔE كبيراً، أي أنّ الخوارزمية تقبل تقريباً أي شيء. وحين تقترب T من الصفر لا يمرّ إلا ما يُحسِّن الحل. معادلة واحدة تختزل كامل التوازن بين الاستكشاف والاستغلال.

تصوّر الأمر وكأنك ترمي عملة معدنية غير متوازنة. انحياز العملة يتحدّد بشيئين: كم هي سيئة الخطوة المقترحة (ΔE\Delta E)، وكم المنظومة ساخنة (TT). خطوة أسوأ بفارق بسيط عند حرارة مرتفعة تُقبل شبه حتماً. خطوة أسوأ بكثير عند حرارة منخفضة تُرفض شبه حتماً. الجميل أنّ هذه الآلية البسيطة وحدها تكفي لضمان نحو النهاية الصغرى الشاملة — بشرط واحد: أن يكون بطيئاً بما يكفي.

افتح في المختبر
اضبط الحرارة و ΔE لترى كيف يتغيّر احتمال القبول. شاهد رمي العملة يقرّر في الوقت الحقيقي.
تستيقظ التجربة عند وصولك…

جدول التبريد: من الفوضى إلى النظام

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

الورقة الأصلية استخدمت جدولاً هندسياً: Tk+1=αTkT_{k+1} = \alpha \cdot T_k حيث تتراوح α\alpha عادةً بين 0.9 و0.99. عند كل مستوى حرارة تُنفَّذ تكرارات كافية حتى تصل المنظومة إلى شبه اتزان قبل خفض الحرارة مجدداً. هناك أيضاً جداول أخرى كالتناقص الخطي والتناقص اللوغاريتمي (Tk=C/ln(1+k)T_k = C / \ln(1+k)) الذي يملك ضماناً نظرياً بـالتقارب، لكنّه بطيء بدرجة لا تُحتمل عملياً.

في الممارسة، ضبط الجدول مزيج من الحدس والتجريب: ابدأ بحرارة عالية تكفي لقبول نحو 95% من الخطوات، ثم أبطئ التبريد في النطاق الذي تنخفض فيه نسبة القبول من 90% إلى 10% — هذا هو النطاق الحرج الذي يتشكّل فيه هيكل الحل — ثم برّد بسرعة في النهاية.

Tk+1=αTk,0<α<1T_{k+1} = \alpha \cdot T_k, \quad 0 < \alpha < 1
جدول التبريد الهندسيأبسط الجداول وأكثرها استخداماً. كلما اقتربت α من 1 (مثل 0.99) كان التبريد أبطأ وأتاح استكشافاً أعمق. وكلما اقتربت من 0.9 تسارع التقارب، لكن مع خطر تفويت النهاية الصغرى الشاملة.
افتح في المختبر
قارن بين جداول التبريد الهندسي والخطي واللوغاريتمي. شاهد تأثير كل جدول على منحنى الحرارة وجودة الحل النهائي.
تستيقظ التجربة عند وصولك…

الخوارزمية: خطوة بخطوة

لو جمعنا كل ما سبق، يعمل التلدين المحاكى في أربع مراحل:

  • التهيئة. اختر حلاً ابتدائياً عشوائياً ss واضبط درجة حرارة أوّلية مرتفعة T0T_0.
  • الاقتراح. ولّد حلاً مجاوراً عشوائياً ss' للحل الحالي.
  • القرار. احسب ΔE=cost(s)cost(s)\Delta E = \text{cost}(s') - \text{cost}(s). إن كان ΔE0\Delta E \leq 0 اقبل ss'. وإلا اقبله بـاحتمال exp(ΔE/T)\exp(-\Delta E / T).
  • التبريد. بعد عدد كافٍ من التكرارات عند الحرارة الحالية، خفّض TT وفق جدول التبريد. كرّر العملية حتى تقترب TT من الصفر أو يستقرّ الحل.

القرارات التصميمية المحورية ثلاثة: كيف تُعرِّف الجوار (أي ما الذي يُعدّ «تغييراً صغيراً»)، وكيف تضبط الحرارة الأوّلية، وأيّ جدول تبريد تختار. هذه القرارات تعتمد كلياً على طبيعة المسألة — لا يوجد إعداد سحري يصلح لكل شيء، وهذا في الوقت نفسه مصدر مرونة الأسلوب وتحدّيه.

افتح في المختبر
انقر على كل خطوة لتتابع خوارزمية التلدين المحاكى بصرياً.
تستيقظ التجربة عند وصولك…

الأساس النظري: لماذا ينجح

الأساس النظري الذي يقف خلف التلدين المحاكى هو بولتزمان من الميكانيكا الإحصائية. الفكرة أنه عند الاتزان الحراري، منظومة فيزيائية عند حرارة TT تشغل ss بـاحتمال يتناسب مع exp(E(s)/T)\exp(-E(s) / T). معنى ذلك أنّ الحالات منخفضة الطاقة مُرجَّحة أكثر بشكل أُسِّي، لكنّ الحالات مرتفعة الطاقة ليست مستحيلة — تظهر بتواتر يعتمد على الحرارة.

خوارزمية متروبولس تولّد توزيعها المستقر هو بالضبط عند الحرارة الحالية. حين تكون TT عالية يصير التوزيع شبه منتظم — كل الحالات مُستكشَفة. وحين تكون TT منخفضة تتركّز كتلة الاحتمال على الحالات ذات الطاقة (أو الكُلفة) الأدنى. ومع اقتراب TT من الصفر يتقارب التوزيع نحو كتلة نقطية عند النهاية الصغرى الشاملة.

مبرهنة التقارب تقول: إذا انخفضت الحرارة ببطء كافٍ (TkC/ln(1+k)T_k \geq C / \ln(1+k) حيث CC ثابت مرتبط بطبيعة سطح الطاقة)، فإن الخوارزمية تتقارب نحو النهاية الصغرى الشاملة باحتمال 1. ضمان قوي بلا شك — لكنّ معدّل التبريد المطلوب بطيء جداً للاستخدام العملي، ولذلك تلجأ التطبيقات الحقيقية إلى جداول أسرع وتقبل حلولاً قريبة من المثالية.

P(s)=exp(E(s)/T)sexp(E(s)/T)P(s) = \frac{\exp\bigl(-E(s)/T\bigr)}{\displaystyle\sum_{s'} \exp\bigl(-E(s')/T\bigr)}
توزيع بولتزمان — الاتزان الذي تستهدفه الخوارزميةعند T مرتفعة تتساوى الحالات تقريباً في الاحتمال (مرحلة استكشاف). وعند T منخفضة يتركّز الاحتمال على الحالات الأقل طاقة (مرحلة استغلال). المقام هو دالة التقسيم Z(T).

التطبيقات: البائع المتجول وتصميم الدوائر

اختبرت الورقة الأصلية التلدين المحاكى على مسألتين من فئة NP-صعبة:

مسألة البائع المتجول (TSP) — المطلوب إيجاد أقصر مسار يزور كل مدينة مرة واحدة بالضبط. التعديل المحلي هنا هو ما يُعرف بتبديل 2-opt: تأخذ جزءاً من المسار وتعكس ترتيبه. جرّب كيركباترك وزملاؤه ذلك على حالات تتراوح بين مئات وآلاف المدن، فحصلوا على نتائج تنافس أفضل الخوارزميات المعروفة وقتها.

تقسيم البيانات البيانية لتصميم الدوائر (VLSI) — الهدف توزيع مكوّنات الدائرة على مجموعتين بحيث يقلّ عدد الأسلاك العابرة بينهما (ما يُسمّى «القطع»)، لأنّ ذلك يؤثّر مباشرةً في تكلفة التصنيع. التعديل المحلي هو نقل مكوّن من مجموعة إلى أخرى. النتيجة: التلدين المحاكى وجد تقسيمات أفضل بوضوح من التبريد المفاجئ (أي الأمثَلة الجشعة من نقطة عشوائية)، وهذا أثبت أنّ القبول المنضبط للخطوات الصاعدة ليس ترفاً بل ضرورة.

افتح في المختبر
شاهد التلدين المحاكى وهو يُحسّن مسار البائع المتجول. يبدأ المسار فوضوياً ويتخلّص من التشابكات تدريجياً مع انخفاض الحرارة.
تستيقظ التجربة عند وصولك…

الفكرة ذاتها في شيفرة برمجية

التلدين المحاكى — تطبيق كامل مُبسَّطpython

مبسَّط لإظهار الفكرة — ليس التنفيذ الحقيقي.

import math, random

def simulated_annealing(cost_fn, neighbor_fn, s0, T0=100, alpha=0.995, n_iter=1000):
    """
    cost_fn(s)     — تُعيد كُلفة الحل s
    neighbor_fn(s) — تُعيد حلاً مجاوراً عشوائياً لـ s
    s0              — الحل الابتدائي
    T0, alpha       — الحرارة الأوّلية ومعدّل التناقص الهندسي
    """
    s = s0
    best = s
    T = T0

    for _ in range(n_iter):
        s_new = neighbor_fn(s)                      # اقترح جاراً
        delta = cost_fn(s_new) - cost_fn(s)         # فرق الكُلفة

        if delta <= 0 or random.random() < math.exp(-delta / T):
            s = s_new                               # اقبل: تحسين أو حظ

        if cost_fn(s) < cost_fn(best):
            best = s                                # تتبّع أفضل حل شوهد

        T *= alpha                                  # برّد

    return best

# هذا كل ما في الأمر. الخوارزمية بأكملها في 12 سطراً.
# السحر يكمن في دالة الكُلفة ودالة الجوار وجدول التبريد.

لماذا غيّرت هذه الورقة كل شيء

  1. 1953

    خوارزمية متروبولس

    متروبولس وروزنبلوث وآخرون يبتكرون خوارزمية لمحاكاة حالات منظومة فيزيائية عند الاتزان الحراري — وهي المحرّك الذي سيوظّفه التلدين المحاكى لاحقاً.

  2. 1983

    التلدين المحاكى (هذه الورقة)

    كيركباترك وجيلات وفيكّي يبنون جسراً بين الميكانيكا الإحصائية والأمثَلة التوافقية. تُنشر الورقة في مجلة Science وتُطلق موجة واسعة من الخوارزميات المستوحاة من الفيزياء.

  3. 1985

    اقتراح تشيرني المستقل

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

  4. 1989

    براهين التقارب

    هايك يُبرهن أنّ التبريد اللوغاريتمي يضمن التقارب نحو النهاية الصغرى الشاملة، فيضع بذلك الأساس النظري الصارم للأسلوب.

  5. 1994

    صعود الخوارزميات الجينية

    الخوارزميات الجينية التي طوّرها هولاند — مستوحاة من التطوّر البيولوجي لا من الفيزياء — تتحوّل إلى ركيزة أخرى في الأمثَلة، ونجاح التلدين المحاكى كان أحد الدوافع المباشرة لانتشارها.

  6. 1998

    التلدين الكمّي

    كادواكي ونيشيموري يطرحان التلدين الكمّي: بدل التقلّبات الحرارية يُستخدم النفق الكمّي للإفلات من النهايات الصغرى المحلية بسرعة أكبر — امتداد طبيعي لفكرة التلدين المحاكى.

  7. 2011

    حاسوب D-Wave للتلدين الكمّي

    شركة D-Wave تبني أول معالج تلدين كمّي تجاري، لتُثبت أنّ تشبيه كيركباترك لم يبقَ نظرياً بل وصل إلى العتاد الفعلي.

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

المرجعKirkpatrick, Gelatt, Vecchi. Optimization by Simulated Annealing. Science, 1983.

مصطلحات هذه الورقة