Zobacz koniec tego postu, aby uzyskać wyjaśnienie definicji automatów typu min-heap.
Można sobie wyobrazić użycie różnych struktur danych do przechowywania informacji do wykorzystania przez automaty stanów. Na przykład automatyczne automaty przechowują informacje na stosie, a maszyny Turinga używają taśmy. Automaty stanowe korzystające z kolejek oraz te, które używają dwóch wielu stosów lub taśm, zostały pokazane jako równoważne pod względem mocy maszynom Turinga.
Wyobraź sobie maszynę ze stertą min. Działa dokładnie tak, jak automat dociskający, z następującymi wyjątkami:
- Zamiast patrzeć na ostatnią rzecz, którą dodałeś do sterty, możesz spojrzeć tylko na najmniejszy element (z kolejnością zdefiniowaną dla poszczególnych komputerów) aktualnie na sterty.
- Zamiast usuwać ostatnią rzecz dodaną do stosu, możesz usunąć tylko jeden z najmniejszych elementów (z kolejnością zdefiniowaną dla poszczególnych komputerów) aktualnie na stercie.
- Zamiast dodawać element na szczycie stosu, można jedynie dodać element do stosu, przy czym jego pozycja jest określana na podstawie innych elementów na stosie (z kolejnością zdefiniowaną dla poszczególnych komputerów).
Ta maszyna akceptuje wszystkie zwykłe języki, po prostu nie używając stosu. Może też przyjąć język dodając 's do hałdy i usuwanie ' s ze sterty gdy czyta b „s. Może akceptować wiele innych języków bezkontekstowych. Nie może jednak zaakceptować na przykład { w ∈ { a , b } ∗ ∣ w = w R }(podano bez dowodu). EDYCJA: czy może? Nie sądzę, żeby tak było, ale wcześniej byłem zaskoczony i jestem pewien, że będę zaskoczony, gdy moje założenia będą mnie nadal ... no cóż.
Czy może akceptować języki kontekstowe lub języki Turinga?
Mówiąc bardziej ogólnie, jakie badania, jeśli w ogóle, zostały przeprowadzone w tym kierunku? Jakie są ewentualne wyniki? Interesują mnie również inne odmiany egzotycznych automatów państwowych, być może te, które wykorzystują inne struktury danych do przechowywania lub różnego rodzaju ograniczenia dostępu (np. Jak LBA są ograniczonymi bazami TM). Referencje są mile widziane. Z góry przepraszam, jeśli to pytanie jest przejawem ignorancji.
Formalna definicja:
Podaję tutaj bardziej szczegółowe definicje automatów min-sterty w celu wyjaśnienia dalszej dyskusji w pytaniach dotyczących tego materiału.
Definiujemy automat niedeterministyczny typu 1 jako 7-krotny gdzie ...
- jest skończonym, niepustym zestawem stanów;
- jest stanem początkowym;
- jest zbiorem stanów akceptujących;
- jest skończonym, niepustym alfabetem wejściowym;
- jest skończonym, niepustym alfabetem wejściowym, gdzie waga symbolu γ ∈ Γ , w ( γ ) ∈ N jest taka, że w ( γ 1 ) = w ( γ 2 ) ;
- jest specjalnym symbolem z dołu stosu;
- jest funkcją przejścia.
Funkcja przejścia działa, zakładając początkowo pustą stertę składającą się tylko z . Funkcja przejściowy może dodać do sterty dowolnym Collection (skończoną, lecz może być pusty lub powtórzeń) elementów y 1 , γ 2 , . . . , γ k ∈ Γ . Alternatywnie, funkcja przejścia może usunąć wystąpienie elementu γ o najniższej masie w ( γ )wszystkich elementów pozostających na stercie (tj. element na stercie). Funkcja przejścia może wykorzystywać najwyższą (tj. Minimalną wagę) instancję symbolu do określania dowolnego przejścia.
Ponadto zdefiniuj deterministyczny automat na stosy typu 1 jako niedeterministyczny automat na stos typu 1, który spełnia następującą właściwość: dla wszystkich łańcuchów takich, że | x | = n i σ ∈ Σ , | δ n + 1 ( q 0 , x σ y , Z 0 ) | ≤ 1 .
Zdefiniuj również niedeterministyczny automat na stosy typu 2 dokładnie tak samo, jak niedeterministyczny automat na stos typu 1, z wyjątkiem następujących zmian:
- jest skończonym, niepustym alfabetem wejściowym, w którym waga symbolu γ ∈ Γ , w ( γ ) ∈ N jest taka, że w ( γ 1 ) = w ( γ 2 ) niekoniecznie implikuje γ 1 = γ 2 ; innymi słowy, różne symbole sterty mogą mieć tę samą wagę.
- Gdy instancje odrębnych symboli stosu o tej samej wadze są dodawane do stosu, ich względna kolejność jest zachowywana zgodnie z kolejnością stosu ostatnie wejście, pierwsze wyjście (LIFO).
Dzięki Raphael za wskazanie tej bardziej naturalnej definicji, która przechwytuje (i rozszerza) języki bezkontekstowe.
Dotychczasowe wyniki niektórych badań:
- Automaty min-sterty typu 1 rozpoznają zestaw języków, który nie jest ani podzbiorem, ani nadzbiorem języków bezkontekstowych. [ 1 , 2 ]
- Automaty min-sterty typu 2, z definicji, rozpoznają zestaw języków, który jest właściwym nadzbiorem języków bezkontekstowych, a także odpowiedni nadzór języków akceptowanych przez automaty typu min-sterty.
- Języki akceptowane przez automaty min-stosu typu 1 wydają się być zamknięte pod zjednoczeniem, konkatenacją i gwiazdą Kleene, ale nie pod uzupełnieniem [ 1 ], przecięciem lub różnicą;
- Języki akceptowane przez niedeterministyczne automaty stosu min 1 typu wydają się być odpowiednim nadzorem języków akceptowanych przez deterministyczne automaty determinacji typu 1.
Może brakować kilku innych wyników. Więcej wyników jest (prawdopodobnie) w drodze.
Dalsze pytania
- Zamknięcie w trakcie cofania? -- Otwarty
- Zamknięcie w ramach uzupełnienia? - Nie!
- Czy niedeterminizm zwiększa siłę? -- Tak?
- Czy dla typu 2? -- Otwarty
- Czy dodawanie hałd zwiększa moc dla typu 1? - dla k > 2 (?)
- Czy dodanie stosu zwiększa moc dla typu 1? -- Otwarty