Alan Turing
Alan Mathison Turing se je rodil 23.6.1912 v Londonu. Prvih 13 let je preživel v Indiji, kjer je njegov oče služil v državni službi. Dokler se oče ni upokojil je Alan s starejšim bratom Johnom živel po raznih domovih. Že zelo mlad je s preprostimi kemijskimi poskusi pokazal zanimanje za znanost. Kasneje, ko se je udejanjal kot raziskovalec, se je uveljavil tudi kot pionir računalniške znanosti. Leta 1928 je začel študirati relativnost, pri tem je tudi zaljubil v Christopherja Marcoma, ki je žal že leta 1930 umrl. Christoperjeva smrt ga je potrla in hkrati spodbudila, da se je udejanjal še za mrtvega fanta. Še nekaj let po Christopherjevi smrti si je Alan dopisoval z njegovo materjo in se spraševal, kako je človeški um vključen v materijo. To vprašanje ga je vodilo na študij fizike dvajsetega stoletja, kjer ga je zanimala povezava kvantne mehanike in njegovega vprašanja o materiji in misli. Ob obisku Marcomovega doma je Turing napisal pismo, kjer pravi da verjame v preživetje duha po smrti.
Leta 1931 je bil sprejet na kraljevsko univerzo v Cambidgeu Tu je tudi spoznal von Neumannovo delo. Zelo ga je zanimalo vprašanje izračunljivosti, zato je raziskoval napravo, ki bi bila zmožna rešiti vse rešljive probleme. Ta naprava se danes imenuje Turingov stroj.
Med drugo svetovno vojno je svoje znanje uveljavljal na oddelku za komunikacije Velike Britanije in poskušal razbiti nemške kode, ki so jih Nemci uporabljali za komunikacijo. To je bila zelo zahtevna naloga, saj je kodiranje opravljal računalnik, ki so ga Nemci zasnovali prav za ta namen. Imenoval se je Enigma. Skupina, v kateri je delal tudi Turing, je odgovorila s Colossusom, enoto, ki je hitro in učinkovito razbila Enigmino kodo. Colossus je bil prvi korak k današnjim digitalnim računalnikom.
Po vojni je Turing služboval v državnemu fizikalnemu laboratoriju, da bi nadaljeval z razvojem računalnika.. Tam je razvijal avtomatski računski stroj. Še preden je z delom končal, se je preselil na Manchestersko univerzo, kjer je začel razvijati "Manchesterski avtomatski digitalni stroj" (MADAM). Verjel je, da bo še pred letom 2000 obstajal stroj, ki bo sposoben nadomestiti človeško umsko delo. Junija leta 1954 je umrl. V današnjem času obravnavamo Turinga kot enega najpomembnejših začetnikov računalništva.
Svoj matematični model, danes tako imenovan Turingov stroj, je Alan Turing objavil leta 1936. Turing je neodvisno od Churcha v istem časovnem obdobju reševal problem izračunljivosti. S Churchom sta tudi razvila podobno idejo, z razliko, da lambda račun večini ljudi ni povsem jasen in razumljiv, medtem ko Turingov stroj ni težaven za razumevanje. Glavni ideji Turingovega razmišljanja se glasita:
Model Turingovega stroja
Vsak Turingov stroj je mogoče na preprost način opisati z uporabo mehaničnih delov kot so trak, bralno-pisalna glava in mehanizem za pomik traku. Vedeti pa moramo, da mehanična, ali sploh kakršnakoli fizična, osnova stroja ni bistvena in je samo sredstvo za lažje razumevanje Turingove ideje, ki je v bistvu postopek za matematično dokazovanje. Rečemo lahko, da je Turingov stroj matematični pojem. Mehanična metafora je bila v pomoč Turingu samemu, ki je bil med drugim tudi eden od pionirjev pri razvoju digitalnih računalnikov.
Vsak Turingov stroj vsebuje naslednje dele:
Procesor P zna izvesti končno množico ukazov, ki jih lahko opišemo v obliki:
st mi uj sk
kjer smo s s označili stanje procesorja, z m znak pod bralno-pisalno glavo in z u ukaz. Deluje tako, da bo pri trenutnem stanju procesorja st in znaku mi pod bralno-pisalno glavo procesor izvršil ukaz uj in spremenil stanje procesorja v sk. Ukaz uj je lahko eden od naslednjih štirih:
Elementi Turingovega stroja so predstavljeni povsem mehansko, da lažje razumemo za kaj gre. V praksi so Turingovi stroji največkrat predstavljeni kot računalniški programi, Turingov stroj pa lahko, podobno kot von Neumannovo arhitekturo, pojmujemo kot model računalnika, ki zna vse, kar je možno vedeti oziroma znati.
Da se Turingov stroj ni uveljavil kot model računalnika, izvira iz njegove počasnosti. Tudi programiranje Turingovega stroja je tako zelo težavno in nerodno, da je tudi povsem enostavne probleme, kot naprimer seštevanje in množenje, zelo težavno izpeljati. Zgradba Turingovega stroja je v osnovi določena enolično. Vsak Turingov stroj ima končno množico simbolov (podatkov), stanj procesorja ter ukazov. Simboli, stanja in ukazi niso določeni niti po obsegu, niti po vsebini, iz česa je moč sklepati, da je Turingovih strojev neskončno mnogo.
Turing pa je dokazal obstoj tudi tako imenovanega univerzalnega Turingovega stroja, ki zna izvesti vsak program, ki je bil napisan za katerikoli Turingov stroj oziroma pri enakih vhodnih podatkih dobimo tudi enak rezultat. Turingov stroj postavlja takšno zahtevo: problem j e rešljiv, če ga je možno izvesti na Turingovem stroju v končnem številu korakov. Turingov stroj ima omejeno število stanj in je v točno enem izmed teh stanj v vsakem trenutku.
SERŠ Maribor, Strokovna gimnazija, leto: 2004, avtor: Janez Klobasa