Научная статья на тему 'Задача поиска усердных бобров и её решения'

Задача поиска усердных бобров и её решения Текст научной статьи по специальности «Математика»

CC BY
1012
95
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
УСЕРДНЫЙ БОБЕР / МАШИНА ТЬЮРИНГА / АВТОМАТ

Аннотация научной статьи по математике, автор научной работы — Федотов Павел Валерьевич, Царев Федор Николаевич, Шалыто Анатолий Абрамович

В работе приведено подробное описание задачи поиска усердных бобров, ее вариаций, методов решения и известные результаты.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

The paper gives a detailed description of the busy beaver problem, its variations, methods for solving and well-known results on the busy beaver problem.

Текст научной работы на тему «Задача поиска усердных бобров и её решения»

Федотов Павел Валерьевич, Царев Федор Николаевич, Шалыто Анатолий Абрамович

ЗАДАЧА ПОИСКА УСЕРДНЫХ БОБРОВ И ЕЕ РЕШЕНИЯ

Аннотация

В работе приведено подробное описание задачи поиска усердных бобров, ее вариаций, методов решения и известные результаты.

Ключевые слова: усердный бобер, машина Тьюринга, автомат.

ВВЕДЕНИЕ

Поиск усердных бобров (busy beaver game) - известная задача в теории вычислимости [1]. Под усердным бобром (busy beaver) в теории вычислимости понимают машину Тьюринга [2] с заданным числом состояний конечного автомата, которая будучи запущенной на пустой ленте, записывает на нее максимально возможное число ненулевых символов и останавливается.

Тема усердных бобров весьма слабо освещена в русскоязычной литературе. Цель настоящей работы - дать подробное описание задачи поиска усердных бобров, ее вариаций, методов решения, а также привести самих усердных бобров и результаты их работы.

1. ЗАДАЧА О ПОИСКЕ УСЕРДНЫХ БОБРОВ

С момента публикации в 1962 году статьи [3], в которой автор предлагает строить усердных бобров и сравнивать их

© П.В. Федотов, Ф.Н. Царёв, А.А. Шалыто, 2009

между собой по указанному критерию, было сделано большое число попыток поиска усердных бобров, а также рассмотрен ряд вариаций этой задачи [4-6].

Приведем описание канонической задачи об усердных бобрах [3]. Для этого рассмотрим машину Тьюринга, содержащую автомат с п состояниями, а также дополнительным конечным состоянием «Конец», работающую над двоичным алфавитом {0, 1}. Существует несколько типов машин Тьюринга. В этой задаче рассматривается машина, работающая на бесконечной в обе стороны ленте. На каждом шаге машина имеет два параметра:

- состояние автомата;

- символ ленты, находящийся под головкой.

На основании этих параметров одновременно определяются:

- состояние, в которое переходит автомат;

- символ, который будет записан в ячейке под головкой;

- направление движения головки (влево или вправо).

Машина останавливается, только если автомат достигает состояния «Конец».

Табл. 1. Известные значения функции усердного бобра

n ВД Число шагов

1 1 1

2 4 6

3 6 13

4 13 107

Рис. 1. Усердный бобер с двумя состояниями

Пусть задана машина Тьюринга. Запустим ее на пустой ленте - на ленте, в каждой ячейке которой записан ноль.

Задача об усердных бобрах, как указано выше, состоит в поиске машины Тьюринга, содержащей автомат с n состояниями, которая, будучи запущенной на пустой ленте, останавливается и записывает на ленту наибольшее число единичных символов.

Функция усердного бобра Е (n) (busy beaver function) определяется как число единиц, написанных машиной-чемпионом с n состояниями. Сама же машина-чемпион называется усердным бобром.

Т. Радо в работе [3] доказал, что функция Е (n) невычислима и растет быстрее любой вычислимой функции. Тем не менее, значения функции Е (n) могут быть найдены для небольших n. В настоящее время известны значения Е (n) для n, не превышающих четырех (табл. 1).

Для больших значений n функцию усердного бобра сложно вычислить по нескольким причинам:

1) построить усердного бобра вручную крайне сложно [6];

2) пространство поиска очень велико -существует (4n + 4)2n машин Тьюринга с n состояниями [7];

3) отсутствие общего алгоритма для проверки того, останавливается ли машина Тьюринга [8];

4) огромное число шагов, которое может быть сделано машиной Тьюринга перед остановкой (найдена машина Тьюринга с автоматом из пяти состояний, делающая 47 176 870 шагов перед ос- ]

