Tudd Intuíció, egy előadás, egy Turing-gép

Kivonat: Dedikált egyszerű klasszikus számítási modellek (leírás) algoritmus (algoritmiziruemogo folyamat) - A.Tyuringa autó megáll a problémát egy ilyen gép (megszűnésének ezt a folyamatot) és a linkeket a problémát a klasszikus probléma algoritmikus egyenlő szava szabad félcsoportokra.

Miért van szükség egy egyszerű számítógépes modellt?

Eddig már kényelmesen olvassa el a programozó tapasztalat. beszél algoritmusok, programok, tolmácsok, léptetés, stb Ez lehetővé teszi számunkra, hogy figyelmen kívül hagyja a részleteket az egyes algoritmusok az ürüggyel, hogy az olvasó könnyen visszaállíthatja őket (vagy legalábbis úgy vélik, ez még nem minden olvasó azt írta tolmács Pascal Pascal életében).

De bizonyos esetekben ez nem elég. Tegyük fel például, szeretnénk bizonyítani algoritmikus bizonytalanságának néhány probléma, hogy melyik mond semmit a programok (ebben a szakaszban, például, azt bizonyítja, döntésképtelenség a szó probléma félcsoportokra. Definiálva generátorok és kapcsolatok). Ezt általában úgy. Megmutatjuk, hogy a megállási probléma csökken a feladatot. Erre a munkára modellezzük egy tetszőleges algoritmus szempontjából a probléma (mit jelent az, hogy látható a példákat). Ugyanakkor fontos, hogy a definíció az algoritmus volt olyan egyszerű, amennyire csak lehetséges.

Tehát a tervünk. Leírjuk egyszerűen meghatározott csoportját gépek (ami lehet választani különböző módon fogjuk használni az úgynevezett Turing-gép), majd állapítsa meg, hogy minden számolható függvény lehet számítani egy ilyen készüléket, majd azt mutatják, hogy az a kérdés, megállás a Turing-gép is csökkenthető arra a kérdésre, hogy az egyenlő szót egy félcsoport.

Turing-gép: Definition

Turing-gép egy kétirányú végtelen szalagot. négyzetekre osztva (sejtek). Minden sejt írhatók jelképe a rögzített (egy adott gépen) véges készletek. az úgynevezett ábécé a gép. Egyik jelképe az ábécé elszigetelt és a továbbiakban „space” azt feltételezzük, hogy kezdetben a teljes szalagot üres, azaz töltse ki az üres helyeket.

Turing-gép megváltoztathatja a tartalmát a szalag segítségével speciális olvasási és írási fejét. amely mentén halad a szalag. Minden pillanatban a fej egyik sejteket. A Turing-gép kapja a fejét, hogy mi a karakter lát, és attól függően, ez (és a belső állapot) úgy dönt, hogy mit kell tennie, hogy egy szimbólum a rekord az adott cellában, és ahol a mozgás után (balra, jobbra vagy balra a helyszínen). Azt is megváltoztatja a belső állapotát az autó (feltételezzük, hogy a gép nem számítva a szalagot véges memória. Ez egy véges számú belső állapotok). Mégis meg kell egyetértek azzal, amit elkezdünk, és ahol befejezi a munkát.

Így, hogy állítsa be a Turing-gép, meg kell adnia a következő elemeket tartalmazza:

  • véges halmaz (ábécé); annak elemei nevezzük szimbólumok;
  • Néhány kiemelt karaktert (üres vagy null karakter.);
  • S. véges halmaz, az állapotok halmaza;
  • egy dedikált úgynevezett elsődleges;
  • ugrás asztalra. amely meghatározza a viselkedését az autó állapotától függően és az aktuális karaktert (lásd alább).
  • annak egy részét, amelynek elemeit az úgynevezett végső állapot (van ilyen állapotba, a gép leáll).

Átmeneti táblázat felépítése a következő: minden pár tartalmaz a hármas. Van egy műszak a számok 1 (balra) 0 (on-site) és 1 (jobbra). Így, az átmenet táblázat egy típusának függvényében S x A -> S X A X. definiált a párokat, ahol az állam nem végleges.

