2 2 Абстрактные автоматы и понятие алгоритма
(т. е. над набором числа). Если же головка будет находиться в произволь-
ном месте ленты, то программа усложнится. Читателю предлагается само-
стоягельно написать такую программу.
С помощью абстрактного автомата можно реализовать и другие преоб-
разования числовой информации. Рассмотрим, например, сложение двух чи-
сел.
В самой обнйй постановке эта задача формулируется так: составить про-
грамму сложения двух чисел щ и nj записанных на ленте иа произвольном
расстоянии друг от друга. Начальное со- -г, п *1 п,*1
стояние авюмата показано на рис. 2.9. i I |т|т|т|т|т| I
MTITIITTI
/1ля написания программы можно, ~
например, передвигать левый массив иа- Рис. 2.9. Начальное состояние
автомата
для
программы
право до слияния с правым массивом.
у ''• I сложения чисел
Передвижение массива осуществляется
перенесением (стиранием) самой левой метки в ближайшую пустую сек-
цию справа (команды № f и № 7 программы, приведенной ниже). Когда
массивы сольются (команды № 5 и № 6), то оказывается, что результат ра-
вен ]ц +
/?2
+ 2. Значит, надо стереть одну лишнюю метку (команда № 4). В
окоича1ель!юм состоянии головка стоит левее образовавшейся суммы.
1.
3 2; 4. 3 5; 7. V 8; 10. <- If;
2.
^ 3; 5. -> 6; 8. ^ 9; , ^ 2
3 v-^12. 6 7^*^. 9 7^'*^- • •""'*^'
^4-
"• -^5'
•'^12'
12. стоп.
11редс1авленные примеры программ машины Поста не исчерпывают
всех ее возможностей. Можно составить программы для умножения, деле-
ния чисел. Есть ли ограничения на вычисления, производимые на машине
Поста? Ответ на этот вопрос был сформулирован самим Э. Постом в сле-
дующем виде: «Задача иа составление программы, приводящей от исход-
иого даипого к результирующему числу, тогда и только тогда имеет ре-
шение, когда имеется какой-нибудь общий способ, позволяющий по
проиюолыюму и одному данному выписать результирующее число».
Формулировка постулата Поста подводит к понятию алгоритма*. Су-
щсс1вуег
М1ЮГО
определений термина «алгоритм». Например, по определе-
нию акад. Л, if. Колмогорова, алгоритм или алгорифм — это всякая сис-
'
Л
ермим «алгоритм)) произошел от имени узбекского математика Аль-Хорезми, который
С1Г1С н IX п
(;(|н>рмулиро1«1л
правила
m.iiJOjmeHHfl
чаырёх арифмегических действий. Поя-
вишиееся несколько позже слово «алгорифм)» связано с Евклидом, древнегреческим матема-
1ИК0М. сформулировавшим правила нахождения наибольшего общего делителя двух чисел.
R
(.-онреметгной
ма|емагике угсогребляют термин «алгоритм»,
37