Маши́на Тю́рінга — математичне поняття, введене для формального уточнення інтуїтивного поняття алгоритму. Названа на честь англійського математика Алана Тюрінга, який запропонував це поняття у 1936. Аналогічну конструкцію машини згодом і незалежно від Тюрінга ввів американський математик Еміль Пост.
Основна ідея, що лежить в основі машини Тюрінга, дуже проста. Машина Тюрінга — це абстрактна машина (автомат), що працює зі стрічкою, що складається із окремих комірок, в яких записано символи. Машина також має голівку для запису та читання символів із комірок і яка може рухатись вздовж стрічки. На кожному кроці машина зчитує символ із комірки, на яку вказує голівка та, на основі зчитаного символу та внутрішнього стану, робиться наступний крок. При цьому, машина може змінити свій стан, записати інший символ у комірку або пересунути голівку на одну комірку ліворуч або праворуч.
Історія
Формальні визначення алгоритму з'явилися в тридцятих-сорокових роках XX століття. Одним із перших було визначення англійського математика Алана Тюрінга, який у 1936 році описав схему деякої гіпотетичної (абстрактної) машини і запропонував називати алгоритмами те, що вміє робити така машина. При цьому визначенні, якщо щось не може бути зроблено машиною Тюрінга, це вже не алгоритм. Інакше кажучи, Тюрінг формалізував правила виконання дій за допомогою опису роботи деякої конструкції.
Визначення
У кожної машини Тюрінга є стрічка, потенційно нескінченна в обидві сторони. Є скінченна множина символів стрічки S0, …, Sn, що називається алфавітом машини. У кожен момент часу кожна комірка може бути зайнята не більш ніж одним символом. Машина має деяку скінченну множину внутрішніх станів q0, q1, …, qn. У кожен даний момент часу машина знаходиться лише в одному із цих станів.
Нарешті, є голівка, яка у кожен даний момент часу знаходиться на одній із комірок стрічки. Машина діє не безупинно, а лише у дискретні моменти часу. Якщо у якийсь момент t голівка сприймає комірку (тобто знаходиться на комірці), що містить символ Si, і машина знаходиться у внутрішньому стані qj, то дія машини визначена однією із чотирьох дій:
- голівка затирає символ Si, і записує у тій же комірці новий символ Sk,
- голівка пересувається в сусідню ліву комірку,
- голівка пересувається в сусідню праву комірку,
- машина зупиняється.
У випадках (1)-(3) машина переходить у новий внутрішній стан qr, і готова знову до дії у наступний момент t + 1. Припустимо, що символ S0 представляє порожню комірку, і отже, голівка завжди сприймає деякий символ.
Перші три з можливих дій машини можуть бути описані відповідно такими упорядкованими четвірками, які називаються командами:
Тут перші два символи — це відповідно внутрішні стани машини і сприйнятий символ, наступні три визначають дію машини (запис голівкою символу Sk, або переміщення голівки на одну комірку вліво, або переміщення голівки на одну комірку вправо) та новий стан машини. Якщо стрічка вкладена в машину Тюрінга, голівка машини встановлена на одну із комірок стрічки і машина приведена в один із своїх внутрішніх станів, то машина починає оперувати на стрічці: її голівка пише і стирає символи і пересувається з однієї комірки в іншу. Якщо при цьому машина колись зупиняється, то стрічка, яка розташована в ній в цей момент, називається результатом застосування машини до даної стрічки.
Незважаючи на свій простий устрій, машина Тюрінга може виконувати складні перетворення слів. Спочатку, коли стрічка містить вхідне слово, автомат знаходиться проти деякої з комірок і у якомусь стані. У залежності від вибору початкової комірки, утворяться різні результати роботи машини Тюрінга. У процесі своєї роботи машина Тюрінга буде ніби перестрибувати з однієї комірки програми на іншу, відповідно до інформації на стрічці і вказівками в командах програми, поки не дійде до команди, яка переведе автомат у кінцевий стан.
Можливості машини Тюрінга
Багатство можливостей конструкції Тюрінга виявляється в тому, що якщо якісь алгоритми A та B реалізуються машинами Тюрінга, то можна будувати програми машин Тюрінга, які реалізують композиції алгоритмів A та B, наприклад, виконати A, потім виконати B або виконати A. Якщо в результаті утворилося слово так, то виконати B. У протилежному випадку не виконувати B або виконувати по черзі A, B, поки B не дасть відповідь ні.
У інтуїтивному сенсі такі композиції є алгоритмами. Тому їхня реалізація за допомогою машини Тюрінга служить одним із засобів обґрунтування універсальності конструкції Тюрінга.
Реалізованість таких композицій доводиться у загальному вигляді, незалежно від особливостей конкретних алгоритмів A та B. Доведення полягає в тому, що вказується засіб побудови з програм A та B програми потрібної композиції. Нехай, наприклад, потрібно побудувати машину , еквівалентну послідовному виконанню алгоритмів A та B. Поки виконується алгоритм A, у програмі працює частина A без урахування частини B. Коли алгоритм A дійде до кінця, то замість зупинки відбудеться перехід у перший стан частини B, і потім частина B буде працювати звичайним чином, наче частини A і не було.
Аналогічно конструюють й інші композиції машин Тюрінга; щораз будуються загальні правила: що на що змінювати у вихідних програмах.
Описуючи різноманітні алгоритми для машин Тюрінга і стверджуючи реалізованість усіляких композицій алгоритмів, Тюрінг переконливо показав розмаїтість можливостей запропонованої ним конструкції, що дозволило йому виступити з такою тезою:
- Всякий алгоритм може бути реалізований відповідною машиною Тюрінга.
Це основна гіпотеза теорії алгоритмів у формі Тюрінга. Одночасно ця теза є формальним визначенням алгоритму. Завдяки їй можна доводити існування або неіснування алгоритмів, створюючи відповідні машини Тюрінга або доводячи неможливість їхньої побудови. Завдяки цьому з'являється загальний підхід до пошуку алгоритмічних рішень.
Якщо пошук рішення наштовхується на перешкоду, то можна використовувати цю перешкоду для доведення неможливості рішення, спираючись на основну гіпотезу теорії алгоритмів. Якщо ж при доказі неможливості виникає своя перешкода, то вона може допомогти просунутися в пошуку рішення, хоча б частково усунувши стару перешкоду. Так, по черзі намагаючись довести то існування, то відсутність рішення, можна поступово наблизитися до розуміння суті поставленої задачі.
Довести тезу Тюрінга не можна, тому що в його формулюванні не визначене поняття всякий алгоритм, тобто, ліва частина тотожності. Його можна тільки обґрунтувати, представляючи різноманітні відомі алгоритми у вигляді машин Тюрінга. Додаткове обґрунтування цієї тези складається в тому, що пізніше було запропоновано ще декілька загальних визначень поняття алгоритму і щораз вдавалося довести, що, хоча нові алгоритмічні схеми і виглядають інакше, вони в дійсності еквівалентні машинам Тюрінга:
- усе, що реалізовано в одній з цих конструкцій, можна зробити і в інших
Ці твердження доводяться строго, тому що в них мова йде вже про тотожність формальних схем.
Примітки
- Енциклопедія кібернетики, т. 2, с. 444—446.
- Good Math, Bad Math, Basics: The Turing Machine (with an interpreter!) [ 2012-02-11 у Wayback Machine.], 9 лютого 2007.
Література
- Українською
- Формальні мови та алгоритмічні моделі. — І.-Ф. : Голіней, 2023. — 180 с.
- Іншими мовами
- Гэри М., Джонсон Д. Вычислительные машины и труднорешаемые задачи. — М. : Мир, 1982. — 416 с.
- Хопкрофт Дж., Мотвани Р., Ульман Дж. Введение в теорию автоматов, языков и вычислений. — М. : Вильямс, 2007. — 528 с.
- Эббинхауз Г.-Д., Якобс К., Ман Ф.-К., Хермес Г. Машины Тьюринга и рекурсивные функции. — М. : Мир, 1972. — 264 с.
Див. також
Посилання
- .
Це незавершена стаття з інформатики. Ви можете проєкту, виправивши або дописавши її. |
Це незавершена стаття з математики. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Mashi na Tyu ringa matematichne ponyattya vvedene dlya formalnogo utochnennya intuyitivnogo ponyattya algoritmu Nazvana na chest anglijskogo matematika Alana Tyuringa yakij zaproponuvav ce ponyattya u 1936 Analogichnu konstrukciyu mashini zgodom i nezalezhno vid Tyuringa vviv amerikanskij matematik Emil Post Klasi avtomativ Klacannya na kozhnomu shari skerovuye do statti na vidpovidnu temu Osnovna ideya sho lezhit v osnovi mashini Tyuringa duzhe prosta Mashina Tyuringa ce abstraktna mashina avtomat sho pracyuye zi strichkoyu sho skladayetsya iz okremih komirok v yakih zapisano simvoli Mashina takozh maye golivku dlya zapisu ta chitannya simvoliv iz komirok i yaka mozhe ruhatis vzdovzh strichki Na kozhnomu kroci mashina zchituye simvol iz komirki na yaku vkazuye golivka ta na osnovi zchitanogo simvolu ta vnutrishnogo stanu robitsya nastupnij krok Pri comu mashina mozhe zminiti svij stan zapisati inshij simvol u komirku abo peresunuti golivku na odnu komirku livoruch abo pravoruch IstoriyaFormalni viznachennya algoritmu z yavilisya v tridcyatih sorokovih rokah XX stolittya Odnim iz pershih bulo viznachennya anglijskogo matematika Alana Tyuringa yakij u 1936 roci opisav shemu deyakoyi gipotetichnoyi abstraktnoyi mashini i zaproponuvav nazivati algoritmami te sho vmiye robiti taka mashina Pri comu viznachenni yaksho shos ne mozhe buti zrobleno mashinoyu Tyuringa ce vzhe ne algoritm Inakshe kazhuchi Tyuring formalizuvav pravila vikonannya dij za dopomogoyu opisu roboti deyakoyi konstrukciyi ViznachennyaU kozhnoyi mashini Tyuringa ye strichka potencijno neskinchenna v obidvi storoni Ye skinchenna mnozhina simvoliv strichki S0 Sn sho nazivayetsya alfavitom mashini U kozhen moment chasu kozhna komirka mozhe buti zajnyata ne bilsh nizh odnim simvolom Mashina maye deyaku skinchennu mnozhinu vnutrishnih staniv q0 q1 qn U kozhen danij moment chasu mashina znahoditsya lishe v odnomu iz cih staniv Nareshti ye golivka yaka u kozhen danij moment chasu znahoditsya na odnij iz komirok strichki Mashina diye ne bezupinno a lishe u diskretni momenti chasu Yaksho u yakijs moment t golivka sprijmaye komirku tobto znahoditsya na komirci sho mistit simvol Si i mashina znahoditsya u vnutrishnomu stani qj to diya mashini viznachena odniyeyu iz chotiroh dij golivka zatiraye simvol Si i zapisuye u tij zhe komirci novij simvol Sk golivka peresuvayetsya v susidnyu livu komirku golivka peresuvayetsya v susidnyu pravu komirku mashina zupinyayetsya U vipadkah 1 3 mashina perehodit u novij vnutrishnij stan qr i gotova znovu do diyi u nastupnij moment t 1 Pripustimo sho simvol S0 predstavlyaye porozhnyu komirku i otzhe golivka zavzhdi sprijmaye deyakij simvol Pershi tri z mozhlivih dij mashini mozhut buti opisani vidpovidno takimi uporyadkovanimi chetvirkami yaki nazivayutsya komandami Siqj SkqrS displaystyle S i q j to S k q r S Siqj SkqrL displaystyle S i q j to S k q r L Siqj SkqrR displaystyle S i q j to S k q r R Tut pershi dva simvoli ce vidpovidno vnutrishni stani mashini i sprijnyatij simvol nastupni tri viznachayut diyu mashini zapis golivkoyu simvolu Sk abo peremishennya golivki na odnu komirku vlivo abo peremishennya golivki na odnu komirku vpravo ta novij stan mashini Yaksho strichka vkladena v mashinu Tyuringa golivka mashini vstanovlena na odnu iz komirok strichki i mashina privedena v odin iz svoyih vnutrishnih staniv to mashina pochinaye operuvati na strichci yiyi golivka pishe i stiraye simvoli i peresuvayetsya z odniyeyi komirki v inshu Yaksho pri comu mashina kolis zupinyayetsya to strichka yaka roztashovana v nij v cej moment nazivayetsya rezultatom zastosuvannya mashini do danoyi strichki Nezvazhayuchi na svij prostij ustrij mashina Tyuringa mozhe vikonuvati skladni peretvorennya sliv Spochatku koli strichka mistit vhidne slovo avtomat znahoditsya proti deyakoyi z komirok i u yakomus stani U zalezhnosti vid viboru pochatkovoyi komirki utvoryatsya rizni rezultati roboti mashini Tyuringa U procesi svoyeyi roboti mashina Tyuringa bude nibi perestribuvati z odniyeyi komirki programi na inshu vidpovidno do informaciyi na strichci i vkazivkami v komandah programi poki ne dijde do komandi yaka perevede avtomat u kincevij stan Mozhlivosti mashini TyuringaShematichna ilyustraciya roboti mashini Tyuringa Bagatstvo mozhlivostej konstrukciyi Tyuringa viyavlyayetsya v tomu sho yaksho yakis algoritmi A ta B realizuyutsya mashinami Tyuringa to mozhna buduvati programi mashin Tyuringa yaki realizuyut kompoziciyi algoritmiv A ta B napriklad vikonati A potim vikonati B abo vikonati A Yaksho v rezultati utvorilosya slovo tak to vikonati B U protilezhnomu vipadku ne vikonuvati B abo vikonuvati po cherzi A B poki B ne dast vidpovid ni U intuyitivnomu sensi taki kompoziciyi ye algoritmami Tomu yihnya realizaciya za dopomogoyu mashini Tyuringa sluzhit odnim iz zasobiv obgruntuvannya universalnosti konstrukciyi Tyuringa Realizovanist takih kompozicij dovoditsya u zagalnomu viglyadi nezalezhno vid osoblivostej konkretnih algoritmiv A ta B Dovedennya polyagaye v tomu sho vkazuyetsya zasib pobudovi z program A ta B programi potribnoyi kompoziciyi Nehaj napriklad potribno pobuduvati mashinu A B displaystyle A cdot B ekvivalentnu poslidovnomu vikonannyu algoritmiv A ta B Poki vikonuyetsya algoritm A u programi A B displaystyle A cdot B pracyuye chastina A bez urahuvannya chastini B Koli algoritm A dijde do kincya to zamist zupinki vidbudetsya perehid u pershij stan chastini B i potim chastina B bude pracyuvati zvichajnim chinom nache chastini A i ne bulo Analogichno konstruyuyut j inshi kompoziciyi mashin Tyuringa shoraz buduyutsya zagalni pravila sho na sho zminyuvati u vihidnih programah Opisuyuchi riznomanitni algoritmi dlya mashin Tyuringa i stverdzhuyuchi realizovanist usilyakih kompozicij algoritmiv Tyuring perekonlivo pokazav rozmayitist mozhlivostej zaproponovanoyi nim konstrukciyi sho dozvolilo jomu vistupiti z takoyu tezoyu Vsyakij algoritm mozhe buti realizovanij vidpovidnoyu mashinoyu Tyuringa dd Ce osnovna gipoteza teoriyi algoritmiv u formi Tyuringa Odnochasno cya teza ye formalnim viznachennyam algoritmu Zavdyaki yij mozhna dovoditi isnuvannya abo neisnuvannya algoritmiv stvoryuyuchi vidpovidni mashini Tyuringa abo dovodyachi nemozhlivist yihnoyi pobudovi Zavdyaki comu z yavlyayetsya zagalnij pidhid do poshuku algoritmichnih rishen Yaksho poshuk rishennya nashtovhuyetsya na pereshkodu to mozhna vikoristovuvati cyu pereshkodu dlya dovedennya nemozhlivosti rishennya spirayuchis na osnovnu gipotezu teoriyi algoritmiv Yaksho zh pri dokazi nemozhlivosti vinikaye svoya pereshkoda to vona mozhe dopomogti prosunutisya v poshuku rishennya hocha b chastkovo usunuvshi staru pereshkodu Tak po cherzi namagayuchis dovesti to isnuvannya to vidsutnist rishennya mozhna postupovo nablizitisya do rozuminnya suti postavlenoyi zadachi Dovesti tezu Tyuringa ne mozhna tomu sho v jogo formulyuvanni ne viznachene ponyattya vsyakij algoritm tobto liva chastina totozhnosti Jogo mozhna tilki obgruntuvati predstavlyayuchi riznomanitni vidomi algoritmi u viglyadi mashin Tyuringa Dodatkove obgruntuvannya ciyeyi tezi skladayetsya v tomu sho piznishe bulo zaproponovano she dekilka zagalnih viznachen ponyattya algoritmu i shoraz vdavalosya dovesti sho hocha novi algoritmichni shemi i viglyadayut inakshe voni v dijsnosti ekvivalentni mashinam Tyuringa use sho realizovano v odnij z cih konstrukcij mozhna zrobiti i v inshih dd Ci tverdzhennya dovodyatsya strogo tomu sho v nih mova jde vzhe pro totozhnist formalnih shem PrimitkiEnciklopediya kibernetiki t 2 s 444 446 Good Math Bad Math Basics The Turing Machine with an interpreter 2012 02 11 u Wayback Machine 9 lyutogo 2007 LiteraturaUkrayinskoyuFormalni movi ta algoritmichni modeli I F Golinej 2023 180 s Inshimi movamiGeri M Dzhonson D Vychislitelnye mashiny i trudnoreshaemye zadachi M Mir 1982 416 s Hopkroft Dzh Motvani R Ulman Dzh Vvedenie v teoriyu avtomatov yazykov i vychislenij M Vilyams 2007 528 s Ebbinhauz G D Yakobs K Man F K Hermes G Mashiny Tyuringa i rekursivnye funkcii M Mir 1972 264 s Div takozhPortal Matematika Modifikaciyi mashini Tyuringa Nedeterminovana mashina Tyuringa Algoritm Lyambda chislennyaPosilannya Ce nezavershena stattya z informatiki Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi Ce nezavershena stattya z matematiki Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi