Czy standardowa maszyna z dwoma licznikami ( ) może następujące instrukcje:
1) ADD 1 to c_i, GOTO label_j
2) IF c_i = 0 GOTO label_j, OTHERWISE SUB 1 to c_i and GOTO label_k
3) GOTO label_j
4) HALT and ACCEPT|REJECT
wybierz następujący język:
(wejście jest początkowo ładowane do licznika ) ?.
Czy to wciąż problem otwarty? (por. Rich Schroeppel, „Maszyna dwóch liczników nie może obliczyć ” [1972])
fl.formal-languages
counter-automata
Marzio De Biasi
źródło
źródło
Odpowiedzi:
Problem został rozwiązany w:
Oscar H. Ibarra, Nicholas Q. Trân, Notatka o prostych programach z dwiema zmiennymi, Theoretical Computer Science, tom 112, wydanie 2, 10 maja 1993, strony 391-397, ISSN 0304-3975, http: //dx.doi .org / 10.1016 / 0304-3975 (93) 90028-R .
Niech będzie klasą języków rozpoznawanych przez maszyny z dwoma licznikami.TV
Uwaga: to dziwne, że w pracy Ibarra & Tran
zostało udowodnione, a autorzy twierdzą, że został uzyskany w nieco innej formie w:
IM Barzdin, Ob odnom klasse machin Turinga (machiny Minskogo), rosyjski, Algebra i Logika 1 (1963) 42-51
ale nie cytuj pracy Richa Schroeppela (1972), w której również wywodzi się twierdzenie ... :-)
źródło