Le macchine di Turing assumono qualcosa di infinito ad un certo punto?


9

In una domanda precedente Che cos'è esattamente un algoritmo? , Ho chiesto se avere un "algoritmo" che restituisce il valore di una funzione basata su una matrice di valori pre-calcolati fosse un algoritmo.

Una delle risposte che ha attirato la mia attenzione è stata questa:

L'esempio fattoriale entra in un diverso modello di calcolo, chiamato calcolo non uniforme. Una macchina di Turing è un esempio di un modello uniforme di calcolo: ha una singola descrizione finita e funziona per input di dimensioni arbitrariamente grandi. In altre parole, esiste una TM che risolve il problema per tutte le dimensioni di input.

Ora, potremmo invece considerare il calcolo come segue: per ogni dimensione di input, esiste una TM (o qualche altro dispositivo di calcolo) che risolve il problema. Questa è una domanda molto diversa. Si noti che una singola TM non può memorizzare il fattoriale di ogni singolo numero intero, poiché la TM ha una descrizione finita. Tuttavia, possiamo creare una TM (o un programma in C) che memorizza i fattoriali di tutti i numeri inferiori a 1000. Quindi, possiamo creare un programma che memorizza i fattoriali di tutti i numeri tra 1000 e 10000. E così via.

Ogni TM non assume davvero un modo per affrontare l'infinito? Voglio dire, anche una TM con una descrizione finita che computer il fattoriale di qualsiasi numero N attraverso l'algoritmo

 int fact(int n) 
 { 
 int r = 1; 
 for(int i=2;i<=n;i++) 
 r = r*i; 
 return r; 
 } 

contiene il presupposto che una TM abbia l '"hardware" per confrontare numeri di dimensioni arbitrarie attraverso il comparatore "<=", e anche ADDERS per incrementare i fino a un numero arbitrario, inoltre , la capacità di rappresentare numeri di dimensioni arbitrarie.

Mi sto perdendo qualcosa? Perché l'approccio che ho presentato nell'altra mia domanda è meno fattibile rispetto all'infinito di questo?


5
Nota la distinzione tra "infinito" e "arbitrariamente grande".
Raffaello

Questa è un'ottima domanda, ma è dichiarata erroneamente. Quando ti riferisci a Turing Machines, ottieni risposte basate sul modello di calcolo più semplicistico. E questo porterà poca luce alla tua ricerca per capire cos'è un algoritmo, poiché la maggior parte delle risposte si baserà sui limiti del potere espressivo di un tipo di macchina molto arbitrariamente vincolata. Molto dipende da ciò che è una descrizione finita, che in realtà dovrebbe essere una descrizione calcolabile. Una cosa che conta è che sono calcolabili. Il finito è calcolabile, ma il calcolo non è necessariamente finito.
babou,

@Raphael Infinite non è uguale arbitrariamente grande. Ma può essere più semplice considerare infinite sequenze crescenti abitualmente, se un'entità infinita può essere definita appropriatamente come il limite di questa sequenza. Gestiamo oggetti infiniti calcolabili, così definiti, continuamente.
babou,

Sospetto che le risposte negative alla tua domanda siano basate sul presupposto che nulla è infinito al di fuori di un regno etereo della matematica astratta. In tal caso, la domanda è controversa. Le macchine di Turing non possono "assumere qualcosa di infinito" semplicemente perché non c'è nulla di infinito.
babou,

Risposte:


9

<=<=QΣ

<=|Q||Σ|

Le macchine di Turing in realtà non "affrontano l'infinito": si occupano di cose finite illimitate, almeno nella loro definizione standard. L'input è una stringa finita e, dopo un numero finito di passaggi, la macchina ha esaminato o scritto solo un numero finito di celle a nastro. Non vi è alcun limite alla dimensione dell'input o al numero di passaggi di calcolo, ma l'input è finito e, dopo un numero finito di passaggi, è stata prodotta solo una quantità finita di output.


7

Penso che l'importante distinzione da fare sia che la descrizione della macchina di Turing è finita, così come lo è l'input alla macchina, mentre il nastro che usa come memoria è infinito. La TM è una macchina per lo più finita, che utilizza un nastro finito. Considera che il nastro è composto da celle, in cui ogni cella può contenere un singolo valore. L'ingresso alla TM è scritto sul nastro.

La descrizione di una TM è un insieme finito di tuple <current state, input, output, move, next state>.

