Featured image of post ما هو حدسية كولاتز؟ التحقق من مشكلة الرياضيات غير المحلولة حيث ينتهي أي رقم بـ 1 باستخدام Python

ما هو حدسية كولاتز؟ التحقق من مشكلة الرياضيات غير المحلولة حيث ينتهي أي رقم بـ 1 باستخدام Python

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

هل صحيح أن “أي رقم ينتهي في النهاية إلى 1”؟ ── جربت اللعب بحدسية كولاتز

مرحباً! أنا كينجي.

سؤال مفاجئ، ولكن عندما تسمع بـ “قاعدة تؤدي فيها كل الأرقام إلى 1 في النهاية”، أليس هذا غريباً بعض الشيء؟

على سبيل المثال، 19، أو 87، أو حتى 1000000. إذا اتبعت قاعدة معينة للتلاعب بالأرقام، فستنتهي في النهاية بشكل غريب إلى “1”.

هذه القصة التي تبدو وكأنها حلم هي حدسية كولاتز (Collatz Conjecture).


بداية، ما هي حدسية كولاتز؟

أولاً، سأشرح لك القاعدة.

  • البداية: اختر أي عدد صحيح موجب

  • العملية:

    • إذا كان زوجياً ← اقسمه على اثنين (n ← n / 2)
    • إذا كان فردياً ← اضربه في 3 وأضف 1 (n ← 3n + 1)

إذا كررت هذا باستمرار، فإن الحدسية تقول إن أي رقم سيصل في النهاية إلى 1.

على سبيل المثال، إذا بدأنا بـ 6:

1
6 → 3 → 10 → 5 → 16 → 8 → 4 → 2 → 1

لقد أصبح “1” بالفعل. أهلاً بعودتك!


دعونا نجربها بالكود: كولاتز باستخدام بايثون

حسناً، في مثل هذه الحالات، من الأسرع تجربتها بالكود! دعونا نطبع “متتالية كولاتز” باستخدام بايثون.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
def collatz(n):
    steps = [n]
    while n != 1:
        if n % 2 == 0:
            n = n // 2
        else:
            n = 3 * n + 1
        steps.append(n)
    return steps

# مثال: لنبدأ من 19
print(collatz(19))

عند التنفيذ:

1
[19, 58, 29, 88, 44, 22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1]

لقد وصل إلى 1 بنجاح. على الرغم من أنه أخذ بعض الطرق الالتفافية، إلا أنه وصل إلى خط النهاية في الأخير!

بالمناسبة، حتى لو بدأنا بـ 27، سيصل إلى 1 بنفس الطريقة.

1
print(collatz(27))

عند التنفيذ:

1
2
3
4
5
6
7
8
[27, 82, 41, 124, 62, 31, 94, 47, 142, 71, 214, 107, 322, 161, 484, 242,
121, 364, 182, 91, 274, 137, 412, 206, 103, 310, 155, 466, 233, 700, 350,
175, 526, 263, 790, 395, 1186, 593, 1780, 890, 445, 1336, 668, 334, 167,
502, 251, 754, 377, 1132, 566, 283, 850, 425, 1276, 638, 319, 958, 479,
1438, 719, 2158, 1079, 3238, 1619, 4858, 2429, 7288, 3644, 1822, 911,
2734, 1367, 4102, 2051, 6154, 3077, 9232, 4616, 2308, 1154, 577, 1732,
866, 433, 1300, 650, 325, 976, 488, 244, 122, 61, 184, 92, 46, 23, 70, 35,
106, 53, 160, 80, 40, 20, 10, 5, 16, 8, 4, 2, 1]

يا إلهي، يستغرق الأمر 111 خطوة!

علاوة على ذلك، في منتصف الطريق ينتفخ العدد ليصل إلى أكثر من 9000. هذا نمط يأخذ فيه طرقاً التفافية مجنونة قبل الوصول إلى خط النهاية.


إذاً، ما هو الشيء المذهل في كل هذا؟

ما يميز هذه الحدسية هو:

