Vad är en turingmaskin?
En Turing-maskin är en filosofisk konstruktion för hur en dator kan fungera, uppfann 1936 av Alan Turing, en berömd engelsk matematiker och logiker från 1900-talet. Idéerna bakom Turing-maskinen är grunden för alla moderna datorprogramvara och hårdvarusystem som finns från och med 2011, även om de faktiska koncepten som Turing skapade aldrig användes för att bygga en faktisk enhet vid den tiden och uppfanns innan digitala datorer fanns i någon verklig form. Principerna på vilka en Turing-maskin fungerar inkluderar en uppsättning kontroller för in- och utdata, maskinen för att behandla uppgifterna i någon form och en uppsättning fastställda regler för hur denna information behandlas av maskinen.
Geniet bakom Alan Turings upptäckt var att alla konsekventa grupper av symboler som representerar meningsfull information, såsom matematiska symboler eller bokstäver som innehåller ett språk, kunde bearbetas mekaniskt av en maskin om de fick en korrekt uppsättning regler för deras bearbetning. Detta skulle resultera i skapandet av mekaniska enheter som kan ställas logiska frågor för komplexa problem och snabbt komma med opartiska svar. Turing-maskinen var en föregångare i detta avseende till en datoralgoritm, som är en sammanställd lista med datorinstruktioner som centrala processorenheter (CPU) i datorer litar på för att fungera från och med 2011.
Konstruktionen för Turing-maskinen var förenklad med dagens datormodeller från 2000-talet, och dess fysiska funktion hade opraktiska egenskaper när det gäller genomförandet, men idéerna på vilken den byggdes hade en solid grund. Maskinen bestod av ett band eller ett band med intryckta symboler på det, som kunde läsas av ett huvud när bandet passerade över det. När symbolerna lästes skulle de åberopa vissa tillstånd i maskinen, vilket skulle rikta bandets rörelse och påverka maskinens utgångsvärden. Analogen till moderna datorsystem från 2011 skulle vara att bandet representerar programvarukod eller algoritmer, läsaren är CPU: n och utgången skulle vara display- och överföringssystem som bildskärmar, högtalare och skrivare, nätverkstrafik med mera.
Idéerna bakom Turing-maskinen sågs som en grundläggande funktion för att utföra valfri serie beräkningar och kunde också jämföras med hur den mänskliga hjärnan fungerar. Turing själv och andra på hans tid trodde att Turing-maskinen kunde anpassas för att utföra praktiskt taget alla typer av tänkbara beräkningar och fungera som en universell maskin för att lösa alla mänskliga problem. Frågan som snart uppstod med konceptet är emellertid känd som en Turing-tarpit och hänvisar till det faktum att även om alla självkonsekventa uppsättningar av symboler kan behandlas av en Turing-maskin, får en sådan maskin att ge meningsfulla svar på frågor beror helt och hållet på alltmer komplexa och flerlagrade uppsättningar av behandlingsregler.
Datavetenskapen mötte snart problem med hur mjukvaru- och hårdvarusystem baserade på Turing-maskinprinciper kunde fastna i meningslösa beräkningar som kallas programslingor. Logiska begränsningar ledde till anpassningar av Turing-maskinprinciper, såsom kvantitets- och probabilistiska Turing-maskiner. En probabilistisk Turing-maskin använder idén om att flera band körs i maskinen samtidigt för att producera olika resultat parallellt, som sedan vägs mot varandra baserat på sannolikheten för vilket resultat som troligtvis är korrekt. Sådana maskiner skulle komma till slutsatser på ett sätt som liknar hur fuzzy logics mjukvara fungerar i avancerade styrsystem från och med 2011.
En kvantdator baserad på Turing-maskinprincipen skulle ha ett band av oändlig längd med celler av symboler i ett evigt obestämt tillstånd tills det läses. Detta skulle möjliggöra en form av parallellbehandling som skulle vara oerhört överlägsen för databehandlingsprocedurer som används i datorer från och med 2011. Quantum Turing-maskiner erbjuder möjligheten att lagra flera värden i enskilda celler i minnet tills de kommer åt, vilka standardlogikbaserade datorer inte kan do.