Maszyna Turinga Maszyna Turinga
Transkrypt
Maszyna Turinga Maszyna Turinga
Maszyna Turinga Maszyna Turinga – automat abstrakcyjny, służący do analizy algorytmów (zdolny do realizacji zapisanego w pewien formalny sposób algorytmu). Składa się ona z: • Podzielonej na kratki nieskończenie długiej taśmy, • oraz głowicy przesuwającej się nad taśmą. Definicje pojęć: Głowica • • • czyta/pisze symbole alfabetu S na taśmie, przesuwa się wzdłuż taśmy, przyjmuje zawsze jeden z m stanów q1, ..., qm Zbiór symboli S = {si} • zbiór symboli, które będą przetwarzane przez maszynę Turinga, nazwany alfabetem S Napis • ciąg symboli alfabetu S Stan maszyny • określa jednoznacznie stan głowicy qj i odczytany przez nią symbol alfabetu si: Sij = (si,qj) Ruch maszyny • • opisuje akcję, jaką ma wykonać MT. Ruch maszyny jest reakcją maszyny na stan maszyny Sij. Opisywany jest jako trójka: Rij = (sk, ql, pm), Gdzie: sk – symbol zapisany przez głowicę, ql – nowy stan wewnętrzny głowicy, pm –przesunięcie głowicy {P, N, L}, Każdy ruch Rij jest związany jednoznacznie ze stanem maszyny Sij. Zatem: Rij = T (Sij), gdzie T – to tablica charakterystyczna maszyny Turinga Tablica charakterystyczna: q2 ... qj ... qm q1 s1 s2 ... si ... Zbiór stanów głowicy Rij = (sk, ql, pm) Jeśli będąc w stanie qj głowica odczytała symbol si, to należy zapisać na taśmie symbol sk, zmienić stan wewnętrzy głowicy na ql i dokonać przesunięcia głowicy pm, Twierdzenie: Każdy algorytm może być realizowany przez odpowiednio zaprogramowaną (za pomocą tablicy charakterystycznej) Maszynę Turinga sn Zbiór symboli alfabetu qi s1 s2 s3 s4 ... ZADANIA Zaprojektować tablicę charakterystyczną Maszyny Turinga, która 1. zamienia co drugą jedynkę na 0 licząc od lewej w binarnym ciągu zapisanym na taśmie. Głowica z lewej. 2. generuje bit parzystości po lewej stronie liczby (sumaryczna liczba jedynek jest parzysta). Głowica z prawej. 3. mnoży nieujemną liczbę piątkową zapisaną na taśmie przez 2. Głowica z prawej. 4. mnoży nieujemną liczbę czwórkową zapisaną na taśmie przez 2. Głowica z prawej. 5. generuje symetryczny ciąg symboli a i b zapisanych na taśmie po prawej stronie tego ciągu. Głowica z prawej. 6. generuje symetryczny ciąg symboli 0 i 1 zapisanych na taśmie po lewej stronie tego ciągu. Głowica z lewej.