Ad ogni passaggio, la cosa da fare si trova abbinando lo stato e l'input correnti. Ad esempio, siamo nello stato 0 e leggiamo un 1, quindi troviamo la tupla che inizia <0, 1, ...>quindi scriviamo un nuovo valore nella cella corrente, spostiamo a sinistra oa destra (penso che la definizione classica consenta anche di rimanere nella stessa cella anche), quindi passare a un nuovo stato.

Quindi, per il tuo esempio, avresti bisogno di una descrizione infinitamente grande della TM (un numero infinito di <current state, input, output, move, next state>tuple), o includi le informazioni di ricerca nell'input alla TM. Credo che l'input per una TM sia definito come finito. Quindi, probabilmente non è qualcosa che potresti fare con una macchina Turing definita in modo classico.

L'esempio di Fibonacci, al contrario, può essere calcolato in binario con un numero finito di tuple per descrivere la TM e ha un input finito.


5
Non è necessario che il nastro sia infinito! Può essere esteso secondo necessità. Tutto ciò che serve è che il nastro possa essere arbitrariamente grande .
reinierpost,

5

In breve : Turing Machine può eseguire (infinitamente specificato) calcoli infiniti su (infinitamente specificato) dati infiniti e produrre (infinitamente specificato) risultati infiniti. L'idea di base è che quegli infiniti possano essere definiti come il limite di entità finite, definite in modo matematicamente appropriato. Questa è la base della semantica matematica del calcolo. Se si considerano i programmi anziché le macchine di Turing, questi programmi possono contenere anche strutture di dati infinite (specificate in modo preciso). Il caso di una funzione tabulata factcome possibile algoritmo viene analizzato alla fine, come un programma o come un modello TM, con un accenno alla relazione con la valutazione pigra di oggetti infiniti.

Con molti più dettagli

Per quanto riguarda la tua domanda finale, una TM non calcola su numeri arbitrari, ma sulla rappresentazione simbolica di questi numeri come lunghe stringhe arbitrariamente (illimitate) di simboli che li rappresentano. Modulo di codifica corretta, è corretto che possano confrontare o fare aritmetiche con tali numeri attraverso queste rappresentazioni.

Ma la domanda originale riguarda il ruolo dell'infinito in Turing Machines in generale.

Una risposta comune a questa domanda è che le macchine di Turing non affrontano mai l'infinito. Sono definiti in modo preciso e tutto ciò che calcolano viene calcolato in tempo finito su una parte finita del nastro (quindi sarebbe sufficiente un nastro finito più grande). Ciò che è vero è che i tempi di ingombro del TM sono illimitati, il che non è uguale all'infinito.

