Wat is een Turing-machine?
Een Turing-machine is een filosofische constructie voor het functioneren van een computer, uitgevonden in 1936 door Alan Turing, een beroemde Engelse wiskundige en logicus uit de 20e eeuw. De ideeën achter de Turing-machine vormen de basis voor alle moderne computersoftware en hardwaresystemen die vanaf 2011 bestaan, hoewel de werkelijke concepten die Turing heeft gemaakt destijds nooit werden gebruikt om een echt apparaat te bouwen, en werden uitgevonden voordat digitale computers in echte vorm. De principes waarop een Turing-machine werkt, omvatten een set besturingselementen voor invoer- en uitvoergegevens, de machine voor het verwerken van de gegevens in een bepaalde vorm en een set vastgestelde regels voor hoe deze gegevens door de machine worden verwerkt.
Het genie achter de ontdekking van Alan Turing was dat elke consistente groep symbolen die betekenisvolle informatie vertegenwoordigen, zoals wiskundige symbolen of letters die een taal bevatten, mechanisch door een machine zou kunnen worden verwerkt als ze een juiste set regels voor hun verwerking zou krijgen. Dit zou resulteren in de creatie van mechanische apparaten die logische vragen zouden kunnen stellen voor complexe problemen en snel met onbevooroordeelde antwoorden komen. De Turing-machine was in dit opzicht een voorloper van een computeralgoritme, een gecompileerde lijst met computerinstructies waarop centrale verwerkingseenheden (CPU's) in computers vertrouwen om vanaf 2011 te functioneren.
Het ontwerp voor de Turing-machine was simplistisch door de moderne computernormen van de 21e eeuw, en de fysieke functie ervan had onpraktisch wat betreft de implementatie ervan, maar de ideeën waarop het was gebouwd, hadden een solide basis. De machine bestond uit een band of lint met opgedrukte symbolen erop, die door een kop kon worden gelezen toen de band eroverheen werd geleid. Terwijl de symbolen werden gelezen, zouden ze bepaalde toestanden in de machine oproepen, die de beweging van de tape zouden aansturen en de uitvoerwaarden beïnvloeden die door de machine worden geproduceerd. Het analoog aan moderne computersystemen van 2011 zou zijn dat de tape computersoftwarecode of algoritmen voorstelt, de lezer de CPU is en de uitvoer weergave- en transmissiesystemen zoals monitors, luidsprekers en printers, netwerkverkeer en meer zou zijn.
De ideeën achter de Turing-machine werden gezien als een fundamentele functie voor het uitvoeren van een reeks berekeningen en konden ook worden vergeleken met hoe het menselijk brein werkt. Turing zelf en anderen van zijn tijd geloofden dat de Turing-machine kon worden aangepast om praktisch elk denkbaar type berekening uit te voeren en te fungeren als een universele machine voor het oplossen van alle menselijke problemen. De kwestie die snel met het concept aan de orde kwam, staat echter bekend als een Turing-tarpit en verwijst naar het feit dat, hoewel een zelfconsistente set symbolen kan worden verwerkt door een Turing-machine, een dergelijke machine ertoe leidt om zinvolle antwoorden te produceren op vragen zijn volledig afhankelijk van steeds complexere en meerlagige sets verwerkingsregels.
De informatica ondervond al snel problemen met de manier waarop software- en hardwaresystemen die zijn gebaseerd op Turing-machineprincipes vast zouden kunnen komen te zitten in zinloze berekeningen die programmalussen worden genoemd. Logische beperkingen hebben geleid tot aanpassingen van de principes van de Turing-machine, zoals die van de kwantum- en probabilistische Turing-machines. Een probabilistische Turing-machine maakt gebruik van het idee dat meerdere tapes tegelijkertijd in de machine worden uitgevoerd om verschillende resultaten parallel te produceren, die vervolgens tegen elkaar worden gewogen op basis van de waarschijnlijkheid waarvan het resultaat waarschijnlijk nauwkeurig is. Dergelijke machines zouden conclusies trekken op een manier vergelijkbaar met hoe fuzzy logic software werkt in geavanceerde besturingssystemen vanaf 2011.
Een kwantumcomputer op basis van het Turing-machine-principe zou een band van oneindige lengte hebben met cellen van symbolen in een eeuwigdurende onbepaalde toestand totdat deze wordt gelezen. Dit zou een vorm van parallelle verwerking bieden die enorm beter zou zijn dan de gegevensverwerkingsprocedures die vanaf 2011 in computers worden gebruikt. Quantum Turing-machines bieden de mogelijkheid om meerdere waarden in afzonderlijke geheugencellen op te slaan totdat ze toegankelijk zijn, wat standaard op logica gebaseerde computers niet kunnen Doen.