Чи може машина з двох лічильників вирішити


14

Чи може стандартна машина двох лічильників ( ) із наступними інструкціями:c1,c2

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

визначте наступну мову:

L={n2n1}

(вхід спочатку завантажується в лічильник ) ?.c1

Це все ще відкрита проблема? (пор. Річ Шрьопепель, "Дві лічильники машини не можуть обчислити " [1972])2N


Я намагаюся зрозуміти найбільш важливі результати роботи , і я дійсно здивований арифметична прогресія теорема на сторінці 12. Нехай є найбільшим непарних дільником N . Тоді якими були б D і M ? Напевно, я десь щось неправильно зрозумів ...F(N)NDM
domotorp

Зараз я погляну на це, але ви впевнені, що "найбільший непарний дільник N" обчислюється 2CM?
Marzio De Biasi

@domotorp: до речі, я задавав те саме питання і в mathoverflow , але не отримав нових ідей
Marzio De Biasi

Я думаю, що якщо ви продовжите ділити N на 2, поки не зможете, ви отримаєте найбільший непарний дільник, і це потрібно зробити прямо.
domotorp

Гаразд, я вважаю, що якщо x непарним) і 2 i є найбільшою потужністю двох більших за N , 2 l є найбільшою потужністю на дві більше, ніж x , ми можемо встановити D = 2 i - 1 , M = 2 л - 1 . Неофіційно, якщо N має i біт, ви можете сміливо розширити найзначніший біт N, додаючи j 2 i - 1N=2kxx2iN2lxD=2i1M=2l1NiNj2i1і результат зміниться на . j2l1
Marzio De Biasi

Відповіді:


10

Проблема вирішена в:

Оскар Х. Ібарра, Ніколас Q. Trân, Примітка про прості програми з двома змінними, Теоретична інформатика, Том 112, Випуск 2, 10 травня 1993, Сторінки 391-397, ISSN 0304-3975, http: //dx.doi .org / 10.1016 / 0304-3975 (93) 90028-R .

Нехай - клас мов, розпізнаваний двома лічильниками.TV

Теорема 3.3 : Для будь-якого фіксованого цілого числа , L k = { n kn 0 } T Vk2Lk={nkn0}TV


Зауважте: дивно, що в статті Ibarra & Tran

Теорема 3.4 Нехай - сумарна функція з нескінченним діапазоном і така, що відношення f ( a + b n ) = f ( a ) + c n для всіх n 0 не виконується для жодної трійки ( a , b , c ) ; тоді f не може бути обчислена жодною машиною з двома лічильниками. ff(a+bn)=f(a)+cnn0(a,b,c)f

Доведено, і автори кажуть, що це було виведено у дещо іншій формі у:

І.М. Барздін, Об одном класі машин Тюрінга (машина Минского), рос., Алгебра и логика 1 (1963) 42-51

але не цитуйте статтю Ріха Шроппеля (1972), в якій також виведена теорема ... :-)


Я не впевнений, що коли-небудь дивно, що папір двадцятирічного віку не цитується: імовірно, автори про це не знали, а також судді.
Девід Річербі

@DavidRicherby: Мені було б цікаво побачити, як теорема Шрьоппеля (1972) відрізняється від відповідної у Барздіна (1963) :-) ... але я не маю доступу до документа Барздіна
Marzio De Biasi
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.