-
Stan maszyn akceptujących po zakończeniu obliczeń
- Dla akceptacji języków, po zakończeniu obliczeń maszyny akceptujące są w następującej konfiguracji:
- - Głowica znajduje się nad pierwszą komorką taśmy
- - Wszystkie komórki wypełnione są symbolem pustym
- Dla obliczania wartości funkcji:
- - Głowica znajduje się na początku taśmy
- - Wynik zapisany jest w pierwszych komórkach, a pozostałe komórki wypełnione są symbolem pustym.
-
Równoważność niedeterministycznych i deterministycznych maszyn Turinga
Klasa maszyn Turinga niedeterministycznych jest równoważna klasie maszyn Turinga deterministycznych. Jest to równoważność w sensie akceptowanych języków, obliczanych funkcji, rozwiązywanych problemów.
-
Niedeterministyczne maszyny Turinga
Definicja jest analogiczna do Maszyny Turinga w modelu podstawowym z tym, że funkcja przejścia zdefiniowana jest następująco
- δ : Q × Γ→∪k=0∞ (Q × Γ× {L, R})k
- k=0 maszyna zaczyna wykonywać nieskończone obliczenia
- k=2 maszyna wykonuje dwa ruchy
Zatem ruch tej maszyny polega na niedeterministycznym wyborze jednej z wartości funkcji przejścia a następnie wykonaniu ruchu takiego, który prowadzi do akceptacji wejścia.
-
Stopień niedeterminizmu
Stopniem niedeterminizmu jest maksymalna liczba możliwych ruchów dla danej konfiguracji,
-
Akceptacja słowa niedeterministycznej maszyny turinga
Powiemy, że maszyna akceptuje słowo wejściowe (oblicza wartość funkcji) wtedy i tylko wtedy, gdy pewna ścieżka obliczeń kończy się konfiguracją końcową, a stanem sterowania konfiguracji końcowej jest stan akceptujący. Językiem akceptowanym przez maszynę Turinga niedeterministyczną nazywamy zbiór słów akceptowanych przez tę maszynę
-
Obliczenie niedeterministycznej maszyny Turinga
- Obliczenie niedeterministycznej maszyny Turinga jest drzewem w którym:
- - korzeń etykietowany jest opisem chwilowym konfiguracji początkowej
- - wierzchołki etykietowane są opisem chwilowym maszyny
- - potomkami dowolnego wierzchołka są wierzchołki pozostające z nim w relacji ruchu
-
Zakończenie obliczenia maszyny niedeterministycznej
Powiemy, że niedeterministyczna maszyna Turinga kończy obliczenie wtedy i tylko wtedy, gdy w drzewie obliczenie istnieje ścieżka kończąca się konfiguracją końcową
-
Relacja ruchu niedeterministycznej Maszyny Turinga
Relacją ruchu |- niedeterministycznej maszyny Turinga będziemy nazywać relację binarną nad zbiorem opisów chwilowych maszyny taką, że dwa opisy chwilowe α1 i α2 są w relacji ruchu wtedy i tylko wtedy, gdy opis chwilowy α2 może być otrzymany przez zastosowanie jednej z wartości funkcji przejścia dla argumentów określonych opisem chwilowym α1.
-
Akceptacja słowa w niedeterministycznej maszynie Turinga
Maszyna niedeterministyczna będzie akceptować słowo <=> gdy w drzewie będzie istniał liść, którego stan będzie stanem akcteptującym
-
Klasa maszyn z własnością stopu
Maszyny z własnością stopu są podklasą maszyn deterministycznych i niedeterministycznych
-
Automat liniowo ograniczony
Automaty liniowo ograniczone są to Maszyny Turinga z własnością stopu, które prowadzą obliczenia na części taśmy o długości równej wielokrotności słowa wejściowego. Dodatkowo maszyna ta musi być jednotaśmowa
-
Akceptacja klasy języków kontekstowych przez automat liniowo ograniczony
Automaty liniowo ograniczone akceptują klasę języków kontekstowych. To znaczy, że są równoważne klasie gramatyk kontekstowych.
-
Równoważność automatów liniowo ograniczonych i maszyn Turinga z własnością stopu
Klasa języków akceptowanych przez automaty liniowe ograniczone zawiera się w klasie języków akceptowanych przez maszyny Turinga z własnością stopu
-
Akceptacja klasy języków rekurencyjnie przeliczalnych przez automat
Klasa maszyn Turinga akceptuje klasę języków rekurencyjnie przeliczalnych to znaczy, że są równoważne gramatykom nieograniczonym.
-
Automat ze stosem
Automatem ze stosem nazywamy system
M= (Q, Σ, Γ, δ, q0, |-, F)
- Σ- skończony alfabet taśmy
- Γ- skończony alfabet stosu
- gdzie |- jest dnem stosu a funkcja przejścia zdefiniowana jest następująco
δ : Q × {Σ ∪ {ε} } × Γ → Uk=0∞ (Q × Γ*)k
Automat ze stosem jest Maszyną Turinga, to znaczy można skonstruować Maszyne Turinga równoważną automatowi ze stosem
-
Język akceptowany przez automat ze stosem
Językiem akceptowanym przez automat ze stosem nazywamy zbiór słów nad alfabetem ∑, dla których istnieje ścieżka w drzewie obliczenia kończąca się konfiguracją końcową zawierającą stan akceptujący.
-
Obliczenia automatu ze stosem
- Obliczenie automatu że stosem jest drzewem w którym:
- - korzeń etykietowany jest opisem chwilowym
- konfiguracji początkowej automatu.
- - wierzchołki etykietowane są opisem chwilowym automatu.
- - potomkami dowolnego wierzchołka są wierzchołki pozostające z nim w relacji ruchu |-.
-
Opis chwilowy -konfiguracja automatu ze stosem
-
Relacja ruchu automatu ze stosem
Relacją ruchu automatu ze stosem nazywamy relację binarną nad zbiorem opisów chwilowych, gdzie |- jest symbolem tej relacji. Dwa opisy chwilowe są w relacji ruchu wtedy i tylko wtedy, gdy drugi z nich został otrzymany z pierwszego przez wykonanie ruchu automatu.
-
Wykonanie ruchu w automacie ze stosem
- Dla stanu sterowania q, symbolu wejściowego a (albo bez uwzględnienia wejścia, jeśli argumentem jest słowo puste) oraz symbolu wierzchołka stosu Z, automat ze stosu wykonuje następujące akcje:
- - jeśli wartością argumentu jest symbol wejściowy przeczytany przez głowicę czytającą, to głowica jest przesuwana nad następny symbol wejścia
- - jeśli wartością argumentu jest słowo puste, to głowica nie czyta symbolu wejściowego i nie jest przesuwana nad następny symbol wejścia
- - Zastępuje wierzchołek stosu symbolem γ z wartości funkcji przejścia, symbole słowa γ są umieszczane na stosie w kolejności od ostatniego do pierwszego, tak że po wykonaniu tej akcji na wierzchołku stosu jest dostępny symbol słowa γ. Jeżeli wierzchołkiem był symbol początku stosu, wtedy pierwszym symbolem słowa γ musi być ten symbol.
- - sterowanie przechodzi do stanu opisanego wartością funkcji przejścia
|
|