Kompiuterių istorija

Tiuringo mašinos ir skaičiavimo teorija

Tiuringo mašinos ir skaičiavimo teorija

Tiuringo mašina yra pagrindinis teorinis konstruktas informatikoje. Tiuringo mašina yra abstraktus matematinis skaičiavimo modelis. Tiuringo mašinų naudojimas padeda paaiškinti, kas yra skaičiavimas, išskirdamas vadinamąsias „skaičiuojamas funkcijas.“

Ankstyvieji Alano Turingo logikos tyrimai buvo nukreipti į garsią neišspręstą problemą, vadinamą „Entscheidungsproblem“. „Entscheidungsproblem“ (apytiksliai iš vokiečių kalbos išversta kaip sprendimo problema) pasiūlė filosofas ir matematikas Davidas Hilbertas 1928 m. Problemoje buvo klausiama, ar yra algoritmas, kuris nuspręstų kiekvieną teiginį oficialia kalba.

Oficiali kalba yra aksiomų ir išvadų taisyklių sistema, pvz., Aritmetinėje ar pirmos eilės logikoje. Aksiomos gali būti bet kokie simboliai, o išvadų taisyklės - bet koks manipuliavimo tais simboliais taisyklių sąrašas.  „Kiekvieno teiginio sprendimas“ reiškė arba paskelbti, ar teiginys yra teisingas / melagingas, arba tai, ar teiginys buvo išvestinis / per mažas. Kurto Godelio išsamumo teorema įrodė, kad algoritmas, nusprendžiantis galiojimą, yra lygiavertis veiksmingai procedūrai, sprendžiančiai išvestinumą. 1936 m. Alano Turingo dokumentas „Dėl skaičiuojamų skaičių, taikant paraišką„ Entscheidungsproblem ““ įrodė neigiamą rezultatą, kad nebuvo įmanoma algoritmiškai nuspręsti kiekvieno teiginio oficialioje sistemoje.

Alanas Turingas

Kad įrodytų neigiamą „Entscheidungsproblem“ rezultatą, Turingui reikėjo įforminti algoritmo sąvoką. Turingo įformintas algoritmas buvo matematinis skaičiavimo modelis, kuris vėliau tapo žinomas kaip Tiuringo mašina. Tiuringo mašinoje yra galutinis būsenų rinkinys, kuriame mašina gali būti. Tiuringo mašina turi be galo ilgą juostą, padalytą į kvadratus. Kiekviename juostos kvadrate yra simbolis, sudarytas iš baigtinio simbolių rinkinio. Bet kurią skaičiavimo akimirką Tiuringo mašina nuskaito simbolį viename juostos kvadrate. Turingo mašina gali pakeisti tą simbolį kitu simboliu ir pereiti į kvadratą į dešinę arba į kairę. Veiksmą, kurį atlieka Tiuringo mašina, automatiškai nustato mašinos būsena. Atlikus pakeitimo simbolį ir pereinant prie kito kvadrato, Turingo mašina gali pereiti į kitą būseną. Kiekviena skirtinga valstybė turi skirtingą taisyklių rinkinį, kaip pakeisti simbolius ir kuria kryptimi judėti.

Retas fizinis Tiuringo mašinos dizaino įgyvendinimas (be begalinės juostos)

Kanoninę Tiuringo mašinos formuluotę paprastai sudaro dvejetainė abėcėlė, sudaryta tik iš 0s ir 1s. Ši formuluotė atitinka šiuolaikinių kompiuterių programuotojų intuiciją, atsižvelgiant į tai, kad visi šiuolaikiniai kompiuteriai naudoja dvejetainį. Tiesą sakant, Tiuringo mašinos yra neutralios simbolių abėcėlės dydžio atžvilgiu. Tiuringo mašina taip pat gali naudoti bet kokį simbolį, tiek skaitmenį, tiek iš bet kokio kito tipo abėcėlės, pvz., Vaizdinius simbolius ar lotyniškus. Bet kokio galimo abėcėlės formuluotę galima įrodyti, kad ji yra binarinė Tiuringo mašina.

Tiuringo mašinos daro prielaidą, kad atminties yra be galo daug. Joks tikras fiziškai sukurtas aparatas negali atitikti šio reikalavimo būti Tiuringo mašina. Tiuringo mašina taip pat daro prielaidą, kad skaičiuojant funkciją gali būti praleistas begalinis laiko tarpas. Šios prielaidos buvo sukurtos siekiant sukurti kuo platesnę galimų funkcijų klasę, pagal kurią Turingas galėtų apibrėžti apskaičiuojamas funkcijas. Apskaičiuojamos Turingo funkcijos yra bet kurios funkcijos, kurias gali apskaičiuoti Turingo mašina. Daugelio šių apskaičiuojamų funkcijų niekada negali apskaičiuoti jokia fiziškai sukurta mašina, nes joms reikia per daug laiko ar atminties.

