Una macchina di Turing è "per definizione" la macchina più potente?


54

Sono d'accordo che una macchina di Turing può fare "tutti i possibili problemi matematici". Questo perché è solo una rappresentazione automatica di un algoritmo: prima fai questo, poi fai quello, infine lo metti in output.

Voglio dire tutto ciò che è risolvibile può essere rappresentato da un algoritmo (perché questa è precisamente la definizione di "risolvibile"). È solo una tautologia. Non ho detto niente di nuovo qui.

E creando una rappresentazione automatica di un algoritmo, che risolverà anche tutti i possibili problemi non è una novità. Anche questa è pura tautologia. Quindi, fondamentalmente, quando si dice che una macchina di Turing è la macchina più potente, ciò che significa effettivamente è che la macchina più potente è la macchina più potente!

Definizione di "più potente": ciò che può accettare qualsiasi lingua.
Definizione di "Algoritmo": processo per fare qualsiasi cosa. Rappresentazione automatica di "Algorithm": una macchina che può fare qualsiasi cosa.

Pertanto è logico che la rappresentazione della macchina di un algoritmo sia la macchina più potente. Qual è la novità di Alan Turing?


9
Il tornio non può risolvere il problema di arresto. Tuttavia, non ci sono prove che non ci siano macchine per risolverlo. Il modello è una specie di TM con oracolo o approccio completamente dofferent. Se segui la tesi della Chiesa, TM rappresenta solo le macchine che stiamo usando al giorno d'oggi.
Eugene il

16
È la macchina più potente che sappiamo costruire . Bene, in realtà no, possiamo solo costruire automi finiti.
Raffaello

13
Il tuo problema è che pensi alle TM come a qualcosa che è venuto dopo. Non era. È stato (ed è) utilizzato per definire la classe di problemi calcolabili di Turing . Sono stati trovati molti modelli equivalenti, ma ciò non cambia la definizione.
Raffaello

3
Esistono centinaia di architetture di computer diverse (complete di Turing), tutte con set di istruzioni molto diversi. Non credo che sia evidente a tutti che non c'è nessun problema che si può risolvere, ma un altro non può.
BlueRaja - Danny Pflughoeft,

5
... non stai dicendo semplicemente la tesi di Church-Turing ? Per quanto ne sappiamo nessuno ha smentito la tesi, ma non possiamo escludere l'esistenza di un diverso modello di calcolo che sia "ragionevole" (cioè implementabile in qualche modo) e più forte delle TM.
Bakuriu,

Risposte:


135

Sono d'accordo che una macchina di Turing può fare "tutti i possibili problemi matematici".

Bene, non dovresti, perché non è vero. Ad esempio, le macchine di Turing non sono in grado di determinare se i polinomi con coefficienti interi hanno soluzioni intere ( decimo problema di Hilbert ).

Turing Machine è "per definizione" la macchina più potente?

No. Possiamo immaginare una gerarchia infinita di macchine più potenti . Tuttavia, la macchina di Turing è la macchina più potente che sappiamo, almeno in linea di principio, come costruire. Questa non è una definizione, però: è solo che non abbiamo idea di come costruire qualcosa di più potente, o se è persino possibile.

Qual è la novità di Alan Turing?

Una definizione formale di algoritmo. Senza tale definizione (ad esempio, la macchina di Turing), abbiamo solo definizioni informali di algoritmo, sulla falsariga di "Una procedura finemente specificata per risolvere qualcosa". Ok fantastico. Ma quali sono i singoli passi che queste procedure possono prendere?

Sono passaggi di operazioni aritmetiche di base? Trovare il gradiente di una curva è un passo? Trovare le radici dei polinomi è un passo? Trovare radici intere di polinomi è un passo? Ognuno di questi sembra naturale. Tuttavia, se le consenti tutte, le tue "procedure specificate in modo preciso" sono più potenti delle macchine di Turing, il che significa che possono risolvere cose che non possono essere risolte dagli algoritmi. Se permetti tutto tranne l'ultimo, sei ancora nel regno del calcolo di Turing.

Se non avessimo una definizione formale di algoritmo, non saremmo nemmeno in grado di porre queste domande. Non saremmo in grado di discutere di ciò che gli algoritmi possono fare, perché non sapremmo cosa un algoritmo è .


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

Non intendi soluzioni razionali? Penso che sia possibile eseguire soluzioni intere in un numero finito di passaggi.
Trenin,