тановкой (пример 3), а также машина Тьюринга с автоматом из шести состояний, делающая более 2,5 • 102879 шагов [9]).

Приведем примеры перечисленных машин Тьюринга.

Пример 1. Усердный бобер с двумя состояниями [3] (рис. 1)

Поясним используемые на рис. 1 обозначения. Крайняя левая стрелка указывает на начальное состояние автомата. Двойной окружностью обозначено состояние «Конец». Пометки на переходах имеют следующий формат: «символ под головкой : символ, который будет написан, направление движения головки». Направление движения обозначается: Ь -«влево»; И - «вправо».

При описании каждого состояния ленты жирным символом будем обозначать положение головки после завершения шага. Из таблицы следует, что усердный бобер с двумя состояниями, совершает шесть шагов и оставляет четыре единицы на ленте после завершения работы.

Описание поведения приведенной машины Тьюринга дано в табл. 2.

Пример 2. Усердный бобер с тремя состояниями [3] (рис. 2)

..1 1.R

ft, ----- V л J

1' 1, L—

:. 2. Усердный бобер с тремя состояниями

Рис. 3. Усердный бобер с четырьмя состояниями

Пример 3. Усердный бобер с четырьмя состояниями [6, 10]

(рис. 3)

Протокол работы усердного бобра с четырьмя состояниями, представленного на рис. 3, приведен в табл. 4.

Пример 4. Кандидат в усердные бобры с пятью состояниями

(рис. 4)

Пример описан в работе [9]. Этот кандидат делает 47 176 870 шагов, записывая 4098 единиц на ленту.

2. ВАРИАЦИИ ЗАДАЧИ О ПОИСКЕ УСЕРДНЫХ БОБРАХ

Рис. 4. Кандидат в усердные бобры с пятью состояниями

Усердный бобер с тремя состояниями оставляет на ленте шесть единиц после завершения работы. Описание поведения машины Тьюринга, приведенной на рис. 2 дано в табл. 3.

Табл. 3. Поведение усердного бобра с тремя состояниями

Шаг Состояние Лента

Начало 0 0000000000000

1 1 0000001000000

2 0 0000001100000

3 2 0000001100000

4 1 0000011100000

5 0 0000111100000

6 1 0001111100000

7 1 0001111100000

8 1 0001111100000

9 1 0001111100000

10 1 0001111100000

11 0 0001111110000

12 2 0001111110000

13 Конец 0001111110000

1. Классификация quintuple, quadruple

В рассмотренной выше задаче выполняется формализация машины Тьюринга, называемая quintuple. Наряду с такими машинами Тьюринга, в теории вычислимости рассматриваются также quadruple-машины и соответствующие им усердные бобры [9, 11]. Quadruple-машина Тьюринга отличается от рассмотренных тем, что при переходе из одного состояния в другое может совершить только одно действие -записать символ на ленту или переместить головку, но не оба сразу. Возможные действия на переходах quintuple-машин и quadruple-машин поясняются рис. 5.

Табл. 2. Поведение усердного бобра с двумя состояниями

Шаг Состояние Лента

Начало 0 00000000

1 1 00001000

2 0 00001100

3 1 00001100

4 0 00011100

5 1 00111100

6 Конец 00111100

2. Классификация по наличию конечного состояния

Другая модификация машин Тьюринга получится, если рассматривать такие машины, которые не содержат отдельного состояния «Конец». В этом случае предполагается, что машина завершает свою работу, когда приходит в состояние, из которого нет перехода по символу, находящемуся под головкой [12]. Такая модификация машины Тьюринга называется машиной Тьюринга без конечного состояния (implicit halt). Если же специальное состояние «Конец» существует, то такой тип машины Тьюринга называется машиной с конечным состоянием (explicit halt).

3. Классификация по конечной конфигурации

В работе [11] рассматриваются усердные бобры среди машин Тьюринга, останавливающихся в стандартной конфигурации. Конфигурация называется стандартной, если машина Тьюринга в конце концов останавливается, считывая при этом самый левый символ в единственном сплошном

Возможные переходы quintuple-машины

-Read : Write

ч___/

\ ^-Pe&d iflove—j

Возможные переходы quadruple-машины

Рис. 5. Возможные переходы quintuple- и quadruple-машин

J

Табл 4. Поведение усердного бобра с четырьмя состояниями

Шаг Состояние Лента

Начало 0 000000000000000000000

1 1 000000000010000000000

2 0 000000000011000000000