على الرغم من أنه لم يتم إثباتها، يبدو أنها تصل دائماً إلى 1 بغض النظر عن الرقم الذي تستخدمه

أليس كذلك؟

لحظة؟ ماذا عن تريليون، أو كوادريليون…؟

لمن فكر في ذلك، أنت حاد الذكاء. في الواقع، باستخدام أجهزة الكمبيوتر، تم التحقق من الأرقام حتى “2 أس 68”، وكلها تصل إلى 1. أمر لا يصدق…

ولكن، لم يتم إثبات نظرياً أن “الكل سيصبح هكذا”. هذا ما يسمى بـ “مسألة غير محلولة” في عالم الرياضيات.


لماذا تصل إلى “1”؟ مقاربة من نظرية الاحتمالات (خلفية رياضية)

قد يبدو وكأنه سحر أن ينتهي أي رقم بـ 1، ولكن من منظور احتمالي هناك سبب منطقي يجعلك تقول “حسناً، من المحتمل أن يحدث ذلك”.

بالنسبة للعدد الفردي $n$، إذا قمت بـ 3n + 1، ستكون الإجابة دائمًا عدداً زوجياً. لذلك، في الخطوة التالية، سيتم قسمته حتمًا على 2، مما يجعله فعليًا $\frac{3n + 1}{2} \approx 1.5n$.

واحتمال أن يكون هذا الرقم الجديد زوجياً أيضاً هو $\frac{1}{2}$. إذا كان زوجياً، سيتم قسمته على 2 مرة أخرى ليصبح $0.75n$، وهو أصغر من العدد الأصلي.

على الرغم من أن هذا ليس دقيقاً من الناحية الرياضية، إلا أنه من المعروف أنه عند أخذ المتوسط الهندسي لـ “مضاعف” القفز من عدد فردي إلى العدد الفردي التالي، فإنه يكون حوالي $\frac{3}{4}$ ضعف (نموذج احتمالي استدلالي). بعبارة أخرى، نظراً لوجود اتجاه لتقلص القيمة في المتوسط، فإنها في النهاية تنجذب نحو الرقم 1.

ماذا لو غيرنا القاعدة قليلاً؟ (مقارنة مع حدسيات أخرى)

قد ترغب في التفكير، “حسناً، ماذا لو ضربنا في 5 بدلاً من 3؟”. في الواقع، تُعرف هذه بـ مسألة $5n + 1$، وفي هذه الحالة، لا تتقارب جميع الأرقام إلى 1.

في حالة $5n + 1$، تم تأكيد وجود حلقات متعددة (دورات) مختلفة، وقد تم الإشارة أيضاً إلى إمكانية وجود أرقام تستمر في النمو إلى ما لا نهاية (تباعد). أيضاً، في حالة مسألة $3n - 1$، إلى جانب حلقة “$1 \to 2 \to 1$"، توجد حلقة أخرى مثل “$5 \to 14 \to 7 \to 20 \to 10 \to 5$”.

هذا يوضح لنا كيف أن خاصية “كل شيء يتقارب إلى 1 (حلقة $4 \to 2 \to 1$)” في حدسية كولاتز مبنية على توازن دقيق ومذهل.


ذروة الإنجاز البشري 1: حدود البحث الشامل باستخدام الحواسيب

حالياً، يواصل علماء الرياضيات وهواة علوم الكمبيوتر حول العالم حساب حدسية كولاتز بلا توقف باستخدام الحوسبة الموزعة (مشروع يجمع قوة الحوسبة لأجهزة الكمبيوتر حول العالم) ووحدات معالجة الرسومات (GPUs).

اعتباراً من عام 2020، تم تأكيد صحة حدسية كولاتز (أنها تصل إلى 1 في النهاية) بواسطة أجهزة الكمبيوتر لجميع القيم الأولية التي تصل إلى $2^{68}$ (حوالي 295,000 كوادريليون).

ومع ذلك، في عالم الرياضيات، لا يمكنك القول “لقد تأكدنا حتى 295 كوادريليون، لذلك من المحتمل أن يكون كل شيء صحيحاً”. فبمقارنتها ببحر الأرقام اللامتناهي، فإن حتى $2^{68}$ لا يعدو كونه “مجرد قطرة أولى”.