2
@Trenin La pagina Wikipedia che link dice "numero intero razionale", che spiega come una frase talvolta usata per distinguere i numeri interi ordinari da oggetti come numeri interi gaussiani (numeri complessi dove ). a , b Za+iba,bZ
David Richerby,

Fatto. Inoltre, ciò che pensavo fosse possibile risulta essere molto più difficile di quanto pensassi.
Trenin,

64

Non hai ragione quando fai ripetutamente affermazioni su questo o quell'essere "solo una tautologia". Quindi permettimi di mettere le tue affermazioni in un po 'di contesto storico.

Prima di tutto, devi rendere precisi i concetti che usi. Qual è un problema? Che cos'è un algoritmo? Cos'è una macchina? Potresti pensare che siano ovvi, ma una buona parte degli anni 1920 e 1930 fu spesa dai logici che cercavano di capire queste cose. C'erano diverse proposte, una delle quali erano macchine di Turing, che ebbe il maggior successo. In seguito si è scoperto che le altre proposte erano equivalenti alle macchine di Turing. Devi immaginare un'epoca in cui la parola "computer" significava una persona, non una macchina. Stai solo cavalcando l'onda e le conseguenze delle brillanti invenzioni di menti brillanti di cento anni fa, senza esserne consapevole.

Le macchine di Turing sono descritte concretamente in termini di stati, una testa e un nastro di lavoro. È tutt'altro che ovvio che ciò esaurisca le possibilità di calcolo dell'universo in cui viviamo. Non potremmo creare una macchina più potente usando elettricità, acqua o fenomeni quantistici? E se volassimo una macchina di Turing in un buco nero alla giusta velocità e direzione, in modo che possa compiere infiniti passi in quello che ci appare il tempo finito? Non puoi semplicemente dire "ovviamente no" - devi prima fare alcuni calcoli nella relatività generale. E se i fisici scoprissero un modo per comunicare e controllare universi paralleli, in modo da poter far funzionare infinitamente molte macchine di Turing in parallelo?

Essa non importa che al momento non possiamo fare queste cose. Ciò che è importante, tuttavia, è che tu capisca che Turing ha dovuto pensare a ciò che era fisicamente possibile (basato sulla conoscenza della fisica in quel momento). Non ha semplicemente scritto "una semplice tautologia". Lontano da ciò, ha analizzato attentamente il significato del calcolo in senso informale, quindi ha proposto un modello formale, ha argomentato molto attentamente che questo modello cattura ciò che la gente ha capito dal "calcolo", e ne ha tratto alcuni importanti teoremi al riguardo. Uno di questi teoremi afferma che le macchine di Turing non sono in grado di risolvere tutti i problemi matematici (contrariamente a una delle tue false dichiarazioni). Tutto questo, in un unico documento, scritto durante la vaccinazione estiva, mentre era uno studente.fu l'invenzione dell'idea del moderno computer per uso generale. Dopodiché fu solo una semplice questione di ingegneria.

Risponde a ciò che Turing ha contribuito all'umanità al di là di una semplice tautologia? E hai letto davvero il suo giornale ?


19
"Devi immaginare un'era in cui la parola" computer "significava una persona, non una macchina." Questo è un promemoria davvero utile. In sostanza, Turing ha cercato di simulare efficacemente, con la sua "macchina", le operazioni che una persona poteva fare con carta e penna in quel momento per calcolare qualcosa.
Sorrop,

2
"Il suo teorema sull'esistenza di macchine universali era l'invenzione del moderno computer per uso generale." - Beh .... nel mondo matematico, forse. Persone come Konrad Zuse hanno sviluppato computer per scopi generici in modo indipendente.
Raffaello

6
@AndrejBauer Questo suggerisce ancora una linea temporale e una dipendenza che non c'era, non in tutti i casi. Non ti biasimo: poche persone sanno cosa ha fatto Zuse quando. Il fatto è che ha costruito computer dal 1935 fino alla Seconda Guerra Mondiale senza alcun input dall'esterno della Germania. Ha anche sviluppato il suo Plankalkül durante quel periodo. Immagino che fosse con i computer come con molte altre cose: i tempi erano maturi, così tante menti pensavano in modo simile. Il fatto è che, nonostante tutti i suoi contributi, Turing non ha inventato l'informatica .
Raffaello