3 1 000000000011000000000

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

4 0 000000000111000000000

5 1 000000001111000000000

6 2 000000001011000000000

7 3 000000001011000000000

8 3 000000011011000000000

9 0 000000010011000000000

10 1 000000010111000000000

11 2 000000010101000000000

12 3 000000010101000000000

13 3 000000011101000000000

14 0 000000011001000000000

15 1 000000011011000000000

16 2 000000011010000000000

17 3 000000011010000000000

18 3 000000011110000000000

19 0 000000011100000000000

20 1 000000011101000000000

21 0 000000011101100000000

22 1 000000011101100000000

23 0 000000011111100000000

24 1 000000011111100000000

25 2 000000010111100000000

26 3 000000010111100000000

27 3 000000110111100000000

28 0 000000100111100000000

29 1 000000101111100000000

30 2 000000101011100000000

31 3 000000101011100000000

32 3 000000111011100000000

33 0 000000110011100000000

34 1 000000110111100000000

35 2 000000110101100000000

36 3 000000110101100000000

37 3 000000111101100000000

38 0 000000111001100000000

39 1 000000111011100000000

40 2 000000111010100000000

41 3 000000111010100000000

42 3 000000111110100000000

43 0 000000111100100000000

44 1 000000111101100000000

45 2 000000111101000000000

46 3 000000111101000000000

47 3 000000111111000000000

48 0 000000111110000000000

49 1 000000111110100000000

50 0 000000111110110000000

51 1 000000111110110000000

Шаг Состояние Лента

52 0 000000111111110000000

53 1 000000111111110000000

54 2 000000111011110000000

55 3 000000111011110000000

56 0 000000101011110000000

57 1 000000101011110000000

58 0 000000111011110000000

59 1 000000111011110000000

60 0 000001111011110000000

61 1 000011111011110000000

62 2 000010111011110000000

63 3 000010111011110000000

64 3 000110111011110000000

65 0 000100111011110000000

66 1 000101111011110000000

67 2 000101011011110000000

68 3 000101011011110000000

69 3 000111011011110000000

70 0 000110011011110000000

71 1 000110111011110000000

72 2 000110101011110000000

73 3 000110101011110000000

74 3 000111101011110000000

75 0 000111001011110000000

76 1 000111011011110000000

77 2 000111010011110000000

78 3 000111010011110000000

79 3 000111110011110000000

80 0 000111100011110000000

81 1 000111101011110000000

82 0 000111101111110000000

83 1 000111101111110000000

84 0 000111111111110000000

85 1 000111111111110000000

86 2 000110111111110000000

87 3 000110111111110000000

88 0 000010111111110000000

89 1 000010111111110000000

90 0 000110111111110000000

91 1 001110111111110000000

92 2 001010111111110000000

93 3 001010111111110000000

94 3 011010111111110000000

95 0 010010111111110000000

96 1 010110111111110000000

97 2 010100111111110000000

98 3 010100111111110000000

99 3 011100111111110000000

100 0 011000111111110000000

101 1 011010111111110000000

102 0 011011111111110000000

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

103 1 011011111111110000000

104 0 011111111111110000000

105 1 011111111111110000000

106 2 001111111111110000000

107 Конец 101111111111110000000

блоке единиц на ленте с пустыми символами во всех остальных клетках [4, 11]. Пример конфигурации ленты машины Тьюринга, находящейся в стандартной конфигурации, приведен на рис. 6.

Три описанные классификации являются независимыми. Поэтому существует восемь вариаций задач об усердных бобрах (рис. 7).

Часто вместе с поиском усердных бобров рассматривают схожую задачу, заключающуюся в поиске машины Тьюринга, которая, будучи запущенной на пустой ленте, делает максимальное число шагов перед остановом среди всех останавливающихся машин Тьюринга с заданным числом состояний [3, 4]. Число сделанных шагов такой машиной Тьюринга с п состояниями обозначается 5(п). Функция 5(п) также является невычислимой [3].

3. ИЗВЕСТНЫЕ МЕТОДЫ ПОИСКА УСЕРДНЫХ БОБРОВ И РЕЗУЛЬТАТЫ

Задача о поиске усердных бобров и ее вариации широко исследовались. В табл. 5, 6 приведены известные результаты для максимального числа единиц (табл. 5) и максимального числа шагов (табл. 6) для разных типов машин Тьюринга с числом состояний от одного до шести.

Жирным шрифтом в табл. 5, 6 отмечены результаты, для ко-

