Datoru vēsture

Tjūringa mašīnas un aprēķināmības teorija

Tjūringa mašīnas un aprēķināmības teorija

Tjūringa mašīna ir centrālā teorētiskā konstrukcija datorzinātnēs. Tjūringa mašīna ir abstrakts matemātisks skaitļošanas modelis. Turinga mašīnu izmantošana palīdz izskaidrot, kas ir aprēķins, norobežojot tā sauktās “aprēķināmās funkcijas”.”

Alana Turinga agrīnā loģikas izpēte koncentrējās uz slaveno neatrisināto problēmu, kas pazīstama kā Entscheidungsproblem. Entscheidungsproblēmu (aptuveni tulkots no vācu valodas kā lēmuma problēmu) 1928. gadā ierosināja filozofs un matemātiķis Deivids Hilberts. Problēma jautāja, vai pastāv algoritms, kas izlemj katru paziņojumu oficiālā valodā.

Oficiālā valoda ir aksiomu un secinājumu noteikumu sistēma, piemēram, aritmētiskajā vai pirmās kārtas loģikā. Aksiomas var būt jebkuri simboli, un secinājuma noteikumi var būt jebkurš noteikumu saraksts manipulēšanai ar šiem simboliem.  “Katra apgalvojuma izlemšana” nozīmēja vai nu norādīt, vai paziņojums ir patiess / nepatiess, vai arī norādīt, vai paziņojums ir atvasināms / nepietiekams. Kurta Godela pilnīguma teorēma pierādīja, ka algoritms, kas izlemj par derīgumu, ir līdzvērtīgs efektīvai procedūrai, kas lemj par atvasināmību. Alana Tūringa 1936. gada raksts “Par aprēķināmiem skaitļiem ar pieteikumu Entscheidungsproblem” pierādīja negatīvu rezultātu, ka algoritmiski nebija iespējams izlemt katru paziņojumu formālā sistēmā.

Alans Tūrings

Lai pierādītu Entscheidungsproblēmas negatīvo rezultātu, Turingam vajadzēja formalizēt algoritma jēdzienu. Turinga algoritma formalizēšana bija matemātisks skaitļošanas modelis, kas vēlāk kļuva pazīstams kā Turinga mašīna. Turingas mašīnai ir ierobežots stāvokļu kopums, kurā mašīna var atrasties. Turingas mašīnai ir bezgalīgi gara lente, kas ir sadalīta kvadrātos. Katrā lentes kvadrātā ir simbols, kas iegūts no ierobežota simbolu kopuma. Jebkurā aprēķina brīdī Turinga mašīna nolasa simbolu vienā lentes kvadrātā. Turinga mašīna var aizstāt šo simbolu ar citu simbolu un pāriet uz kvadrātu pa labi vai uz kvadrātu pa kreisi. Darbību, kuru veic Turinga mašīna, automātiski nosaka mašīna. Pēc nomaiņas simbola un pārejas uz citu kvadrātveida darbību Tjūringa mašīna var pāriet uz citu stāvokli. Katrā atšķirīgajā štatā ir atšķirīgs noteikumu kopums par to, kā aizstāt simbolus un kurā virzienā virzīties.

Retā fiziskā Tjūringa mašīnas konstrukcijas realizācija (bez bezgalīgas lentes)

Turingas mašīnas kanoniskais formulējums parasti sastāv no binārā alfabēta, kurā ir tikai 0s un 1s. Šis formulējums atbilst mūsdienu datorprogrammētāju intuīcijai, ņemot vērā, ka visos mūsdienu datoros tiek izmantots binārs. Faktiski Turingas mašīnas ir neitrālas attiecībā pret simbolu alfabēta lielumu. Tjūringa mašīna var izmantot arī jebkuru simbolu, neatkarīgi no tā, vai tas ir cipars, vai ņemts no jebkura cita veida alfabēta, piemēram, attēlus simbolus vai latīņu alfabētu. Jebkuru visu iespējamo ierobežoto alfabētu formulējumus var pierādīt reducējot uz bināro Turinga mašīnu.

Tjūringa mašīnas pieņem, ka ir pieejams bezgalīgi daudz atmiņas. Neviena reāla fiziski izveidota mašīna nevar izpildīt šo prasību būt Turingas mašīnai. Turingas mašīna arī pieņem, ka funkcijas aprēķināšanai var pavadīt potenciāli bezgalīgu laiku. Šie pieņēmumi tika veikti, lai radītu visplašāko iespējamo funkciju klasi Turinga aprēķināmo funkciju definīcijai. Turinga aprēķināmās funkcijas ir jebkuras funkcijas, kuras var aprēķināt Turinga mašīna. Daudzas no šīm aprēķināmajām funkcijām, iespējams, nekad nevarēs aprēķināt neviena fiziski izveidota mašīna, jo tām nepieciešams pārāk daudz laika vai atmiņas.

Baznīcas-Tjūringa tēze apliecina aprēķināmo funkciju un funkciju, kuras var aprēķināt ar Tjūringa mašīnu, līdzvērtību. Tas nozīmē, ka visas funkcijas, kuras nevar aprēķināt Turinga mašīnas, nevar aprēķināt ar citu metodi. Deivids Hilberts bija gaidījis pozitīvu atbildi uz Entscheidungsproblem, kas nozīmētu, ka visas problēmas ir aprēķināmas. Turinga rezultāts ir atklājis daudzas neaprēķināmas problēmas.

Visslavenākā neaprēķināmā problēma ir apturēšanas problēma. Apturēšanas problēma ir tāda algoritma izveides problēma, kas parasti var izlemt, vai datorprogramma ar tās ievadi tiks apturēta vai turpināsies uz visiem laikiem. Lai gan ir īpaši gadījumi, kad apturēšanas problēmu var atrisināt, to nevar atrisināt katrai datorprogrammai ar jebkuru ievadi. Šim rezultātam ir būtiskas sekas datorprogrammēšanā, jo datorprogrammētājiem ir jāapzinās bezgalīgu cilpu iespējamība un neiespējamība atklāt visas bezgalīgās cilpas pirms viņu programmu palaišanas.

Vēl viena Turinga mašīnas implikācija ir universālu Turing mašīnu iespēja. Turingas dizainā netieši ir saglabāta programma, kas modificē datus līdzās datiem, kurus tā modificē. Tas ieteica vispārējas nozīmes un pārprogrammējamu datoru iespēju. Mūsdienu datori parasti ir universālas Turingas mašīnas tādā nozīmē, ka tos var ieprogrammēt jebkura algoritma darbināšanai. Tas novērsa nepieciešamību pēc katras potenciālās datorprogrammas atšķirīgas aparatūras un ieviesa aparatūras / programmatūras atšķirību.

Turingas mašīnas modelis tieši noveda pie datoru izgudrošanas, taču tas nav tas pats projekts, ko izmanto mūsdienu datoru izstrādei. Fon Neimaņa arhitektūra, ko izmanto kā mūsdienu datoru plānu, izmanto glabātās programmas koncepciju, kas netieši iekļauta Turinga mašīnas modelī, bet vairākos svarīgos veidos atšķiras no pārējās Turinga mašīnas modeļa. Lielākās atšķirības ir tādas, ka fon Neimaņa arhitektūra neizmanto lasīšanas un rakstīšanas galvu un tā vietā ietver vairākus reģistrus, brīvpiekļuves atmiņu, datu kopnes, nelielu mašīnu pamatnorādījumu kopumu un vairākas bitu apstrādes iespējas. Fon Neimaņa arhitektūra nepārprotami pieļauj arī specializētas ievades un izvades ierīces, piemēram, tastatūras un monitorus.

Turingas mašīnas modelis bija pirmais skaitļošanas matemātiskais modelis. Tas tieši noveda pie fizisko datoru izgudrošanas. Fiziskajiem datoriem ir visas tās pašas iespējas, kādas ir Turinga mašīnām, pieņemot ierobežotu atmiņu un laika ierobežojumus faktiskajai skaitļošanai. Turingas formulējumam joprojām ir galvenā loma aprēķinu izpētē. Datorzinātnieki joprojām aktīvi iesaistās izpētē, vai konkrētās funkcijas var aprēķināt Turinga mašīnas.

Labākie Linux spēļu konsoles emulatori
Šajā rakstā tiks uzskaitīta populārā Linux spēļu konsoles atdarināšanas programmatūra. Emulācija ir programmatūras saderības slānis, kas atdarina spēļ...
Labākie Linux spēļu draiveri 2021. gadā
Linux operētājsistēma ir gājusi tālu no sākotnējā, vienkāršā uz serveriem balstītā izskata. Šī operētājsistēma pēdējos gados ir ārkārtīgi uzlabojusies...
Kā tvert un straumēt spēļu sesiju operētājsistēmā Linux
Agrāk spēļu spēlēšana tika uzskatīta tikai par hobiju, taču laika gaitā spēļu industrija piedzīvoja milzīgu tehnoloģiju un spēlētāju skaita pieaugumu....