ForHosting KIT · Mathématiques

Paradoxe de l'hôtel de Hilbert

Avec trois clients dans les chambres 1 à 3 et deux nouveaux arrivants, chacun avance de deux chambres et les chambres 1 et 2 se libèrent. Saisissez votre registre et le nombre d'arrivants pour voir la nouvelle chambre de chaque client. Gratuit dans votre navigateur.

  • Gratuit
  • Fonctionne dans votre navigateur
  • Sans inscription
  • Vos données restent sur votre appareil
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt

Tout se passe dans votre navigateur : gratuit, sans envoi de vos données.

L'hôtel de Hilbert est l'expérience de pensée classique sur l'infini : un hôtel complet aux chambres infinies peut toujours accueillir de nouveaux clients, en demandant simplement à chaque occupant de monter d'un étage. Vous envoyez le registre actuel — chaque client et son numéro de chambre — ainsi que le nombre de nouveaux arrivants, et vous recevez la nouvelle attribution pour chaque client, accompagnée de la liste des chambres libérées. Un nombre d'arrivants négatif est rejeté, car les clients ne peuvent pas « désarriver ». Le calcul est déterministe, sans hasard ni appels externes : une même entrée produit toujours la même réattribution.

Le paradoxe, rendu concret

L'expérience de pensée de David Hilbert imagine un hôtel aux chambres infinies, toutes occupées. À l'arrivée d'un nouveau client, un hôtel ordinaire complet doit le refuser ; pas celui de Hilbert. Le directeur demande simplement au client de la chambre 1 de passer à la 2, à celui de la chambre 2 de passer à la 3, et ainsi de suite — chacun monte d'une place, et la chambre 1 se libère.

Si un car de quarante touristes arrive, tout le monde monte de quarante chambres, libérant les chambres 1 à 40. Le simulateur du paradoxe de l'hôtel de Hilbert applique exactement ce décalage au registre que vous lui fournissez : le numéro de chambre de chaque client augmente du nombre d'arrivants, et les chambres libérées en bas de la numérotation sont renvoyées explicitement, pour que vous voyiez précisément où iraient les nouveaux venus.

La leçon contre-intuitive — un hôtel infini complet a toujours de la place — devient une simple liste vérifiable de déplacements.

Comment le décalage est calculé

L'algorithme est volontairement simple et entièrement déterministe. Vous fournissez une liste de clients actuels, chacun avec un nom et un numéro de chambre entier positif, ainsi que le nombre de nouveaux arrivants. Le simulateur valide le registre — chaque chambre doit être un entier positif et le nombre d'arrivants un entier non négatif — puis ajoute ce nombre à chaque numéro.

Un client en chambre 7 avec trois arrivants se retrouve en chambre 10. Le résultat renvoie, pour chaque client, son ancienne et sa nouvelle chambre, ainsi que la liste complète des chambres libérées : les entiers de 1 jusqu'au nombre d'arrivants. Aucun hasard, aucune horloge, aucun accès réseau dans le calcul : des appels répétés avec la même entrée renvoient des résultats identiques à l'octet près.

Où il s'inscrit

Cette capacité est conçue pour l'enseignement, les démonstrations et les vérifications rapides. Les enseignants l'utilisent pour transformer un paradoxe abstrait en quelque chose que les élèves peuvent manipuler : modifiez le nombre d'arrivants, observez chaque attribution se mettre à jour, et confirmez que les chambres libérées correspondent toujours aux nouveaux venus.

C'est aussi un exemple ludique de fonction de réattribution pure — l'opération « décaler chaque clé d'une constante » apparaît dans la répartition de charge, les tampons circulaires et le rehachage, et ce point d'accès la démontre sans aucune configuration.

Enseigner le paradoxe de façon interactive

Montrez aux élèves exactement vers quelle chambre chaque client se déplace lorsqu'un, dix ou mille nouveaux arrivants se présentent dans un hôtel complet.

Démontrer une fonction de décalage déterministe

Illustrez le schéma « décaler chaque clé d'une constante » utilisé dans le rehachage et la répartition de charge, avec un exemple mémorable.

Générer des données d'énigmes et de quiz

Produisez des attributions de chambres cohérentes avant et après décalage pour des énigmes mathématiques, sans calcul manuel.

Combien cela coûte-t-il ?

Son exécution est également gratuite dans votre navigateur sur cette page, avec le même code.

Pourquoi un nombre d'arrivants négatif est-il rejeté ?

Parce que le paradoxe ne fonctionne que dans un sens : un hôtel infini complet peut toujours absorber plus de clients, mais les clients ne peuvent pas désarriver.

La simulation comporte-t-elle une part d'aléatoire ?

Non. Elle est entièrement déterministe — ni hasard, ni horloge, ni réseau. La même entrée renvoie toujours les mêmes attributions.

Quelles sont les limites d'entrée ?

Chaque numéro de chambre doit être un entier positif.

Modélise-t-elle un hôtel réellement infini ?

Elle simule l'étape finie du paradoxe : décaler un registre donné d'un nombre d'arrivants donné. L'infini est la morale de l'histoire — le décalage fonctionne quelle que soit la taille de l'hôtel.

Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.

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

Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.

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"
  }
}

L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

max_guests10000
max_arrivals1000000
HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

Cette API simule exactement ce déplacement.

Comment le décalage est calculé

Un nombre négatif est rejeté avec une erreur invalid_input et n'est jamais facturé, car le paradoxe ne fonctionne que dans un sens — on peut toujours faire entrer plus de clients, mais on ne peut pas les désarriver.

Où il s'inscrit

Il fonctionne gratuitement dans votre navigateur sur cette page avec le même code que l'API : vous ne payez que lorsque vous l'automatisez, à $0.002 par requête. Les limites d'entrée gardent le registre raisonnable — jusqu'à dix mille clients et un million d'arrivants par appel — bien au-delà des besoins d'une classe ou d'une démo, tout en garantissant des réponses instantanées.

Que contient le champ freed_rooms ?

Les numéros de chambres libérées par le décalage : les entiers de 1 jusqu'au nombre d'arrivants. Ce sont les chambres qu'occuperaient les nouveaux clients.

Consulter la documentation complète du KIT →