Quindi, qualsiasi risposta calcolata da una TM potrebbe essere calcolata anche da un automa a stati finiti (FSA), che è "in una certa misura" un modo di vedere la tabulazione. La difficoltà è che alcune dimensioni di input (quasi sempre arrivano a questo, se non altro per leggere l'input) supereranno le dimensioni dell'automa. Ma poi, possiamo semplicemente usarne uno più grande. Quindi, se vogliamo considerare dimensioni di input illimitate, abbiamo bisogno di una sequenza infinita di FSA in grado di eseguire il calcolo. In realtà potremmo aver bisogno di una macchina a stati finiti un po 'più complessa della FSA tradizionale poiché potrebbe esserci un output da calcolare (piuttosto che una risposta sì-no), ma probabilmente dovrebbe esserlo un trasduttore a stati finiti.

Quindi, se stiamo osservando un problema che ha una serie infinita di istanze, come il calcolo di un GCD, o semplicemente l'uso dell'aritmetica su numeri interi di dimensioni arbitrarie, vediamo che l'infinito ci sta tornando attraverso la porta sul retro, come questo infinito set di FSA.

π

Inoltre, possiamo sostituirlo con una sequenza infinita di calcoli finiti con macchine finite. Ma stiamo tradendo.

Da un punto di vista fisico, questo è il meglio che possiamo fare. Sappiamo solo come costruire macchine finite, almeno secondo l'attuale stato dell'arte in fisica, che non dovrebbe cambiare troppo su questo tema nel prossimo futuro.

Ma come possiamo gestire quegli infiniti in modo coerente e trattabile da un punto di vista matematico.

Se consideri un insieme infinito di FSA che può in qualche modo cooperare per calcolare un insieme infinito di risposte, non puoi farlo arbitrariamente. Hai bisogno di alcune garanzie per garantire che ciò che stai facendo abbia senso. È noto che puoi costruire banalmente qualsiasi set con un'unione infinita di set regolari, in realtà con un'unione infinita di set singleton. Quindi, considerare arbitrarie unioni infinite di automi senza alcuna restrizione non ti porterà da nessuna parte. Prendi in considerazione anche gli stessi automi che ti danno risposte incoerenti.

Quello che vuoi veramente è definire una nozione di coerenza. Ma questo richiede alcune precauzioni. Supponiamo che tu stia utilizzando una sequenza infinita di automi per simulare una TM che risponda sì o no o non si fermi. Il problema è che un FSA si fermerà sempre con una risposta, come sì o no. Ma se usi un FSA che in realtà non è abbastanza grande per l'input scelto, a cosa dovrebbe rispondere. Sia il sì che il no sono riservati ai casi in cui l'FSA ha effettivamente terminato il calcolo del TM e l'uso di una di queste risposte con un calcolo incompiuto porterebbe solo a confusione. Quello che vuoi è una risposta che dice: " scusa, sono troppo piccolo e non posso dirlo. Per favore, prova con un ragazzo più grande della famiglia ". In altre parole, vuoi una risposta come overflow , o non lo sai

Quindi hai bisogno di automi con 3 tipi di stati: accettazione, non accettazione e indefinito. Uno stato indefinito può essere visto come uno stato in piedi per una parte mancante dell'automa che forza il calcolo a fermarsi. Quindi, quando il calcolo si interrompe, a seconda dello stato in cui si ferma, si ottiene la risposta , no o indefinita .

Ora, vedi che ciò che vuoi sono infinite sequenze di automi coerenti . Sia che no sono coerenti con indefiniti , ma non è coerente con no . Quindi due automi sono coerenti quando forniscono risposte coerenti sullo stesso input.

π3.14...3,1415....5159...3.1416...3.1416...π

Non svilupperò ulteriormente questi aspetti teorici, il che è un po 'imbarazzante quando basato su Turing Machines. Il punto è che questi concetti portano all'idea che domini di calcolo (siano essi dati o macchine), formino strutture matematiche come reticoli, in cui l'oggetto infinito può essere adeguatamente definito come i limiti di sequenze infinitamente crescenti (cioè meglio e meglio definite) di oggetti finiti. La definizione delle sequenze infinite richiede un po 'più di apparato e una nozione di continuità. Questo è fondamentalmente ciò di cui parla la teoria della semantica di Dana Scott e offre una visione leggermente diversa dei concetti di calcolabilità.

Quindi, le macchine di Turing o altri dispositivi formali che possono fare "calcoli infiniti" possono essere definiti come limiti di sequenze di approssimazioni finite delle macchine, che sono meglio e meglio definite. Lo stesso vale per tutti i dati calcolati dalle macchine, sia in ingresso che in uscita.

Il documento più semplice che io abbia mai letto su questo è un insieme scritto a mano di appunti di Dana Scott, spesso indicati come appunti di Amsterdam. Ma non sono riuscito a trovarlo sul web. Qualsiasi puntatore a una copia (anche incompleto, poiché ne ho una parte) sarebbe il benvenuto. Ma puoi guardare altre prime pubblicazioni di Scott come Outline of a Mathematical Theory of Computation .

Torna all'esempio iniziale della domanda

Questi concetti di approssimazione si applicano sia ai dati che ai programmi. La funzione factè definita in modo ricorsivo, il che significa che è il punto meno fisso di una funzione che può essere utilizzato per calcolare una sequenza che converte approssimazione finita di fact. Questa sequenza di funzioni finite sempre più definite converge in un'entità infinita che è ciò che chiamate funzione fact.

fact

È vero che, se si considera il modello elementare di calcolo TM, un tale array infinito non può essere espresso in quel formalismo. Ciò non significa che non avrebbe senso. Una macchina di Turing potrebbe avere un secondo nastro che dovrebbe essere inizializzato con i valori tabulati di alcune funzioni come fact. Non cambia la potenza computazionale della TM, purché tale funzione sia calcolabile, ovvero finché la tabella può essere inizializzata con un calcolo infinito di un'altra TM in grado di calcolare tutte le coppie argomento-valore per la funzione rilevante.

Ma in pratica, non è possibile completare un calcolo infinito. Quindi il modo giusto per farlo è calcolare pigramente la tabella, cioè riempire le voci solo quando necessario. Questo è esattamente ciò che viene fatto con la memoizzazione, che è la risposta che ti ho dato, con diverse giustificazioni, per la tua domanda precedente.


3

L'essenza di questa risposta è che le macchine di Turing possono imitare tutto ciò che possiamo programmare, e programmiamo calcoli su, con e di oggetti infiniti.

Questa è una seconda risposta che si concentra più sulla domanda specifica che sul quadro teorico generale che giustifica la risposta e sarebbe definitivamente necessario per rispondere al titolo più generale della domanda. È pienamente compatibile con le mie precedenti risposte alle domande del PO, sia Cos'è esattamente un algoritmo? e le macchine turing assumono qualcosa di infinito ad un certo punto? , risposte in cui ho sviluppato maggiormente il contesto teorico. Questo può essere visto come rispondere a entrambe le domande.

Le macchine di Turing hanno la capacità di gestire l'infinito , così come tutti i Turing possono completare modelli computazionali, sebbene solo con infinito infinito. Il nostro problema è che possiamo osservare solo una parte di questo infinito, ma dobbiamo considerare il tutto poiché la parte che possiamo osservare è illimitata.

L'altro problema è che possiamo occuparci solo di entità finemente specificate. In realtà, l'intera struttura della scienza così come la conosciamo cade se consideriamo entità che non sono specificate in modo finito, poiché diventa impossibile controllare la coerenza delle definizioni, persino sapere quali sono le definizioni, poiché possiamo accedervi solo in parte in un tempo finito.

C'è forse un'altra questione fondamentale che è in qualche modo simile al fatto che la chiusura sotto l'unione infinita definisce qualsiasi insieme desiderato, a meno che tu non possa limitare in modo appropriato ciò che è permesso in tale unione. Ma non sono sicuro di aver compreso appieno questo problema.

Come ho detto, le macchine di Turing hanno la capacità di gestire l'infinito . Sto contraddicendo altre risposte ben votate di alcuni utenti di alto livello, che dovrebbero sapere di cosa parlano su un argomento così elementare.

Il problema è che Turing ha scelto un modello di calcolo molto elementare per raggiungere il suo scopo teorico. Più semplice, meglio è. Si tratta di modelli di calcolo più avanzati / sofisticati praticamente di ciò che il linguaggio macchina è per la programmazione: qualcosa di molto oscuro in cui non è possibile riconoscere nessuno dei concetti che hanno senso nella programmazione di alto livello. Il fatto è che, come il linguaggio macchina, la TM può imitare molto più di quanto possa esprimere direttamente.

Inoltre, nessuno crede davvero a questi limiti della Turing Machine e sono state ideate molte varietà di TM, con caratteristiche più o meno esotiche. Se alcuni insiemi infiniti sono chiamati enumerabili in modo ricorsivo , è perché TM può effettivamente enumerare (rappresentazioni di) i loro membri, il che richiede un calcolo infinito (vedere Turing Machines come enumeratori in Hopcroft-Ullman 1979, pagina 167 ). Naturalmente, possiamo sempre codificarlo come calcoli finiti che risponderebbero a domande come: qual è il23rd membro del set secondo la tua enumerazione di loro? Ma sarebbe comunque spesso implementato come un calcolo infinito che viene artificialmente fermato quando viene raggiunta la risposta giusta.

In realtà, tutti gli utenti che affermano che tutto è finito ma non limitato in una TM sono abbastanza attenti da aggiungere che considerano Turing Machines nella loro definizione standard . Il problema è che la definizione standard è solo un dispositivo per semplificare la teoria, ma è praticamente irrilevante quando si cerca di comprendere le strutture computazionali.

In realtà, l'unica cosa che conta nel calcolo è che ogni cosa deve essere specificata in modo definitivo in modo calcolabile, non che sia finita .

Partiamo dal presupposto che una macchina turing deve essere un oggetto finito. Ma non è vero. È possibile definire un modello di macchina di Turing utilizzando un secondo nastro di sola lettura e contenente una funzione tabulata per tutti i valori interi, senza alcun limite. Questo è infinito. Ma non ti offre alcuna potenza di calcolo aggiuntiva fintanto che il contenuto di quel nastro è specificato in modo computazionale (la calcolabilità implica che è specificato in modo definitivo). Il nastro aggiuntivo potrebbe essere sostituito da una macchina TM incorporata nell'altro e fornirebbe le risposte, invece di cercarle sul nastro aggiuntivo. Da un livello superiore, la differenza non è visibile.

Da un punto di vista della realizzazione pratica, potremmo avere una fact macchina di turing che calcola i fattoriali e li tabula sul nastro aggiuntivo, mentre un'altra TM userebbe il fattoriale tabulato dal nastro extra, aspettando la prima TM ogni volta che la tabulazione manca ancora iscrizione. Ma la seconda macchina presuppone che il contenuto del nastro sia in definitiva infinito. La tabulazione non deve nemmeno funzionare tutto il tempo, ma deve riprendere il calcolo ogni volta che i dati vengono richiesti dalla tabella e non vengono trovati lì.

Tornando alla domanda, la differenza principale tra numeri interi senza limiti e la tabella infinita è solo che i numeri interi sono finiti, senza limiti ma completamente calcolati in tempo finito. Il tavolo infinito è calcolato indefinitamente, finito ma continua a crescere all'infinito. Questo non è un problema, ma è una differenza. Gli oggetti infiniti sono accessibili solo attraverso approssimazioni finite, ... ma sono infiniti. I numeri irrazionali calcolabili sono, in questo senso, oggetti infiniti, almeno per la loro rappresentazione come numeri binari.

Tutti gli algoritmi sono definiti nel contesto di una teoria matematica. E una tabella di ricerca insieme a una tabella infinita è un algoritmo. Ma è un algoritmo in una teoria matematica che ha un insieme infinito di assiomi finemente definito che specifica ampiamente (piuttosto che intensamente) i valori di una funzione che assioma per ogni argomento intero. (vedi la mia risposta alla tua domanda precedente ). Quindi è sempre legittimo farlo, in quanto è sempre possibile aggiungere affermazioni realmente vere agli assiomi di una teoria.

Le dichiarazioni Usul, come riprodotte nella tua domanda attuale, sono a mio avviso errate (anche se tutto è anche una questione di definizione). La sua conclusione nella sua risposta , che non hai riprodotto, è che l'uso di una tabella infinita non può essere considerato un algoritmo perché può essere implementato solo da un modello di calcolo non uniforme, da una raccolta di macchine diverse, e quindi tale usa " non hanno una descrizione limitata che può essere implementata per risolvere il problema" intero "per qualsiasi dimensione di input". Questo è sbagliato. Il suo partizionamento in macchine disgiunte che hanno domini di definizione separati è solo un modo sbagliato di fare le cose. Il modo giusto è avere una sequenza infinita di macchine coerenti con domini di definizione sempre più grandi, che possono convergere in modo appropriato alla macchina infinita che risponde alla domanda. Questo è uno scopo essenziale della teoria matematica della semantica del calcolo definita da Dana Scott. Con un adeguato apparato matematico, definisce precisamente macchine infinite, valori con rappresentazioni infinite (come e oπ) o infinite strutture di dati, tutte calcolabili. (vedi la mia prima risposta a questa domanda).

Il modo in cui tali entità infinite vengono calcolate nella pratica è mediante una valutazione pigra , calcolando qualsiasi parte sia necessaria in qualsiasi momento e riprendendo il calcolo per alcune delle altre parti ogni volta che ne diventa più necessario. Questo è esattamente ciò che viene proposto sopra con la factmacchina che calcola pigramente il fattoriale da archiviare in una tabella, ogni volta che sono necessari più dati dalla tabella.

In un certo senso, ciò sembra giustificare l'affermazione (nella risposta di Daniel V ) secondo cui lo spazio dei codici deve essere finito, poiché la valutazione pigra si baserà effettivamente su un codice finito. Ma la calcolabilità è un gioco pervasivo di codifica, in modo che, tra le altre cose, distinguere il codice dai dati sia sempre praticamente agli occhi di chi guarda. In effetti, molti linguaggi di programmazione moderni non fanno molta differenza tra la specificazione di valori intenzionale ed estensiva e la semantica denotazionale non distingue realmente "2 + 2" da "4". La semantica è davvero ciò di cui stiamo parlando quando facciamo una domanda come " Cos'è X ? ".

Questa visione della finezza del codice, anche vista come statica, è un altro motivo per cui una tabella infinita (considerata come parte del codice) non è vista su un piano di parità con numeri interi senza limiti usati come dati. Ma questa è un'altra illusione che non sopravvive alla pratica di programmazione nota nella metaprogrammazione , nei linguaggi riflessivi e nell'uso della evalfunzione. In queste lingue, il codice può essere esteso senza limiti dal programma in esecuzione stesso, purché il computer sia in esecuzione. In effetti si potrebbero considerare le macchine di Turing che modificano le proprie regole di transizione, aumentando il loro numero senza limiti. Questo è abbastanza vicino al modo in cui funzionano le macchine Universal Turing.

Quando si progettano quadri teorici, c'è sempre una tensione tra semplicità e perspicuità o espressività. La semplicità rende spesso più semplice l'analisi del framework, specialmente quando si tratta di dimostrare proprietà specifiche o ridurlo ad altri framework. Ma è spesso scomodo per esprimere concetti di alto livello che devono quindi essere codificati. Non programmiamo con Turing Machines, ma con linguaggi di alto livello che sono molto più espressivi e chiari, e allo stesso tempo possono cancellare alcune barriere come la distinzione tra codice e dati, sulla base dell'equivalenza semantica. Le macchine di Turing sembrano semplici, ma possono andare ben oltre la loro definizione elementare.


3

La risposta breve: no . Le macchine di Turing non assumono nulla di infinito in nessun punto.

Questo è uno dei motivi per cui sono validi come modello per il calcolo. Non ha senso descrivere il calcolo come qualcosa eseguito da un dispositivo infinito.

Tuttavia, il loro funzionamento potrebbe essere infinito: potrebbe non terminare. Questo è un altro motivo per cui sono validi come modello per il calcolo. I dispositivi in ​​grado di eseguire solo operazioni per le quali è garantito il termine sempre non possono esprimere tutti i calcoli possibili.

Inoltre, l'operazione richiede memoria illimitata : mentre la quantità effettiva di memoria in uso è sempre limitata, può aumentare arbitrariamente. Quindi non è possibile fornire tutta la memoria di cui qualsiasi operazione abbia mai bisogno in anticipo. I dispositivi che possono eseguire solo operazioni per le quali è garantito che non utilizzeranno mai più di una determinata quantità di memoria fissa non possono esprimere tutti i calcoli possibili.


-1

"pensare fuori dagli schemi" e generalizzare su questa domanda che arriva al cuore dell'astrazione delle macchine di Turing, e trovare un angolo diverso a cui non è già stata data risposta: sì, le macchine di Turing hanno alcuni aspetti intrinseci del "presupporre l'infinito" poiché il concetto è intrinseco alla matematica. Le TM sono un'astrazione di macchine fisiche. i concetti fisici di Tempo e Spazio sono volutamente usati nella teoria della MT ma come astrazioni, tuttavia anche con aspetti delle loro reali controparti.

in breve, la TM può probabilmente funzionare per sempre in teoria , ovvero il problema dell'arresto . il nastro è infinito ma solo una parte finita può mai essere scritta in un dato momento. una TM che corre per sempre presume sostanzialmente che il tempo e lo spazio siano illimitati, cioè "infiniti". in effetti esiste una corrispondente gerarchia / "continuum" di Tempo e Spazio che è infinita.

ma nessuna realizzazione fisica di questo concetto astratto è possibile supponendo che l'universo fisico sia limitato (spazio, tempo, materia, l'ultimo dei quali è in qualche modo analogo ai "simboli" o "inchiostro" nella macchina di Turing). in qualche modo simile / analogamente, in fisica a volte l'universo è considerato illimitato / infinito, ma solo come un'astrazione. per capovolgere questo, è anche per questo che la "modellazione" di un moderno computer come una macchina di Turing è essa stessa un'astrazione, perché il computer può avere solo una memoria limitata ecc.

un altro utile confronto è la linea numerica in matematica. la linea numerica è infinita, ma indica numeri finiti. ogni numero sulla riga numerica rappresenta una quantità finita, ma esiste un numero infinito di queste quantità finite. il nastro di Turing ha una forte somiglianza con il concetto di linea numerica della matematica. Turing avrebbe potuto facilmente definirlo come infinito solo in una direzione, ma lo definì infinito in entrambe le direzioni, proprio come la linea numerica della matematica, con posizioni negative "a sinistra" sul nastro e posizioni positive "a destra".

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.