ذروة الإنجاز البشري 2: عدم القابلية للحسم واختراق تيرينس تاو

للإجابة على السؤال “لماذا لا يستطيع أحد إثباتها؟"، أثبت عالم الرياضيات البريطاني العبقري جون كونواي في عام 1972 أن نسخة موسعة قليلاً من حدسية كولاتز هي مسألة “غير قابلة للحسم (Turing complete)”. هذه حقيقة مرعبة تمس جوهر علوم الكمبيوتر، وتعني أنه بناءً على القواعد، “لا توجد خوارزمية يمكنها تحديد ما إذا كان الرقم سيصل إلى 1 أم لا من حيث المبدأ”. حتى أن هناك احتمالاً بأن حدسية كولاتز نفسها قد تكون افتراضاً غير قابل للإثبات ضمن إطار الرياضيات الحديثة.

ومع ذلك، في عام 2019، حدث اختراق كبير أخيراً. أثبت تيرينس تاو (Terence Tao)، أحد أعظم علماء الرياضيات العباقرة في العصر الحديث، باستخدام تقنيات المعادلات التفاضلية الجزئية ونظرية الاحتمالات، أن “بالنسبة لجميع القيم الأولية تقريباً (على الرغم من أنه لا يمكن القول حرفياً أن جميعها كذلك)، تصل متتالية كولاتز في النهاية إلى قيمة أصغر بكثير من الرقم الأصلي”.

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


من هو السيد كولاتز؟

والآن، بعد أن قرأت كل هذا، ربما تتساءل “من هو كولاتز في الأساس؟”. سأقوم بتقديمه لك بشكل صحيح!

  • الاسم: لوثار كولاتز (Lothar Collatz)
  • الجنسية: ألماني
  • سنة الميلاد: 1910 - 1990
  • المهنة: عالم رياضيات (نشط في مجالات التحليل الدالي ونظرية الأعداد)

لقد اقترح هذه الحدسية في عام 1937، ومنذ ذلك الحين، ولأكثر من 80 عاماً، لم يتمكن أحد من إثباتها أو دحضها.

بالمناسبة، هذه المسألة بسيطة جداً ولكنها عميقة للغاية، حتى أن بول إيردوس (عالم رياضيات مشهور جداً) قال عنها:

“الرياضيات ليست مستعدة بعد للتعامل مع مشكلات مثل كولاتز”

بعبارة أخرى، النظرية تقول إن رياضيات البشر لم تلحق بهذا اللغز بعد…


لا حاجة لـ “معادلات معقدة”

أفضل ما في حدسية كولاتز هو أنه يمكن لأي شخص اللعب بها.

يمكنك القيام بذلك باستخدام ورقة وقلم. إذا كتبت الكود باستخدام بايثون، يمكنك تجربته تلقائياً. ومع ذلك، يخوض كبار علماء الرياضيات في العالم تحدياً حقيقياً معها.

أليس هذا مثيراً؟


إضافة: كود لتجربة العديد من الأرقام دفعة واحدة

سأرفق أيضاً كوداً لتجربة العديد من الأرقام معاً.

1
2
3
for n in range(1, 21):
    steps = collatz(n)
    print(f"{n}: {steps} (عدد الخطوات: {len(steps)-1})")

سيقوم هذا بطباعة متتالية كولاتز للأرقام من “1 إلى 20” دفعة واحدة.


الخلاصة: هذا العالم حقاً غريب

وهكذا، كانت هذه هي حدسية كولاتز.

  • على الرغم من أنها بسيطة للغاية
  • لا يمكن لأحد إثباتها
  • إنها مشكلة كبيرة في عالم الرياضيات

لقد كانت وجوداً يشبه كتلة من العجائب.

حتى المبتدئين في البرمجة يمكنهم تجربتها، لذا يرجى اللعب بها!


روابط موصى بها (للمهتمين)


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


📮النهاية!


comments powered by Disqus
مبني بستخدام Hugo
قالب Stack مصمم من Jimmy