Bažnyčios-Turingo tezėje teigiama, kad apskaičiuojamų funkcijų ir funkcijų, kurias galima apskaičiuoti Tiuringo mašina, atitikmuo. Tai reiškia, kad visų funkcijų, kurių Turingo mašinos negali apskaičiuoti, negalima apskaičiuoti jokiu kitu metodu. Davidas Hilbertas tikėjosi teigiamo atsakymo į „Entscheidungsproblem“, o tai reikštų, kad visos problemos yra apskaičiuojamos. Turingo rezultatas leido atrasti daugybę neaprėpiamų problemų.

Garsiausia neapskaičiuojama problema yra sustabdymo problema. Sustabdymo problema yra algoritmo, kuris paprastai gali nuspręsti, ar kompiuterio programa su įvestimi bus sustabdyta, ar tęsis amžinai, sukūrimo problema. Nors yra tam tikrų atvejų, kai sustabdymo problemą galima išspręsti, jos negalima išspręsti kiekvienai kompiuterio programai su bet kokia įvestimi. Šis rezultatas turėjo svarbių pasekmių kompiuterių programavimui, nes kompiuterių programuotojai turi žinoti apie begalinių kilpų galimybę ir neįmanoma aptikti visų begalinių kilpų prieš paleidžiant programas.

Kita Tiuringo mašinos implikacija yra universalių Tiuringo mašinų galimybė. Neabejotinai Turingo dizainas yra programos, modifikuojančios duomenis kartu su jos modifikuojamais, saugojimo koncepcija. Tai siūlė bendrosios paskirties ir perprogramuojamų kompiuterių galimybę. Šiuolaikiniai kompiuteriai paprastai yra universalios Tiuringo mašinos ta prasme, kad juos galima užprogramuoti paleisti bet kurį algoritmą. Tai pašalino skirtingos aparatinės įrangos poreikį kiekvienai potencialiai kompiuterio programai ir įvedė aparatinės ir programinės įrangos skirtumą.

Tiuringo mašinos modelis tiesiogiai paskatino kompiuterių išradimą, tačiau tai nėra tas pats projektas, naudojamas kuriant šiuolaikinius kompiuterius. Fon Neumanno architektūra, naudojama kaip šiuolaikinių kompiuterių planas, naudoja saugomos programos koncepciją, numanomą Tiuringo mašinos modelyje, tačiau keletu svarbių būdų skiriasi nuo likusio Tiuringo mašinos modelio. Didžiausi skirtumai yra tai, kad „von Neumann“ architektūroje nenaudojama skaitymo ir rašymo galvutė, o vietoj jos yra keli registrai, atsitiktinės prieigos atmintis, duomenų magistralės, nedidelis pagrindinių mašinų nurodymų rinkinys ir kelių bitų apdorojimo galimybės. „Von Neumann“ architektūra taip pat aiškiai leidžia naudoti specializuotus įvesties ir išvesties įrenginius, tokius kaip klaviatūros ir monitoriai.

Tiuringo mašinos modelis buvo pirmasis matematinis skaičiavimo modelis. Tai tiesiogiai paskatino fizinių kompiuterių išradimą. Fiziniai kompiuteriai turi visas tas pačias galimybes, kurias turi Turingo mašinos, darant prielaidą, kad atmintis ir faktinio skaičiavimo laiko apribojimai yra riboti. Tyringo formuluotė vis dar vaidina pagrindinį vaidmenį skaičiuojant. Kompiuterių mokslininkai vis dar aktyviai dalyvauja tiriant, ar konkrečias funkcijas gali apskaičiuoti Tiuringo mašinos.

Kaip rodyti OSD perdangą viso ekrano „Linux“ programose ir žaidimuose
Žaisdami viso ekrano žaidimus arba naudodamiesi programomis be išsiblaškymo viso ekrano režimu, galite nutraukti nuo susijusios sistemos informacijos,...
5 geriausios žaidimų fiksavimo kortos
Visi mes matėme ir pamėgome srautinius žaidimus „YouTube“. „PewDiePie“, „Jakesepticye“ ir „Markiplier“ yra tik vieni iš geriausių žaidėjų, kurie uždir...
Kaip sukurti žaidimą „Linux“
Prieš dešimtmetį nedaugelis „Linux“ vartotojų numatė, kad jų mėgstama operacinė sistema vieną dieną bus populiari komercinių vaizdo žaidimų žaidimų pl...