ForHosting KIT · Matematica

Paradosso dell'hotel di Hilbert

Con tre ospiti nelle camere da 1 a 3 e due nuovi arrivi, ognuno si sposta di due camere e si liberano la 1 e la 2. Inserisca il suo registro e quanti arrivano per vedere la nuova camera di ogni ospite. Gratis nel suo browser.

  • Gratis
  • Funziona nel suo browser
  • Senza registrazione
  • I suoi dati restano sul dispositivo
Usalo da WebAPIEmailTelegramApp presto

Funziona nel tuo browser: gratis, senza registrazione, i file non escono dal tuo dispositivo.

L'hotel di Hilbert è il classico esperimento mentale sull'infinito: un albergo al completo con infinite camere può sempre fare spazio ad altri ospiti, semplicemente chiedendo a ogni ospite attuale di spostarsi in avanti. Lei invia il registro attuale — ogni ospite con il numero della sua camera — più il numero dei nuovi arrivi, e riceve la nuova assegnazione di camera per ogni ospite insieme all'elenco delle camere appena liberate. Un numero di arrivi negativo viene rifiutato, perché gli ospiti non possono «dis-arrivare». L'esecuzione è deterministica, senza casualità né chiamate esterne, quindi lo stesso input produce sempre la stessa riassegnazione.

Il paradosso, reso concreto

L'esperimento mentale di David Hilbert immagina un albergo con infinite camere, tutte occupate. Quando arriva un nuovo ospite, un normale albergo pieno deve respingerlo; l'hotel di Hilbert no. Il direttore chiede semplicemente all'ospite della camera 1 di passare alla camera 2, a quello della camera 2 di passare alla camera 3, e così via: ogni ospite si sposta di una posizione e la camera 1 è improvvisamente libera.

Se arriva un pullman con quaranta turisti, tutti si spostano di quaranta camere, liberando le camere da 1 a 40. Il simulatore del paradosso dell'hotel di Hilbert esegue esattamente questo spostamento sul registro che Lei fornisce: il numero di camera di ogni ospite attuale viene aumentato del numero di arrivi, e le camere liberate in fondo alla numerazione vengono restituite esplicitamente, così può vedere con precisione dove andrebbero i nuovi arrivati.

La lezione controintuitiva — che un albergo infinito pieno ha sempre posto — diventa un semplice elenco verificabile di spostamenti di camera.

Come viene calcolato lo spostamento

L'algoritmo è volutamente semplice e completamente deterministico. Lei fornisce un elenco di ospiti attuali, ciascuno con un nome e un numero di camera intero positivo, più il numero di nuovi arrivi. Il simulatore convalida il registro — ogni camera deve essere un intero positivo e il numero di arrivi un intero non negativo — e poi somma il numero di arrivi a ogni numero di camera.

Un ospite nella camera 7 con tre nuovi arrivi finisce nella camera 10. L'output restituisce, per ogni ospite, la vecchia e la nuova camera, insieme all'elenco completo delle camere liberate: gli interi da 1 fino al numero di arrivi. Non c'è casualità, né orologio, né accesso alla rete nel calcolo, quindi chiamate ripetute con lo stesso input restituiscono risultati identici byte per byte.

Insegnare il paradosso in modo interattivo

Mostri agli studenti esattamente in quale camera si sposta ogni ospite quando arrivano uno, dieci o mille nuovi ospiti in un albergo pieno.

Generare dati per enigmi e quiz

Produca assegnazioni di camere coerenti prima e dopo, per enigmi matematici, senza calcolare gli spostamenti a mano.

Quanto costa?

È inoltre gratuito da eseguire nel Suo browser su questa pagina con lo stesso codice.

Perché un numero di arrivi negativo viene rifiutato?

Perché il paradosso funziona in una sola direzione: un albergo infinito pieno può sempre assorbire altri ospiti, ma gli ospiti non possono «dis-arrivare».

La simulazione è in qualche modo casuale?

No. È completamente deterministica: nessuna casualità, nessun orologio, nessuna rete. Lo stesso input restituisce sempre le stesse assegnazioni.

Quali sono i limiti di input?

Ogni numero di camera deve essere un intero positivo.

Questo modella un albergo davvero infinito?

Simula il passo finito del paradosso: lo spostamento di un dato registro di un dato numero di arrivi. L'infinito è la conclusione: lo spostamento funziona qualunque sia la dimensione dell'albergo.

Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.

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

Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.

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 è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.

per richiesta$0.002

Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.

max_guests10000
max_arrivals1000000
HTTPCodiceSignificato
401unauthorizedChiave API mancante o non valida: controlla l'header Authorization.
402insufficient_balanceCredito esaurito: ricarica per continuare a eseguire attività.
404unknown_typeTipo di attività sconosciuto: controlla il campo type della richiesta.
429rate_limitedTroppe richieste in poco tempo: rallenta e riprova tra qualche secondo.

Questa API simula esattamente tale spostamento.

Come viene calcolato lo spostamento

Un numero di arrivi negativo viene rifiutato con un errore invalid_input e non viene mai addebitato, perché il paradosso funziona in una sola direzione: si possono sempre ospitare più persone, ma non si possono far «dis-arrivare».

Dove si inserisce

Questa capacità è pensata per l'insegnamento, le dimostrazioni e le verifiche rapide. I docenti la usano per trasformare un paradosso astratto in qualcosa che gli studenti possono sperimentare: cambiare il numero di arrivi, osservare ogni assegnazione aggiornarsi e confermare che le camere liberate corrispondono sempre ai nuovi arrivati. Funziona anche come esempio giocoso di una funzione di riassegnazione pura — la stessa operazione «sposta ogni chiave di una costante» compare nel bilanciamento del carico, nei buffer circolari e negli schemi di rehashing — e questo endpoint la dimostra senza alcuna configurazione. Funziona gratuitamente nel Suo browser su questa pagina con lo stesso codice che serve l'API, quindi paga solo quando la automatizza, a $0.002 a richiesta. I limiti di input mantengono il registro ragionevole — fino a diecimila ospiti e un milione di arrivi per chiamata — ben oltre le esigenze di qualsiasi aula o demo, garantendo al contempo risposte istantanee.

Dimostrare una funzione di spostamento deterministica

Illustri lo schema «sposta ogni chiave di una costante» usato nel rehashing e nel bilanciamento del carico con un esempio memorabile.

Cosa contiene il campo freed_rooms?

I numeri delle camere liberate dallo spostamento: gli interi da 1 fino al numero di arrivi. Sono le camere che i nuovi ospiti occuperebbero.

Leggi la documentazione completa del KIT →