Uwaga: jest to pytanie związane z nauką na kursie CS na uniwersytecie, NIE jest to zadanie domowe i można je znaleźć tutaj pod egzaminem Fall 2011.
Oto dwa pytania, na które patrzę z poprzedniego egzaminu. Wydaje się, że są ze sobą powiązane, pierwsze:
Pozwolić
Udowodnij, że jest rozstrzygającym językiem.
i...
Pozwolić
Udowodnij, że jest niezdecydowanym językiem.
Trochę zagubiłem się w rozwiązywaniu tych problemów, ale mam kilka spostrzeżeń, które moim zdaniem mogą być właściwe. Pierwszą rzeczą, o której wiem, jest to, że język , gdzie
jest rozstrzygalnym językiem (dowód znajduje się w teorii obliczeń Michaela Sipsera , str. 168). To samo źródło dowodzi również, że Gramatyka bezkontekstowa może zostać przekonwertowana na wyrażenie regularne i odwrotnie. Zatem również musi być rozstrzygalny, ponieważ można go przekonwertować na wyrażenie regularne. To, oraz fakt, że jest un -decidable, wydaje się być związane z tym problemem.
Jedyne, o czym myślę, to przekazanie G do maszyn Turinga dla (po konwersji G do wyrażenia regularnego) i . Następnie zaakceptowanie, jeśli G robi, i odrzucenie, jeśli G nie. Ponieważ jest nierozstrzygalny, nigdy się tak nie stanie. Jakoś mam wrażenie, że popełniam tutaj błąd, ale nie jestem pewien, co to jest. Czy ktoś mógłby mi tutaj pomóc? A T M A T M