Che cos'è una macchina di Turing?
Una macchina di Turing è un costrutto filosofico sul funzionamento di un computer, inventato nel 1936 da Alan Turing, un famoso matematico e logico inglese del XX secolo. Le idee alla base della macchina Turing sono alla base di tutti i moderni sistemi software e hardware esistenti a partire dal 2011, sebbene i concetti reali creati da Turing non fossero mai stati usati per costruire un dispositivo reale all'epoca, e furono inventati prima che i computer digitali esistessero in qualsiasi forma reale. I principi su cui funziona una macchina di Turing includono una serie di controlli per i dati di input e output, la macchina per l'elaborazione dei dati in qualche forma e una serie di regole stabilite per come questi dati vengono elaborati dalla macchina.
Il genio alla base della scoperta di Alan Turing era che qualsiasi gruppo consistente di simboli che rappresentavano informazioni significative, come simboli matematici o lettere che comprendevano una lingua, poteva essere elaborato meccanicamente da una macchina se fosse stato fornito un insieme adeguato di regole per la loro elaborazione. Ciò comporterebbe la creazione di dispositivi meccanici ai quali potrebbero essere poste domande logiche per problemi complessi e di trovare rapidamente risposte imparziali. La macchina di Turing è stata un precursore in questo senso di un algoritmo informatico, che è un elenco compilato di istruzioni informatiche su cui le unità di elaborazione centrale (CPU) nei computer si affidano per funzionare a partire dal 2011.
Il design della macchina di Turing era semplicistico per gli standard informatici moderni del 21 ° secolo, e la sua funzione fisica aveva impraticabilità per quanto riguarda la sua implementazione, ma le idee su cui è stata costruita avevano solide basi. La macchina consisteva in un nastro o nastro con simboli impressi su di esso, che poteva essere letto da una testa quando il nastro veniva passato su di esso. Man mano che i simboli venivano letti, invocavano determinati stati nella macchina, che avrebbero diretto il movimento del nastro e influenzato i valori di uscita prodotti dalla macchina. L'analogo ai moderni sistemi informatici del 2011 sarebbe che il nastro rappresenta il codice o gli algoritmi del software per computer, il lettore è la CPU e l'output sarebbe sistemi di visualizzazione e trasmissione come monitor, altoparlanti e stampanti, traffico di rete e altro ancora.
Le idee alla base della macchina di Turing erano viste come una funzione fondamentale nell'esecuzione di qualsiasi serie di calcoli e potevano anche essere confrontate con il funzionamento del cervello umano. Turing stesso e gli altri dei suoi tempi credevano che la macchina di Turing potesse essere adattata per eseguire praticamente qualsiasi tipo di calcolo immaginabile e agire come una macchina universale per risolvere tutti i problemi umani. Il problema che presto sorse con il concetto, tuttavia, è noto come un tarpit di Turing e si riferisce al fatto che, sebbene qualsiasi insieme di simboli auto-coerente possa essere elaborato da una macchina di Turing, ottenere una tale macchina per produrre risposte significative a le domande si basano interamente su insiemi di regole di elaborazione sempre più complesse e multilivello.
L'informatica ha presto riscontrato problemi con il modo in cui i sistemi software e hardware basati sui principi della macchina di Turing potevano impantanarsi in calcoli insignificanti noti come cicli di programma. Le limitazioni logiche hanno portato ad adattamenti ai principi delle macchine di Turing, come quello delle macchine quantistiche e probabilistiche di Turing. Una macchina di Turing probabilistica utilizza l'idea che più nastri vengano eseguiti simultaneamente nella macchina per produrre risultati diversi in parallelo, che vengono quindi ponderati l'uno con l'altro in base alla probabilità di quale risultato è probabilmente accurato. Tali macchine giungerebbero a conclusioni simili a come il software di logica fuzzy opera nei sistemi di controllo avanzati a partire dal 2011.
Un computer quantistico basato sul principio della macchina di Turing avrebbe un nastro di lunghezza infinita con celle di simboli in uno stato perpetuo e indeterminato fino alla lettura. Ciò fornirebbe una forma di elaborazione parallela che sarebbe di gran lunga superiore alle procedure di elaborazione dei dati utilizzate nei computer a partire dal 2011. Le macchine Quantum Turing offrono la possibilità di memorizzare più valori in singole celle di memoria fino a quando non vi accedono, che i computer basati su logica standard non possono fare.