12
@Raphael: Konrad Zuse non sapeva che la sua macchina poteva elaborare tutti i problemi calcolabili (ora sappiamo che le sue macchine SONO Turing complete - memoria modulo). Ciò che Turing ha contribuito NON è stata l'idea che le macchine possano fare calcoli - Babbage lo ha fatto prima di Zuse o Turing. Ciò che Turing ha contribuito è stata l'idea che i set di istruzioni e i linguaggi di programmazione non contano davvero in teoria. Questa non è un'idea ovvia. Ironia della sorte è questa idea che guida lo sviluppo di CPU e linguaggi di programmazione
slebetman,

1
"I set di istruzioni e i linguaggi di programmazione in realtà non contano in teoria" - è chiaramente falso. Le differenze possono importare, ma non sempre. Turing ha definito un certo modello di calcolo e ha affermato che era potente quanto avrebbe potuto ottenere. Intrappolato tra l'avvertenza della memoria infinita e modelli più potenti, non sono troppo sicuro che l'affermazione trattiene l'acqua. Quindi, in un certo senso, non ha fatto altro che Zuse, se con la matematica invece del metal.
Raffaello

23

Che "tutto ciò che è risolvibile può essere rappresentato da un algoritmo" non è affatto ovvio.

Questo è stato oggetto di un intenso dibattito, da quando Alan Turing, rielaborando le idee della chiesa di Alonzo, ha proposto una definizione di numeri calcolabili che ha preso la forma della macchina a cui ti riferisci. È importante sottolineare che quelle non erano le uniche persone che lavoravano su questo tipo di cose, a quel tempo.

La chiamiamo ancora una tesi - o una congettura - dal momento che "tutto ciò che può essere calcolato" non è chiaramente un preciso oggetto matematico, la cui struttura e portata potrebbero essere studiate in modo non speculativo.


1
Ma tutto ciò che è risolvibile deve essere risolto da un "processo" (per definizione). Al momento potremmo non conoscere il processo per risolvere un particolare problema "risolvibile". Nel qual caso significa che il problema è risolvibile ma non può essere risolto ora. Non significa effettivamente che "tutto ciò che è risolvibile può essere rappresentato da un algoritmo" perché "process" = "algoritmo". Perché dici che non è ovvio?
Sounak Bhattacharya,

13
Che cos'è un "processo"? Vedi, è facile correre in cerchio, sostituendo un concetto poco chiaro a un altro. Il tentativo di Turing era in realtà un esperimento mentale incarnato, che sta ancora alimentando la nostra immaginazione, anche oggi. Questa non è una piccola cosa.
André Souza Lemos,

@SounakBhattacharya Con un certo processo (di anni e genio) Sir Andrew Wiles dimostrò che l'ultimo teorema di Fermat era vero. Pensi che ci sia una TM che avrebbe potuto prendere quella decisione?
OJFord,

1
@OllieFord Bene, se la dimostrazione è sufficientemente rigorosa che ogni fase può essere espressa in termini di assiomi ben specificati esistenti, allora la dimostrazione può essere verificata da una macchina di Turing. Potremmo quindi specificare una macchina di Turing che elenca tutte le possibili prove e sicuramente (ma molto molto lentamente) la macchina troverebbe tale prova. Una semplice implementazione fisica di quella macchina di Turing richiederebbe però più di 400 anni e molto più a lungo della durata prevista dell'universo.
gmatht,

19

In primo luogo, è importante tenere presente che le macchine Turing sono state inizialmente concepite da Turing non come un modello di qualsiasi tipo di computer fisicamente realizzabile, ma piuttosto come un limite ideale a ciò che è calcolabile da un umano calcolando in modo meccanico passo-passo modo (senza alcun uso di intuizione). Questo punto è ampiamente frainteso - vedi [1] per un'eccellente esposizione su questo e argomenti correlati.

I limiti di finitezza postulati da Turing per le sue macchine di Turing si basano sui limiti postulati dell'apparato sensoriale umano. Le generalizzazioni delle analisi di Turing a dispositivi di calcolo fisicamente realizzabili (e analoghe tesi di Church-Turing) non arrivarono molto più tardi (1980) a causa di Robin Gandy - con limitazioni basate sulle leggi della fisica. Come dice Odifreddi a p. 51 di [2] (bibbia della teoria della ricorsione classica)