Рис. 6. Стандартная конфигурация

Рис. 7. Вариации задачи об усердных бобрах

Табл. 5. Известные результаты для максимального числа единиц

Максимальное число единиц

Quadruple Quintuple

n Произвольная конфигурация Стандартная конфигурация Произвольная конфигурация Стандартная конфигурация

С конечным состоянием Без конечного состояния С конечным состоянием Без конечного состояния С конечным состоянием Без конечного состояния С конечным состоянием Без конечного состояния

1 1 1 1 1 1

2 2 2 2 2 4

3 4 3 4 3 6

4 8 8 7 5 13 Не исследовалось

5 16 15 16 11 4098

6 240 239 163 25 > 4,640 х 1 «1439 х 10

Табл. 6. Известные результаты для максимального числа шагов

Максимальное число шагов

Quadruple Quintuple

n Произвольная конфигурация Стандартная конфигурация Произвольная конфигурация Стандартная конфигурация

С конечным состоянием Без конечного состояния С конечным состоянием Без конечного состояния С конечным состоянием Без конечного состояния С конечным состоянием Без конечного состояния

1 2 1 2 1 1

2 4 3 4 3 6

3 14 13 14 13 21

4 38 37 32 31 107 Не исследовалось

5 112 111 112 57 47176870

6 41607 41606 27174 255 > 2,584 х 1 ^2879 х 10

торых доказана невозможность их улучшения. Для результатов, перед которыми стоит символ «>» точное значение приведено быть не может из-за огромной величины соответствующих чисел.

ЗАКЛЮЧЕНИЕ

В работе приведено подробное описание задачи об усердных бобрах, ее вариациях и известные результаты ее решения. Изложенное может быть полезно студентам и школьникам при освоении теории вычислимости.

Литература

1. Ехали тьюрмиты и тримувьи на... машине Тьюринга // Компьютерные инструменты в образовании. 2005. № 3.

2. Хопкрофт Д., Мотвани Р., Ульман Д. Введение в теорию автоматов, языков и вычислений. М.: Вильямс, 2002.

3. Rado T. On Non-Computable Functions //The Bell System Technical Journal. 1962. Vol. 41. № 3, pp. 877-884.

4. Ross K., Kellett O., Heuveln B., Bringsjord S. A New-Millenium Attack on the Busy Beaver Problem. 2006 // http://www.cs.rpi.edu/~kelleo/busybeaver/downloads/superpaper.pdf

5. Конкурс КИ0-2007 // http://ipo.spb.ru/kio2007

6. Посов И.А. Занятой бобер // Компьютерные инструменты в образовании. 2007. № 2.

7. Shallit J. Handout on The Busy Beaver Problem. University of Waterloo. 1988 // http:// grail.cba.csuohio.edu/~somos/beaver.ps

8. Turing A. On Computable Numbers, with an Application to the Entscheidungsproblem //Proceedings of the London Mathematical Society. 1937. Ser. 2. Vol. 42, pp. 230-265.

9. Marxen H., Buntrock J. Attacking the Busy Beaver 5 // Bulletin of the EATCS, February 1990, № 40, pp. 247-251 // http://www.drb.insel.de/~heiner/BB/bb-mabu90.ps

10. Brady A.H. The determination of the value of Rado's noncomputable function Sigma(k) for four-state Turing machines // Mathematics of Computation. April 1983. Vol. 40. № 162, pp. 647-665.

11. Булос Дж., Джеффри Р. Вычислимость и логика. М.: Мир, 1994.

12. Kellett O. A Multi-Faceted Attack on the Busy Beaver Problem. Rensselaer Polytechnic Institute. 2005 // http://www.cs.rpi.edu/~kelleo/busybeaver/downloads/OwenThesis.pdf

Abstract

The paper gives a detailed description of the busy beaver problem, its variations, methods for solving and well-known results on the busy beaver problem.

Федотов Павел Валерьевич, студент кафедры «Компьютерные технологии» СПбГУ ИТМО, fedotov@rain.ifmo.ru

Царев Федор Николаевич, магистрант кафедры «Компьютерные технологии» СПбГУ ИТМО, fedor.tsarev@gmail.com

Шалыто Анатолий Абрамович, доктор технических наук, профессор, заведующий кафедрой «Технологии программирования» СПбГУ ИТМО, shalyto @таИ. ifmo. ш

© Наши авторы, 2009. ~ Our authors, 2009.

i Надоели баннеры? Вы всегда можете отключить рекламу.