Come si può decidere se


130

Ci hanno dato il seguente esercizio.

Permettere

f(n)={10n occurs in the decimal representation of π0else

Dimostra che è calcolabile.f

Com'è possibile? Per quanto ne so, non sappiamo se contenga tutte le sequenze di cifre (o quali) e un algoritmo non può certamente decidere che non si stia verificando alcuna sequenza . Quindi penso che f non sia calcolabile, perché il problema di fondo è solo semi-decidibile.πf


32
Perdonami per essere completamente ignorante, mi manca ovviamente qualche punto fondamentale della domanda, ma non è 0 ^ n sempre 0? Dal momento che il 32 ° decimale se pi è 0, ciò significa che f (n) restituisce sempre 1?
Cory Klein,

69
nna5=aaaaa0

Risposte:


133

Ci sono solo due possibilità da considerare.

  • n0nπ

  • N0NπN

    Zeros-in-pi(n):
     if (n > N) then return 0 else return 1
    

Nnπ


Nota la sottile differenza con il seguente schizzo di prova proposto da Gallais :

  1. Prendi una macchina Turing casuale e un input casuale.
  2. O il calcolo continuerà per sempre o si fermerà ad un certo punto e c'è una funzione (costante) calcolabile che descrive ciascuno di questi comportamenti.
  3. ???
  4. Profitto!

Alex ten Brink spiega:

attenzione a ciò che afferma il teorema di Halting: afferma che non esiste un singolo programma in grado di decidere se un determinato programma si interrompe. Puoi facilmente creare due programmi in modo che uno dei due calcoli se un determinato programma si ferma: il primo dice sempre "si ferma", il secondo "non si ferma" - un programma ha sempre ragione, non possiamo calcolare quale di loro è!

sepp2k aggiunge:

Nel caso dell'esempio di Alex, nessuno degli algoritmi restituirà il risultato giusto per tutti gli input. Nel caso di questa domanda, uno di loro lo farà. Puoi affermare che il problema è decidibile perché sai che esiste un algoritmo che produce il risultato giusto per tutti gli input. Non importa se sai quale sia l'algoritmo. 10


I commenti non sono per una discussione estesa; questa conversazione è stata spostata in chat .
Gilles,

12
Cosa accadrebbe se qualcuno dimostrasse che l'affermazione "Per ogni numero intero positivo n, la stringa 0 ^ n appare nella rappresentazione decimale di π" non è dimostrabile? Vorremmo ancora dire che questo problema è decidibile, nonostante il fatto che nessun algoritmo corretto possa mai essere costruito?
Altri

4
@Altri Sì, lo faremmo.
JeffE,

1
@JeffE Va bene. È possibile una prova nella logica intuitiva? O qui è necessaria la legge del mezzo escluso?
Altri

NMN

14

Pubblicando solo una leggera elaborazione sulla risposta di JeffE.

Sappiamo che esistono due funzioni / casi che possono calcolare la funzione f (n):

  1. Una funzione che restituisce sempre true (per tutti n, esiste n numero di 0 consecutivi)
  2. Una funzione che restituirà vero se n è più piccolo di un intero N, dove N è definito come la lunghezza massima di 0 consecutivi che esistono nel dato numero irrazionale (altrimenti restituisce falso).

Una e solo una di queste funzioni può essere corretta. Non sappiamo quale, ma sappiamo con certezza che esiste una risposta. La calcolabilità richiede l'esistenza di una funzione in grado di determinare la risposta entro un numero limitato di passaggi.

Il numero di passaggi nel caso 1 è banalmente legato alla sola restituzione di 1.

NTN(n)n<NNNTN(n)n<N

Anche se potrebbe non essere possibile scegliere tra i due casi (sebbene uno sembri più probabile di un altro), sappiamo che uno di essi deve essere esatto.

Come nota a margine: la nostra soluzione suppone che mentre non siamo in grado di determinare quale funzione susciterà un valore corretto, l'essenza della calcolabilità non si basa sulla costruibilità della dimostrazione. L'esistenza pura è sufficiente.


9
Non tutti i matematici lo accettano - ad esempio gli intuizionisti no.
reinierpost,

P¬P

5

Il passaggio 5 del seguente tentativo di prova è ingiustificato e, di fatto, sbagliato : un controesempio può essere trovato qui . (grazie, Yuval; sembrava la parte più sketchi dello schizzo). Ho lasciato la risposta qui perché penso che l'errore sia istruttivo.


Prima di tutto: la coppia di risposte di JeffE è sufficiente; f è calcolabile in entrambi i modi.


π
π
π

π
π


10
ππ

1
Ah, i pericoli dei salti induttivi: P Buona cattura, grazie.
Stephen Voris,

1
Per inciso, se la conclusione è sbagliata, ha più senso per me eliminarlo o lasciarlo e riconoscere tramite modifica che è sbagliato?
Stephen Voris,

4
πbb

2
@DavidRicherby Grande problema aperto, dici? Sì, è buono a sapersi. Penso che questo sia un errore ragionevolmente educativo, come prova di quanto sia complicato il problema su cui si basa la domanda del PO - ovviamente potrei sbagliarmi anche su questo, dato il voto negativo.
Stephen Voris,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.