Le macchine di Turing sono dispositivi teorici, ma sono state progettate tenendo conto delle limitazioni fisiche. In particolare, abbiamo incorporato nel nostro modello restrizioni provenienti da:

  • a) ATOMISMO, assicurando che la quantità di informazioni che può essere codificata in qualsiasi configurazione della macchina (come sistema finito) sia limitata; e

  • (b) RELATIVITÀ, escludendo le azioni a distanza e facendo propagare l'effetto causale attraverso le interazioni locali. Gandy [1980] ha dimostrato che la nozione di macchina di Turing è sufficientemente generale per riassumere, in senso preciso, qualsiasi dispositivo di elaborazione che soddisfi limiti simili.

e a p. 107: (Una teoria generale dei dispositivi discreti e deterministici)

L'analisi (Church [1957], Kolmogorov e Uspenskii [1958], Gandy [1980]) parte dai presupposti di atomismo e relatività. Il primo riduce la struttura della materia a un insieme finito di particelle di base di dimensioni limitate, e quindi giustifica la possibilità teorica di smantellare una macchina in un insieme di componenti di base. Quest'ultimo impone un limite superiore (la velocità della luce) sulla velocità di propagazione dei cambiamenti causali, e quindi giustifica la possibilità teorica di ridurre l'effetto causale prodotto in un istante t su una regione delimitata dello spazio V, alle azioni prodotte dalle regioni i cui punti si trovano a distanza c * t da qualche punto V. Naturalmente, le ipotesi non tengono conto dei sistemi che sono continui o che consentono un'azione illimitata a distanza (come i sistemi gravitazionali newtoniani).

L'analisi di Gandy mostra che IL COMPORTAMENTO È RICORRENTE, PER QUALSIASI DISPOSITIVO CON UN LIMITE FISSO SULLA COMPLESSITÀ DELLE POSSIBILI CONFIGURAZIONI (nel senso che sia i livelli di accumulo concettuale dai costituenti, sia il numero di costituenti in qualsiasi parte strutturata di qualsiasi configurazione, sono limitati), E FISSI FINITI, SET DETERMINISTICI DI ISTRUZIONI PER L'AZIONE LOCALE E GLOBALE (il primo spiega come determinare l'effetto di un'azione su parti strutturate, il secondo come assemblare gli effetti locali). Inoltre, l'analisi è ottimale nel senso che, quando resa precisa, qualsiasi rilassamento delle condizioni diventa compatibile con qualsiasi comportamento, e fornisce quindi una descrizione sufficiente e necessaria del comportamento ricorsivo.

L'analisi di Gandy offre una prospettiva molto illuminante sulla potenza e sui limiti delle macchine di Turing. Vale la pena leggere per ottenere ulteriori approfondimenti su questi argomenti. Attenzione però che il documento di Gandy del 1980 [3] è considerato difficile anche da alcuni cognoscenti. Potresti trovare utile esaminare prima gli articoli in [4] di J. Shepherdson e A. Makowsky.

[1] Sieg, Wilfried. Procedure meccaniche ed esperienza matematica. [pagg. 71-117 in Matematica e Mente. Articoli della Conferenza sulla filosofia della matematica tenutasi all'Amherst College, Amherst, Massachusetts, 5-7 aprile 1991. A cura di Alexander George. Logic Comput. Philos., Oxford Univ. Stampa, New York, 1994. ISBN: 0-19-507929-9 MR 96m: 00006 (Revisore: Stewart Shapiro) 00A30 (01A60 03A05 03D20)

[2] Odifreddi, Piergiorgio. Teoria della ricorsione classica. La teoria delle funzioni e degli insiemi di numeri naturali. Con una prefazione di GE Sacks. Studies in Logic and the Foundations of Mathematics, 125. North-Holland Publishing Co., Amsterdam-New York, 1989. xviii + 668 pp. ISBN: 0-444-87295-7 MR 90d: 03072 (Revisore: Rodney G. Downey ) 03Dxx (03-02 03E15 03E45 03F30 68Q05)

[3] Gandy, Robin. Tesi e principi della Chiesa sui meccanismi. Il simposio di Kleene. Atti del simposio tenuto presso l'Università del Wisconsin, Madison, Wis., 18-24 giugno 1978. A cura di Jon Barwise, H. Jerome Keisler e Kenneth Kunen. Studies in Logic and the Foundations of Mathematics, 101. North-Holland Publishing Co., Amsterdam-New York, 1980. xx + 425 pp. ISBN: 0-444-85345-6 MR 82h: 03036 (Revisore: Douglas Cenzer) 03D10 (03A05)

[4] La macchina di Turing universale: un'indagine di mezzo secolo. Seconda edizione. A cura di Rolf Herken. Computerkultur [Cultura del computer], II. Springer-Verlag, Vienna, 1995. xvi + 611 pp. ISBN: 3-211-82637-8 MR 96j: 03005 03-06 (01A60 03D10 03D15 68-06)


2
Grazie mille! Ho sempre pensato che le macchine di Turing fossero stranamente ineleganti, ma questo è un buon modo per spiegare perché ciò potrebbe essere mal concepito.
PJTraill,

6

La migliore discussione popolare su questa domanda che io abbia mai letto è il saggio del professor Scott Aaronson del professor MIT Who Can Name the Bigger Number? , in cui esplora, tra le altre cose, le implicazioni delle macchine super-Turing, delle macchine super-duper-Turing e delle macchine super-duper-pooper-Turing.


2
Dopo "super-duper-pooper" arriva "super-duper-ooper-flooper", o almeno è quello che mi sembra di ricordare da quando avevo forse 7 o 8 anni. Probabilmente è la terminologia formale corretta.
Peter Cordes,

4

No, le TM non sono molto potenti. Due esempi:

a) Potrebbero esserci altre macchine che calcolano gli stessi risultati di una TM ma che sono algoritmicamente più veloci (ad es. computer quantistici che calcolano fattori primi). "Più veloce" è un tipo di potere.

b) Le TM non possono rappresentare numeri reali generali con una precisione perfetta. Ma un Analog Computer (AC) potrebbe essere in grado di rappresentare e fare aritmetica con numeri reali con precisione perfetta. Questo sarebbe più potente di qualsiasi TM.


Naturalmente (b) richiede che il nostro universo abbia alcune proprietà continue (gravità?) Che la CA può usare per rappresentare i valori reali. Forse ogni proprietà fisica, compresa la gravità, è quantizzata. Ma possiamo speculare sulle macchine in un universo continuo. Quindi le TM non sono più potenti "per definizione".


3
Benvenuti nel sito! "Più potente" nel contesto della teoria computazionale viene generalmente inteso come "in grado di calcolare più funzioni", piuttosto che "in grado di calcolare in meno passaggi", quindi non sono sicuro che il tuo (a) conti davvero. Inoltre, non è chiaro come un computer possa usare valori reali. Come inseriresti un valore reale che non era, diciamo, un reale calcolabile? Come diresti a qualcun altro quale valore dovrebbero inserire nella loro macchina continua e come gestiresti il ​​rumore? Ma forse è un'obiezione sciocca come "Come produrrebbe abbastanza nastro per la macchina di Turing da usare".
David Richerby,

-4

Se guardi alla complessità computazionale, una macchina di Turing è la macchina più potente, perché ha memoria illimitata e nessuna macchina reale ha quella. Qualsiasi macchina reale non può risolvere problemi di dimensioni arbitrarie; non sanno nemmeno leggere un problema, tanto meno risolverlo.

D'altra parte, se si tenta di implementare una vera Turing Machine, supponiamo che si arresti e suoni un allarme se si esaurisce il nastro, si scoprirà che ci vorrebbe molti più passaggi per eseguire qualsiasi tipo di calcolo che diciamo la vera macchina in un telefono economico, e sarebbe molto più lento a risolvere problemi reali. Scopriresti anche che scrivere una risposta su un nastro non è un'ottima interfaccia utente. E scopriresti che molte persone usano il computer non per risolvere i problemi, ma per inviare foto di nudo ai loro amici e per guardare video di gatti, e una Turing Machine non è affatto utile per questo.


12
Potresti chiarire come questo risponde alla domanda?
David Richerby,

1
Ovviamente una vera macchina Turing sarebbe in grado di elaborare foto e video. Un certo tipo di dispositivo di output delle immagini sarebbe ovviamente necessario per essere visto dagli umani, ma questo vale per qualsiasi computer; una CPU + memoria su un circuito non è nemmeno "assolutamente inutile".
hyde,

1
Tra i modelli di macchine con memoria infinita, le TM non sono le più potenti!
Raffaello
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.