Továbbra viselkedésének leírására egy Turing-gép. Minden egyes időpontban van egy bizonyos konfigurációt. hajtogatását a kazetta tartalmának (technikailag szólva, a tartalom a szalag tetszőleges térkép Z -> A), az aktuális fej helyzetét (egész szám), és a jelenlegi állapot a gép (S elem). Átalakítás a következő konfigurációs zajlik a természetes szabályok: megnézzük a táblázatot, mit kell tenni, hogy az állam és a szimbólum, amely azt találjuk, egy új állam a gép, változtassa meg a szimbólum a megadott, majd mozgassa a fejét, hogy balra, jobbra, vagy balra a helyén. Ebben az esetben, ha az új állam egyik utolsó munkája a gép végén. Továbbra is egyetért, hogy hogyan szolgálja az információkat a készülék be- és mi tekinthető a munkája eredményét. Azt feltételezzük, hogy az ábécé a gép, amellett, hogy a tér, amely a jelképek 0 és 1 (és talán más karakter). A bemeneti és kimeneti gép véget ér a sorozat nullák (bináris szó). Bemeneti szó van írva egy üres kazettát, a készülék fej van elhelyezve, az első sejt, a gép az eredeti állapot és fuss. Ha leáll a gép, az eredmény egy bináris szó. amely olvasható, kezdve a fej helyzetét és a mozgó jobbra (mindaddig, amíg a karakter megjelenik a különböző, a 0 és 1).

Így minden Turing-gép meghatározza részleges funkciója a bináris szavak. Mindezek a funkciók természetesen úgynevezett kiszámítható egy Turing-gép.

Turing gépek: Vita

Természetesen a meghatározás tartalmaz sok részletet, hogy meg lehet változtatni. Például, a szalag végtelen lehet csak az egyik irányban. Akkor adja meg a kocsi két szalag. Feltételezhetjük, hogy a gép tud írni egy új szimbólum vagy mozog, de mindkettő nem. A határ a betűket. feltételezve, mondjuk, hogy meg kell pontosan 10 karakter. Kérheti, hogy a végén a szalagon volt semmi, de a munka eredménye (a többi sejt üresnek kell lennie). Mindezek, és még sok más változások nem változtatják az osztály kiszámítható függvények Turing-gép. Persze, van általános aggodalom változásokat. Például ha letiltja a gépet mozgatni a bal, akkor gyökeresen meg fog változni az érdemi szalag használhatatlan lesz, mert nem lesz lehetetlen, hogy menjen vissza a régi feljegyzések.

Hogyan lehet megérteni, hogy milyen változtatások ártalmatlanok, és melyek nem? Úgy tűnik, van szükség egy bizonyos tapasztalat gyakorlati programozási Turing-gép, legalább egy kicsit. Ezt követően, el lehet képzelni, a képességek, a gép nélkül írásban programot teljesen, és vezetett csak egy durva leírás. Példaként bemutatjuk egy gép, amely megduplázza a bemeneti szó (word termel XX. X, ha a szó már input).

Ha a gép látja tér (input szó üres), akkor véget ér a munka. Ha nem, akkor emlékszik az aktuális karaktert, és teszi a jel (az ábécé mellett a számjegyek 0 és 1 még mindig a „tick box”, és). Aztán jobbra mozdul egy üres cellába, majd ír egy példányát a tárolt jel van. Aztán balra mozog a jel; eltemetve egy jegyzetet, visszahúzódik, és tárolja a következő karaktert, és így tovább, amíg meg nem másolja a teljes szót.

Miután némi tapasztalatot. lehetőség van az összes ezeket a kifejezéseket, hogy konkrét darab egy programot a Turing-gép. Például a „emlékszik a karaktert, és mozgassa jobbra” azt jelenti, hogy a két állam a csoportok, az egyik, amikor a memóriában tárolt nulla és egy, ha a tárolt egységet. és az egyes csoportokon belül programozott mozgás jobbra, amíg az első üres cellába.

