ForHosting KIT · الرياضيات

مفارقة فندق هيلبرت

إذا كان ثلاثة نزلاء في الغرف من 1 إلى 3 ووصل اثنان جديدان، ينتقل كل نزيل غرفتين إلى الأمام وتفرغ الغرفتان 1 و2. أدخل سجلك وعدد الوافدين لترى الغرفة الجديدة لكل نزيل. مجاني في متصفحك.

  • مجاني
  • يعمل في متصفحك
  • دون تسجيل
  • بياناتك لا تغادر جهازك
استخدمها من الويبAPIالبريدTelegramالتطبيق قريبًا

تعمل هذه الأداة داخل متصفحك — مجانًا، ولا تُرسل بياناتك إلى أي خادم

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

المفارقة في صورة ملموسة

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

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

كيف تُحسب الإزاحة

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

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

أين يكمن نفعه

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

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

تدريس المفارقة تفاعليًا

اعرض للطلاب الغرفة التي ينتقل إليها كل نزيل بالضبط حين يصل إلى فندق ممتلئ وافد واحد أو عشرة أو ألف وافد جديد.

عرض دالة إزاحة حتمية

وضّح نمط «إزاحة كل مفتاح بمقدار ثابت» المستخدم في إعادة التجزئة وموازنة الأحمال من خلال مثال لا يُنسى.

توليد بيانات الألغاز والاختبارات

أنتج تخصيصات غرف متسقة قبل الإزاحة وبعدها لألغاز الرياضيات دون حساب الإزاحات يدويًا.

كم تبلغ التكلفة؟

كما يمكن تشغيلها مجانًا في متصفحك على هذه الصفحة بالشيفرة نفسها.

لماذا يُرفض عدد الوافدين السالب؟

لأن المفارقة تعمل في اتجاه واحد: الفندق اللانهائي الممتلئ يستوعب دائمًا مزيدًا من النزلاء، لكن النزلاء لا يمكنهم إلغاء وصولهم.

هل في المحاكاة أي عشوائية؟

لا. إنها حتمية تمامًا — لا عشوائية ولا ساعة ولا شبكة. المدخل نفسه يعيد دائمًا التخصيصات نفسها.

ما حدود المدخلات؟

حتى 10,000 نزيل حالي وحتى 1,000,000 وافد جديد في الطلب الواحد. ويجب أن يكون كل رقم غرفة صحيحًا موجبًا.

هل تنمذج هذه الأداة فندقًا لانهائيًا فعلًا؟

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

كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.

POSThttps://api.kit.forhosting.com/math/hilberts-hotel-paradox

صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.

curl -X POST https://api.kit.forhosting.com/math/hilberts-hotel-paradox \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"guests":[{"guest":"Ada","room":1},{"guest":"Alan","room":2},{"guest":"Grace","room":3}],"new_arrivals":2}'
{
  "guests": [
    {
      "guest": "Ada",
      "room": 1
    },
    {
      "guest": "Alan",
      "room": 2
    },
    {
      "guest": "Grace",
      "room": 3
    }
  ],
  "new_arrivals": 2
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "math.hilberts_hotel_paradox",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.

لكل طلب$0.002

السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.

max_guests10000
max_arrivals1000000
HTTPالرمزالمعنى
401unauthorizedمفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك.
402insufficient_balanceرصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة.
404unknown_typeنوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب.
429rate_limitedتجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة.

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

كيف تُحسب الإزاحة

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

أين يكمن نفعه

تعمل مجانًا في متصفحك على هذه الصفحة بالشيفرة نفسها التي تخدم واجهة API، فلا تدفع إلا عند أتمتتها، بمقدار $0.002 لكل طلب.

ماذا يحتوي حقل freed_rooms؟

أرقام الغرف التي أخلتها الإزاحة: الأعداد الصحيحة من 1 حتى عدد الوافدين. هذه هي الغرف التي سيشغلها النزلاء الجدد.

اطّلع على توثيق KIT الكامل ←