Значит, вы вычислимую функцию отождествляете с конкретной машиной Тьюринга? Тогда, по-вашему, какой машине Тьюринга соответствует функция
(опишите схематично, какой алфавит у нее будет и примерно по какой программе она должна работать)?
Легко. Вариантов масса. Раз уж у нас вычислимая функция отображает строки в строки, то для начала нужно выбрать способ кодировки чисел строками. Самый древний способ, насколько я знаю, это представлять числа строками вертикальных чёрточек. Стало быть, берём алфавит из двух символов: пробела и чёрточки «|». Машина устроена простейшим образом: головка едет вправо до первого пробела, на котором и останавливается. Нетрудно убедиться, что и аргументом, и значением является строка из
вертикальных чёрточек, заканчивающаяся пробелом.
Вы можете дать четкое определение, что именно на ленте после остановки машины считаете значением функции (описать алгоритм извлечения рзультата с ленты)?
Я же сказал: то, что записано на затрагиваемой части ленты, т.е. на отрезке от самой левой до самой правой позиций, куда добиралась головка. Если Вам кажется, что там может находиться много лишнего (т.е. не только то, что Вы хотели бы видеть в качестве результата), то сие не есть проблема.
Мы уже договорились, что на ленте может быть что угодно. Однако, что из этого нужно считать «аргументом» функции, а что - лишним мусором? Давайте рассмотрим произвольную конечную подстроку первоначального состояния ленты, включающую начальную позицию. Либо результат работы МТ (см. выше что мы назвали «значением» вычислимой функции) зависит от первоначального состояния остальной части ленты, либо нет. В первом случае данную конечную подстроку, очевидно, невозможно считать за «аргумент» вычислимой функции. А во втором случае - пожалуйста, можно считать. Значит можно взять для заданного первоначального состояния ленты такую минимальную конечную подстроку - это и будет аргумент.
Итак, по-вашему, аргументом вычислимой функции, которой отвечает данная МТ, нужно считать только тот фрагмент исходной строки, изменение которого с необходимостью вызывает изменение конечного результата работы машины?
Если да, то тогда, исходя из вашего определения, у тождественно постоянной функции
вообще нет аргументов.
Угу, константу можно считать функцией без аргументов. Но вообще-то в моей процитированной выше фразе употреблено ключевое слово «можно». Это значит, что можно брать минимальную такую строку, а можно — и не самую минимальную. В последнем случае у функции будет такой аргумент, от которого значение не зависит: как Вы и хотели.
Главное, что нельзя считать за аргумент строку МЕНЬШЕ минимально допустимой: в этом заключается Ваша ошибка.
-- Сб сен 08, 2012 00:51:01 -- Я сделал единственно возможный, по моим понятиям, вывод - Вы с epros по разному понимаете конечность. Для Вас существуют нестандартные натуральные числа, которые соответствуют нестандартным таблицам переходов - т.е. МТ*.
Это Вы через край хватили. Разумеется, нестандартная интерпретация количества шагов МТ до остановки влечёт нестандартную интерпретацию вычислимости. Однако
_hum_-то просто-напросто в определении аргумента вычислимой функции ошибся.