Csak egy kicsit több tapasztalattal, akkor érthető, hogy ebben a leírásban van egy hiba, nem biztosított stop mechanizmussal, amikor az egész szót kell másolni egy példányt a szimbólumok nem különböznek az eredeti szó karaktereket. Az is világos, hogy a hibát ki kell javítani a másolatát írásban és speciális karaktereket, és az utolsó szakaszban az összes jegyzeteket távolítani.

77. Mutassuk meg, hogy a funkció a „kezelés”, felborult szó visszafelé, kiszámítható egy Turing-gép.

Egy másik példa a nem-formális argumentum: Magyarázd meg, miért nem tudod használni más karakter, kivéve az 1. és 0. A null karakter. Tegyük fel, hogy van egy gép, egy nagy ábécé N karaktert. Készítünk egy új gépet, amely szimulálja a munkát a régi, de minden cellában meg kell egyeznie a régi blokk k új sejtek. A blokk mérete (k) úgy van rögzítve, hogy a belsejében a blokk lehet kódolni a nullák és egyesek az összes karakter egy nagy ábécé. A forráskód 0, 1 és üres lesz kódolva, mint 0. mögött, amelyek (k-1) üres karakterek, amelyek 1. (k-1) az üres karaktereket, és egy csoport k üres karakter. Először meg kell, hogy álljon a levelet a bemeneti szó a távolból k. hogy lehet tenni anélkül, hogy további szimbólumok (elérve a szélsőséges leveleket távolítsa el azt, majd elérve a következő, és úgy változtatja meg a szélsőséges, és így tovább); csak meg kell érteni, hogy lehetséges, hogy azonosítsa a szó végét, mint a helyzetben, majd egy üres karakter k. Nyilvánvaló, hogy ebben a folyamatban kell szem előtt tartani néhány véges mennyiségű információt, így lehetséges. Ezután tudjuk szimulálni a munka az eredeti gép lépésekben, és ez is elég véges memória (azaz véges sok állapot), mivel fontos számunkra csak egy kis környezetében a fejét a szimulált gép. Végül meg kell tömöríteni az eredményt vissza.

Az az állítás, hogy minden számolható függvény kiszámítható a Turing-gép az úgynevezett Turing tézis. Természetesen annak jelentését attól függ, mit értesz „számolható függvény”. Ha megértjük őket homályos, intuitív értelemben ( „funkció számítjuk algoritmikusan, hogy világos, egyértelmű, világos szabályok”, vagy valami hasonló), természetesen bármilyen bizonyítéka Turing tézis nem lehet kérdés. Csak azt mondhatjuk, hogy az évszázados gyakorlat emberiség Euclid Knut nem találkozott egy példa egy algoritmus, amely nem lehet leírni, mint egy programot egy Turing-gép, stb Ugyanakkor egy másik (nem túl meggyőző) érv az alábbiakban.

Záró vita, hogy az ígért fenti érvelés, hogy minden számolható függvény kiszámítható egy Turing-gép. Hagyja a funkciót. hogy a személy képes kiszámolni. Ebben az esetben is az, persze, van, hogy egy papírt és ceruzát, mint az információk mennyisége. tudja tartani „szem előtt” korlátozott. Azt feltételezzük, hogy ő írja a papírdarabot. Amellett, hogy ez a lap verem halom papír a jobb és bal oldalon; ezek közül bármelyik lehet, hogy a jelenlegi listát. Miután befejezte munkáját, és a másik a verem mellett magával. A férfi egy ceruza és a radír. Mivel nagyon kicsi betűk nem lehet látni, hogy hány világosan elkülöníthető államok lap természetesen, és azt feltételezhetjük, hogy minden ponton a lapra van rögzítve egy levelet egy véges (bár nagyon nagy) az ábécé. Man is véges memória. úgy, hogy a feltétel egy eleme véges. Ebben az esetben lehet, hogy néhány tábla ami meg van írva, hogy mi az eredmény munkája egy lapon a tartalmát kezdődött ebben az állapotban (azaz a lapon, milyen állapotban lesz egy személy, és a következő lapot kell venni egy csomagban). Most már egyértelmű, hogy az emberi cselekvés csak egyezik a Turing-gép egy nagy (de véges) ábécé és egy nagy (de véges) számú belső állapotok.

Kapcsolódó cikkek