La funzione busy beaver è un importante artefatto della teoria della computabilità, in particolare è nota per crescere (asintoticamente) più velocemente di qualsiasi funzione calcolabile. Intuitivamente questo significa che è una sequenza "più difficile" da calcolare rispetto a tutte le sequenze calcolabili.
Quindi, dà origine a un nuovo tipo di dimostrazione per esaurimento. Supponiamo di dover scrivere un programma della macchina di Turing P per testare tutti i possibili casi speciali di una dimostrazione (potenzialmente un numero infinito di casi). Se il programma trova un problema con la prova, si fermerà. Altrimenti, funzionerà per sempre. Secondo la definizione di macchina castoro occupata, se la macchina di Turing P si ferma, si fermerà prima della macchina castoro occupata con il numero equivalente di stati . Quindi, tutto quello che dobbiamo fare per dimostrare la nostra teorema è quello di eseguire il nostro programma per il numero di passi specificato, e se non fermare prima che la nostra macchina castoro occupato poi abbiamo la garanzia che non sarà mai fermata, e in effetti non ci può non contraddizioni di casi speciali alla nostra dimostrazione.
L'uso di questo fatto non è fattibile sull'attuale hardware del computer, ma raramente è stato un ostacolo a questo tipo di ricerca. Se il nostro concetto di hardware o software per computer venisse rivoluzionato e tale compito potesse essere completato, allora questo sarebbe un approccio sistematico per provare o confutare molte questioni in sospeso in molti campi. Uno degli scopi di questo tipo di ricerca è stimolare nuove domande, non fornire nuove risposte.
Quando si tratta di calcolare S (5) in particolare, la sfida è una sfida di ricerca di base. La ricerca pura riguarda la risoluzione di problemi che non sono mai stati risolti, non si tratta di avere una grande applicazione. Nessuno ha ancora escogitato un modo per calcolare S (5) e poiché questa sequenza non è calcolabile è possibile che non ci sia modo per calcolare efficacemente questo numero. Essere in grado di calcolarlo, o di fornire una ragione per cui non può essere calcolato, sarebbe probabilmente un risultato pubblicabile: entrambi sono difficili e nessuno dei due è mai stato fatto prima.
Come esercizio pratico è una buona applicazione della teoria della computabilità e un contrappunto al problema dell'arresto. Il problema dell'arresto ci mostra che non esiste un singolo algoritmo che possa dirci se un programma arbitrario si interrompe, ma spesso è possibile dire se un programma specifico si fermerà. L'analisi di S (3) e S (4) ha richiesto un'analisi approfondita da parte di esperti per determinare se alcune macchine di Turing con 3 e 4 stati si fossero effettivamente fermate o meno. Questo non è realmente possibile con S (5), quindi per affrontare questo problema è necessario porre altre domande come "quali classi di programmi possiamo determinare se si arrestano o meno?".
Per vedere più chiaramente, prova questo post sul blog di Scott Aaronson del MIT. Un suo studente ha dimostrato che l'ottantesimo numero di castori occupati è inconoscibile dalla teoria degli insiemi standard. La matematica e la logica non possono calcolare questo numero, anche dato un tempo e uno spazio illimitati. Ecco una domanda molto ovvia e molto profonda a cui nessuno può rispondere: perché possiamo conoscere S (1), S (2), S (3) e S (4) in modo relativamente semplice, non possiamo dire se possiamo conoscere S (5), e possiamo dire con certezza che non possiamo conoscere S (8000)? Se potessi dirci la risposta avresti l'attenzione di molte persone intelligenti. Sforzarsi di fare il duro lavoro di calcolare S (5) è un passo per comprenderlo.
S (8000) è il primo elemento di questa sequenza che è inconoscibile? In caso contrario, qual è l'elemento più piccolo?
Due note: non sono un teorico, quindi tutta questa è la mia interpretazione. Prendilo con un pizzico di sale. In secondo luogo, un luogo migliore per questa domanda sarebbe lo scambio di stack di informatica. Adorano questa roba laggiù.