20130922 lecture3 matiyasevich

227 views
181 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
227
On SlideShare
0
From Embeds
0
Number of Embeds
21
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

20130922 lecture3 matiyasevich

  1. 1. Что можно делать с вещественными числами и нельзя делать с целыми числами Ю. В. Матиясевич Санкт-Петербургское отделение Математического института им. В. А. Стеклова РАН http://logic.pdmi.ras.ru/~yumat
  2. 2. Что можно делать с вещественными числами и нельзя делать с целыми числами Ю. В. Матиясевич Санкт-Петербургское отделение Математического института им. В. А. Стеклова РАН http://logic.pdmi.ras.ru/~yumat
  3. 3. Что можно делать с вещественными числами и нельзя делать с целыми числами Часть 2. Десятая проблема Гильберта Ю. В. Матиясевич Санкт-Петербургское отделение Математического института им. В. А. Стеклова РАН http://logic.pdmi.ras.ru/~yumat
  4. 4. Давид Гильберт, “Математические проблемы”, [1900]
  5. 5. Давид Гильберт, “Математические проблемы”, [1900] 10. Entscheidung der L¨osbarkeit einer diophantischen Gleichung. Eine diophantische Gleichung mit irgendwelchen Unbekannten und mit ganzen rationalen Zahlkoefficienten sei vorgelegt: man soll ein Verfahren angeben, nach welchen sich mittels einer endlichen Anzahl von Operationen entscheiden l¨asst, ob die Gleichung in ganzen rationalen Zahlen l¨osbar ist.
  6. 6. Давид Гильберт, “Математические проблемы”, [1900] 10. Entscheidung der L¨osbarkeit einer diophantischen Gleichung. Eine diophantische Gleichung mit irgendwelchen Unbekannten und mit ganzen rationalen Zahlkoefficienten sei vorgelegt: man soll ein Verfahren angeben, nach welchen sich mittels einer endlichen Anzahl von Operationen entscheiden l¨asst, ob die Gleichung in ganzen rationalen Zahlen l¨osbar ist. 10. Решение проблемы разрешимости для произвольного диофантова уравнения. Пусть дано произвольное диофантово уравнение с произвольным числом неизвестных и целыми рациональными коэффициентами; требуется указать общий метод, следуя которому можно было бы в конечное число шагов узнать, имеет ли данное уравнение решение в целых рациональных числах или нет.
  7. 7. Диофантовы уравнения Определение. Диофантово уравнение имеет вид M(x1, . . . , xm) = 0, где M – многочлен с целыми коэффициентами.
  8. 8. Диофантовы уравнения Определение. Диофантово уравнение имеет вид M(x1, . . . , xm) = 0, где M – многочлен с целыми коэффициентами. Греческий математик Диофант жил, скорее всего, в 3-ем веке нашей эры.
  9. 9. Полиномиальные уравнения у древних греков x2 = 2
  10. 10. Полиномиальные уравнения у древних греков x2 = 2 1 1
  11. 11. Полиномиальные уравнения у древних греков x2 = 2 1 1                        
  12. 12. Полиномиальные уравнения у древних греков x2 = 2 1 1                         x
  13. 13. Давид Гильберт, “Математические проблемы”, [1900] 10. Решение проблемы разрешимости для произвольного диофантова уравнения. Пусть дано произвольное диофантово уравнение с произвольным числом неизвестных и целыми рациональными коэффициентами; требуется указать общий метод, следуя которому можно было бы в конечное число шагов узнать, имеет ли данное уравнение решение в целых рациональных числах или нет.
  14. 14. Давид Гильберт, “Математические проблемы”, [1900] 10. Решение проблемы разрешимости для произвольного диофантова уравнения. Пусть дано произвольное диофантово уравнение с произвольным числом неизвестных и целыми рациональными коэффициентами; требуется указать общий метод, следуя которому можно было бы в конечное число шагов узнать, имеет ли данное уравнение решение в целых рациональных числах или нет. Целые рациональные числа
  15. 15. Давид Гильберт, “Математические проблемы”, [1900] 10. Решение проблемы разрешимости для произвольного диофантова уравнения. Пусть дано произвольное диофантово уравнение с произвольным числом неизвестных и целыми рациональными коэффициентами; требуется указать общий метод, следуя которому можно было бы в конечное число шагов узнать, имеет ли данное уравнение решение в целых рациональных числах или нет. Целые рациональные числа – это числа 0, ±1, ±2, ±3, . . .
  16. 16. Диофантовы уравнения Определение. Диофантово уравнение имеет вид M(x1, . . . , xm) = 0, где M – многочлен с целыми коэффициентами.
  17. 17. Диофантовы уравнения Определение. Диофантово уравнение имеет вид M(x1, . . . , xm) = 0, где M – многочлен с целыми коэффициентами. Диофант искал решения в (положительных) рациональных числах
  18. 18. Диофантовы уравнения Определение. Диофантово уравнение имеет вид M(x1, . . . , xm) = 0, где M – многочлен с целыми коэффициентами. Диофант искал решения в (положительных) рациональных числах Гильберт спрашивал про решение диофантовых уравнений в целых числах
  19. 19. Диофантовы уравнения Определение. Диофантово уравнение имеет вид M(x1, . . . , xm) = 0, где M – многочлен с целыми коэффициентами. Диофант искал решения в (положительных) рациональных числах Гильберт спрашивал про решение диофантовых уравнений в целых числах Можно также ограничиться только решениями в положительных целых числах или только в неотрицательных целых числах
  20. 20. Диофантовы уравнения Определение. Диофантово уравнение имеет вид M(x1, . . . , xm) = 0, где M – многочлен с целыми коэффициентами. Диофант искал решения в (положительных) рациональных числах Гильберт спрашивал про решение диофантовых уравнений в целых числах Можно также ограничиться только решениями в положительных целых числах или только в неотрицательных целых числах
  21. 21. От Диофанта до Гильберта Диофант жил – когда?
  22. 22. От Диофанта до Гильберта Диофант жил, скорее всего, в 3-ем веке нашей эры.
  23. 23. От Диофанта до Гильберта Диофант жил, скорее всего, в 3-ем веке нашей эры. Гильберт сформулировал проблемы – когда?
  24. 24. От Диофанта до Гильберта Диофант жил, скорее всего, в 3-ем веке нашей эры. Гильберт сформулировал проблемы в 1900 году
  25. 25. Давид Гильберт, “Математические проблемы”, [1900]
  26. 26. Давид Гильберт, “Математические проблемы”, [1900] 10. Решение проблемы разрешимости для произвольного диофантова уравнения. Пусть дано произвольное диофантово уравнение с произвольным числом неизвестных и целыми рациональными коэффициентами; требуется указать общий метод, следуя которому можно было бы в конечное число шагов узнать, имеет ли данное уравнение решение в целых рациональных числах или нет.
  27. 27. Массовые проблемы В современной терминологии 10-я проблема Гильберта является массовой проблемой, то есть проблемой, состоящей из счетного числа вопросов, на каждый из которых требуется дать ответ ДА или НЕТ. Суть массовой проблемы состоит в требовании найти единый универсальный метод, который позволял бы ответить на любой из этих вопросов.
  28. 28. Массовые проблемы В современной терминологии 10-я проблема Гильберта является массовой проблемой, то есть проблемой, состоящей из счетного числа вопросов, на каждый из которых требуется дать ответ ДА или НЕТ. Суть массовой проблемы состоит в требовании найти единый универсальный метод, который позволял бы ответить на любой из этих вопросов. Среди двадцати трёх “Математических проблем” Гильберта 10-я является единственной массовой проблемой
  29. 29. Массовые проблемы В современной терминологии 10-я проблема Гильберта является массовой проблемой, то есть проблемой, состоящей из счетного числа вопросов, на каждый из которых требуется дать ответ ДА или НЕТ. Суть массовой проблемы состоит в требовании найти единый универсальный метод, который позволял бы ответить на любой из этих вопросов. Среди двадцати трёх “Математических проблем” Гильберта 10-я является единственной массовой проблемой и она может рассматриваться как проблема информатики.
  30. 30. Массовые проблемы В современной терминологии 10-я проблема Гильберта является массовой проблемой, то есть проблемой, состоящей из счетного числа вопросов, на каждый из которых требуется дать ответ ДА или НЕТ. Суть массовой проблемы состоит в требовании найти единый универсальный метод, который позволял бы ответить на любой из этих вопросов. Среди двадцати трёх “Математических проблем” Гильберта 10-я является единственной массовой проблемой и она может рассматриваться как проблема информатики.
  31. 31. Ответ Сегодня мы знаем, что 10-я проблема Гильберта решения не имеет. Это означает, что она неразрешима как массовая проблема:
  32. 32. Ответ Сегодня мы знаем, что 10-я проблема Гильберта решения не имеет. Это означает, что она неразрешима как массовая проблема: Теорема (Неразрешимость 10-й проблемы Гильберта) Не существует алгоритма, который по узнавал бы по произвольному диофантову уравнению, имеет ли оно решения.
  33. 33. Ответ Сегодня мы знаем, что 10-я проблема Гильберта решения не имеет. Это означает, что она неразрешима как массовая проблема: Теорема (Неразрешимость 10-й проблемы Гильберта) Не существует алгоритма, который по узнавал бы по произвольному диофантову уравнению, имеет ли оно решения. В этом смысле говорят об отрицательном решении 10-й проблемы Гильберта.
  34. 34. Давид Гильберт, “Математические проблемы”, [1900]
  35. 35. Давид Гильберт, “Математические проблемы”, [1900] 10. Решение проблемы разрешимости для произвольного диофантова уравнения. Пусть дано произвольное диофантово уравнение с произвольным числом неизвестных и целыми рациональными коэффициентами; требуется указать общий метод, следуя которому можно было бы в конечное число шагов узнать, имеет ли данное уравнение решение в целых рациональных числах или нет.
  36. 36. Первая неразрешимая массовая проблема в чистой математике A. A. Марков (сын) Emil L. Post 1903–1979 1897–1954
  37. 37. Recursively enumerable sets of positive integers and their deci- sion problems. Bulletin AMS, 50, 284–316 (1944); reprinted in: The Collected Works of E. L. Post, Davis, M. (ed), Birkh¨auser, Boston, 1994. Hilbert’s 10th problem “begs for an unsolvability proof” Emil L. Post 1897–1954
  38. 38. Хронология
  39. 39. Хронология Начало 50-х годов: гипотеза, которую выдвинул Martin Davis.
  40. 40. Хронология Начало 50-х годов: гипотеза, которую выдвинул Martin Davis. Начало 60-х годов: частичный прогресс, который достигли Martin Davis, Hilary Putnam и Julia Robinson.
  41. 41. Хронология Начало 50-х годов: гипотеза, которую выдвинул Martin Davis. Начало 60-х годов: частичный прогресс, который достигли Martin Davis, Hilary Putnam и Julia Robinson. 1970 год: последний шаг сделал Ю.Матиясевич.
  42. 42. An e-mail
  43. 43. An e-mail Dear Professor, you are wrong. I am a brilliant young programmer and last night I wrote a sophisticated program in Java##. My program solves Hilbert’s tenth problem in the __positive__ sense. Namely, for every Diophantine equation given as input, the program will print 1 or 0 depending on whether the equation has a solution or not. The attachment contains my ingenious program. You can run it on your favorite Diophantine equations and see how fast my program works. Have a fun, Professor!
  44. 44. Точка зрения студента S
  45. 45. Точка зрения студента S- M = 0
  46. 46. Точка зрения студента S- M = 0 - 1, если существует хотя бы одно решение 0, если решений вообще не суще- ствует   
  47. 47. Точка зрения студента Для любого многочлена M: S- M = 0 - 1, если существует хотя бы одно решение 0, если решений вообще не суще- ствует   
  48. 48. Точка зрения профессора:
  49. 49. Точка зрения профессора: Существует многочлен MS такой, что S- MS = 0 - ОШИБКА
  50. 50. Точка зрения профессора: Существует многочлен MS такой, что S- MS = 0 - ОШИБКА
  51. 51. Точка зрения профессора: Существует многочлен MS такой, что S- MS = 0 - 0, но решение существует   
  52. 52. Точка зрения профессора: Существует многочлен MS такой, что S- MS = 0 - 0, но решение существует 1, но решений не существует   
  53. 53. Точка зрения профессора: Существует многочлен MS такой, что S- MS = 0 - 0, но решение существует 1, но решений не существует ДРУГОЙ ОТВЕТ   
  54. 54. Точка зрения профессора: Существует многочлен MS такой, что S- MS = 0 - 0, но решение существует 1, но решений не существует ДРУГОЙ ОТВЕТ остановка без ответа   
  55. 55. Точка зрения профессора: Существует многочлен MS такой, что S- MS = 0 - 0, но решение существует 1, но решений не существует ДРУГОЙ ОТВЕТ остановка без ответа не останавливается и ничего не печатает   
  56. 56. Программа профессора
  57. 57. Программа профессора P
  58. 58. Программа профессора P- S
  59. 59. Программа профессора P- S - MS = 0
  60. 60. Программа профессора P- S - MS = 0 S -
  61. 61. Программа профессора P- S - MS = 0 S - ОШИБКА
  62. 62. Усовершенствованная программа профессора P-S S-MS = 0 - ОШИБКА
  63. 63. Усовершенствованная программа профессора P-S S-MS = 0 - ОШИБКА Формальное доказательство того, что S ошибется на MS -¦
  64. 64. Усовершенствованная программа профессора P-S S-MS = 0 - 0, но решение существует 1, но решений нет ДРУГОЙ ОТВЕТ остановка без ответа не останавливается    Формальное доказательство того, что S ошибется на MS -¦
  65. 65. Усовершенствованная программа профессора P-S S-MS = 0 - 0, но решение существует 1, но решений нет ДРУГОЙ ОТВЕТ остановка без ответа не останавливается    Доказательство того, что: если S выдает 0, то уравнение MS = 0 имеет решение если S выдает 1, то уравнение MS = 0 решений не имеет -¦
  66. 66. Диофантовы уравнения Определение. Диофантово уравнение имеет вид M(x1, . . . , xm) = 0, где M – многочлен с целыми коэффициентами.
  67. 67. Диофантовы уравнения Определение. Диофантово уравнение имеет вид M(x1, . . . , xm) = 0, где M – многочлен с целыми коэффициентами. Диофант искал решения в (положительных) рациональных числах
  68. 68. Диофантовы уравнения Определение. Диофантово уравнение имеет вид M(x1, . . . , xm) = 0, где M – многочлен с целыми коэффициентами. Диофант искал решения в (положительных) рациональных числах Гильберт спрашивал про решение диофантовых уравнений в целых числах
  69. 69. Диофантовы уравнения Определение. Диофантово уравнение имеет вид M(x1, . . . , xm) = 0, где M – многочлен с целыми коэффициентами. Диофант искал решения в (положительных) рациональных числах Гильберт спрашивал про решение диофантовых уравнений в целых числах Можно также ограничиться только решениями в положительных целых числах или только в неотрицательных целых числах
  70. 70. Диофантовы уравнения Определение. Диофантово уравнение имеет вид M(x1, . . . , xm) = 0, где M – многочлен с целыми коэффициентами. Диофант искал решения в (положительных) рациональных числах Гильберт спрашивал про решение диофантовых уравнений в целых числах Можно также ограничиться только решениями в положительных целых числах или только в неотрицательных целых числах
  71. 71. Натуральные числа против целых (x + 1)3 + (y + 1)3 = (z + 1)3
  72. 72. Натуральные числа против целых (x + 1)3 + (y + 1)3 = (z + 1)3 Имеет ли это уравнение решение в целых числах?
  73. 73. Натуральные числа против целых (x + 1)3 + (y + 1)3 = (z + 1)3 Имеет ли это уравнение решение в целых числах? Да, и это тривиально: y = −1, z = x.
  74. 74. Натуральные числа против целых (x + 1)3 + (y + 1)3 = (z + 1)3 Имеет ли это уравнение решение в целых числах? Да, и это тривиально: y = −1, z = x. Имеет ли это уравнение решение в неотрицательных целых числах?
  75. 75. Натуральные числа против целых (x + 1)3 + (y + 1)3 = (z + 1)3 Имеет ли это уравнение решение в целых числах? Да, и это тривиально: y = −1, z = x. Имеет ли это уравнение решение в неотрицательных целых числах? Нет, не имеет, но это нетривиально (частный случай Великой теоремы Ферма).
  76. 76. От целых чисел к натуральным Диофантово уравнение P(x1, . . . , xm) = 0 имеет решение в целых числах x1, . . . , xm тогда и только тогда, когда диофантово уравнение P(p1 − q1, . . . , pm − qm) = 0. имеет решение в натуральных числах p1, . . . , pm, q1, . . . , qm.
  77. 77. От целых чисел к натуральным Диофантово уравнение P(x1, . . . , xm) = 0 имеет решение в целых числах x1, . . . , xm тогда и только тогда, когда диофантово уравнение P(p1 − q1, . . . , pm − qm) = 0. имеет решение в натуральных числах p1, . . . , pm, q1, . . . , qm. Говорят, что массовая проблема распознавания разрешимости диофантовых уравнений в целых числах сводится к массовой проблеме распознавания разрешимости диофантовых уравнений в натуральных числах.
  78. 78. От натуральных чисел к целым Диофантово уравнение P(p1, . . . , pm) = 0 имеет решение в натуральных числах тогда и только тогда, когда диофантово уравнение P(w2 1 + x2 1 + y2 1 + z2 1 , . . . , w2 m + x2 m + y2 m + z2 m) = 0. имеет решение в целых числах.
  79. 79. От натуральных чисел к целым Диофантово уравнение P(p1, . . . , pm) = 0 имеет решение в натуральных числах тогда и только тогда, когда диофантово уравнение P(w2 1 + x2 1 + y2 1 + z2 1 , . . . , w2 m + x2 m + y2 m + z2 m) = 0. имеет решение в целых числах. Теорема (Joseph-Louis Lagrange [1770], знал и Pierre Fermat, но не опубликовал) Каждое натуральное число является суммой четырех квадратов.
  80. 80. От натуральных чисел к целым Диофантово уравнение P(p1, . . . , pm) = 0 имеет решение в натуральных числах тогда и только тогда, когда диофантово уравнение P(w2 1 + x2 1 + y2 1 + z2 1 , . . . , w2 m + x2 m + y2 m + z2 m) = 0. имеет решение в целых числах. Теорема (Joseph-Louis Lagrange [1770], знал и Pierre Fermat, но не опубликовал) Каждое натуральное число является суммой четырех квадратов. Таким образом, массовая проблема распознавания разрешимости диофантовых уравнений в натуральных целых числах сводится к массовой проблеме распознавания разрешимости диофантовых уравнений в целых числах.
  81. 81. Натуральные числа против целых У нас есть два свед´ения: массовая проблема распознавания разрешимости диофантовых уравнений в целых числах сводится к массовой проблеме распознавания разрешимости диофантовых уравнений в натуральных числах. массовая проблема распознавания разрешимости диофантовых уравнений в натуральных целых числах сводится к массовой проблеме распознавания разрешимости диофантовых уравнений в целых числах.
  82. 82. Натуральные числа против целых У нас есть два свед´ения: массовая проблема распознавания разрешимости диофантовых уравнений в целых числах сводится к массовой проблеме распознавания разрешимости диофантовых уравнений в натуральных числах. массовая проблема распознавания разрешимости диофантовых уравнений в натуральных целых числах сводится к массовой проблеме распознавания разрешимости диофантовых уравнений в целых числах. Таким образом, массовая проблема распознавания разрешимости диофантовых уравнений в целых числах эквивалентна массовой проблеме распознавания разрешимости диофантовых уравнений в натуральных числах.
  83. 83. Натуральные числа против целых У нас есть два свед´ения: массовая проблема распознавания разрешимости диофантовых уравнений в целых числах сводится к массовой проблеме распознавания разрешимости диофантовых уравнений в натуральных числах. массовая проблема распознавания разрешимости диофантовых уравнений в натуральных целых числах сводится к массовой проблеме распознавания разрешимости диофантовых уравнений в целых числах. Таким образом, массовая проблема распознавания разрешимости диофантовых уравнений в целых числах эквивалентна массовой проблеме распознавания разрешимости диофантовых уравнений в натуральных числах. Мы будем заниматься решением уравнений в натуральных числах 0, 1, 2, . . .
  84. 84. Давид Гильберт, “Математические проблемы”, [1900] 10. Решение проблемы разрешимости для произвольного диофантова уравнения. Пусть дано произвольное диофантово уравнение с произвольным числом неизвестных и целыми рациональными коэффициентами; требуется указать общий метод, следуя которому можно было бы в конечное число шагов узнать, имеет ли данное уравнение решение в целых рациональных числах или нет.
  85. 85. Уравнения с параметрами Семейство диофантовых уравнений имеет вид M(a1, . . . , an, x1, . . . , xm) = 0, где M – многочлен с целыми коэффициентами, переменные которго разделены на две группы:
  86. 86. Уравнения с параметрами Семейство диофантовых уравнений имеет вид M(a1, . . . , an, x1, . . . , xm) = 0, где M – многочлен с целыми коэффициентами, переменные которго разделены на две группы: параметры a1, . . . ,an;
  87. 87. Уравнения с параметрами Семейство диофантовых уравнений имеет вид M(a1, . . . , an, x1, . . . , xm) = 0, где M – многочлен с целыми коэффициентами, переменные которго разделены на две группы: параметры a1, . . . ,an; неизвестные x1, . . . ,xm.
  88. 88. Уравнения с параметрами Семейство диофантовых уравнений имеет вид M(a1, . . . , an, x1, . . . , xm) = 0, где M – многочлен с целыми коэффициентами, переменные которго разделены на две группы: параметры a1, . . . ,an; неизвестные x1, . . . ,xm. Рассмотрим множество M такое, что a1, . . . , an ∈ M ⇐⇒∃x1 . . . xm{M(a1, . . . , an, x1, . . . , xm) = 0}.
  89. 89. Уравнения с параметрами Семейство диофантовых уравнений имеет вид M(a1, . . . , an, x1, . . . , xm) = 0, где M – многочлен с целыми коэффициентами, переменные которго разделены на две группы: параметры a1, . . . ,an; неизвестные x1, . . . ,xm. Рассмотрим множество M такое, что a1, . . . , an ∈ M ⇐⇒∃x1 . . . xm{M(a1, . . . , an, x1, . . . , xm) = 0}. Множества, имеющие такие представления называются диофантовыми.
  90. 90. Примеры диофантовых множеств
  91. 91. Примеры диофантовых множеств Множество всех полных квадратов, представлено уравнением
  92. 92. Примеры диофантовых множеств Множество всех полных квадратов, представлено уравнением a − x2 = 0
  93. 93. Примеры диофантовых множеств Множество всех полных квадратов, представлено уравнением a − x2 = 0 Множество всех составных чисел, представлено уравнением
  94. 94. Примеры диофантовых множеств Множество всех полных квадратов, представлено уравнением a − x2 = 0 Множество всех составных чисел, представлено уравнением a − (x1 + 2)(x2 + 2) = 0
  95. 95. Примеры диофантовых множеств Множество всех полных квадратов, представлено уравнением a − x2 = 0 Множество всех составных чисел, представлено уравнением a − (x1 + 2)(x2 + 2) = 0 Множество всех нестепеней числа 2, представлено уравнением
  96. 96. Примеры диофантовых множеств Множество всех полных квадратов, представлено уравнением a − x2 = 0 Множество всех составных чисел, представлено уравнением a − (x1 + 2)(x2 + 2) = 0 Множество всех нестепеней числа 2, представлено уравнением a − (2x1 + 3)x2 = 0
  97. 97. Программа Диофанта
  98. 98. Программа Диофанта ∃x1 . . . xm{P(a1, . . . , an, x1, . . . , xm) = 0
  99. 99. Программа Диофанта a1, . . . , an ∈ M ⇐⇒ ∃x1 . . . xm{P(a1, . . . , an, x1, . . . , xm) = 0}
  100. 100. Программа Диофанта a1, . . . , an ∈ M ⇐⇒ ∃x1 . . . xm{P(a1, . . . , an, x1, . . . , xm) = 0}
  101. 101. Программа Диофанта a1, . . . , an ∈ M ⇐⇒ ∃x1 . . . xm{P(a1, . . . , an, x1, . . . , xm) = 0} D
  102. 102. Программа Диофанта a1, . . . , an ∈ M ⇐⇒ ∃x1 . . . xm{P(a1, . . . , an, x1, . . . , xm) = 0} D-a1, . . . , an
  103. 103. Программа Диофанта a1, . . . , an ∈ M ⇐⇒ ∃x1 . . . xm{P(a1, . . . , an, x1, . . . , xm) = 0} D-a1, . . . , an - остановка, если a1, . . . , an ∈ M вечная работа в противном случае   
  104. 104. Программа Диофанта a1, . . . , an ∈ M ⇐⇒ ∃x1 . . . xm{P(a1, . . . , an, x1, . . . , xm) = 0} D-a1, . . . , an - остановка, если a1, . . . , an ∈ M вечная работа в противном случае    for (y=0;;y++) for (x1=0;x1<y;x1++) ........................ for (xm=0;xm<y;xm++) if (P(a1,...,an,x1,...,xm)=0) STOP
  105. 105. Перечислимые множества
  106. 106. Перечислимые множества Определение. Множество M, состоящее из n-ок натуральных чисел называется перечислимым, если можно написать программу R, такую что R-a1, . . . , an - остановка, если a1, . . . , an ∈ M вечная работа в противном случае   
  107. 107. Перечислимые множества Определение. Множество M, состоящее из n-ок натуральных чисел называется перечислимым, если можно написать программу R, такую что R-a1, . . . , an - остановка, если a1, . . . , an ∈ M вечная работа в противном случае    Эквивалентное определение. Множество M, состоящее из n-ок натуральных чисел называется перечислимым, если можно написать программу P которая (работая бесконечно долго) будет печатать только элементы множества M и напечатает каждое из них, быть может, много раз.
  108. 108. Вторая программа Диофанта a1, . . . , an ∈ M ⇐⇒∃x1 . . . xm{P(a1, . . . , an, x1, . . . , xm) = 0}
  109. 109. Вторая программа Диофанта a1, . . . , an ∈ M ⇐⇒∃x1 . . . xm{P(a1, . . . , an, x1, . . . , xm) = 0} for (y=0;;y++) for (a1=0;a1<y;a1++) ....................... for (an=0;an<y;an++) for (x1=0;x1<y;x1++) ........................ for (xm=0;xm<y;xm++) if (P(a1,...,an,x1,...,xm)=0) print(a1,...,an)
  110. 110. Пример P(a1, x1, x2) = a1 − (x1 + 2)(x2 + 2)
  111. 111. Пример P(a1, x1, x2) = a1 − (x1 + 2)(x2 + 2) for y do for a1 to y do for x1 to y do for x2 to y do if a1 - (x1 + 2)*(x2 + 2)=0 then print(a1) fi od od od od
  112. 112. Пример P(a1, x1, x2) = a1 − (x1 + 2)(x2 + 2) for y do for a1 to y do for x1 to y do for x2 to y do if a1 - (x1 + 2)*(x2 + 2)=0 then print(a1) fi od od od od 4, 4, 4, 6, 6, 4, 6, 6, 4, 6, 6, 8, 8, 4, 6, 6, 8, 8, 9, 4, 6, 6, 8, 8, 9, 10, 10, 4, 6, 6, 8, 8, 9, 10, 10, 4, 6, 6, 8, 8, 9, 10, 10, 12, 12, 12, 12, 4, 6, 6,. . .
  113. 113. Перечислимые множества
  114. 114. Перечислимые множества Определение. Множество M, состоящее из n-ок натуральных чисел называется перечислимым, если можно написать программу R, такую что R-a1, . . . , an - остановка, если a1, . . . , an ∈ M вечная работа в противном случае   
  115. 115. Перечислимые множества Определение. Множество M, состоящее из n-ок натуральных чисел называется перечислимым, если можно написать программу R, такую что R-a1, . . . , an - остановка, если a1, . . . , an ∈ M вечная работа в противном случае    Эквивалентное определение. Множество M, состоящее из n-ок натуральных чисел называется перечислимым, если можно написать программу P которая (работая бесконечно долго) будет печатать только элементы множества M и напечатает каждое из них, быть может, много раз.
  116. 116. Гипотеза Martin’a Davis’а
  117. 117. Гипотеза Martin’a Davis’а Тривиальный факт. Каждое диофантово множество является перечислимым.
  118. 118. Гипотеза Martin’a Davis’а Тривиальный факт. Каждое диофантово множество является перечислимым. Гипотеза M. Davis’а (начало 50-х). Каждое перечислимое множество является диофантовым.
  119. 119. Гипотеза Martin’a Davis’а Тривиальный факт. Каждое диофантово множество является перечислимым. Гипотеза M. Davis’а (начало 50-х). Каждое перечислимое множество является диофантовым. Гипотеза M. Davis’а была доказана в 1970 году. DPRM-теорема. Понятия перечислимое множество и диофантово множество совпадают.
  120. 120. Гипотеза Martin’a Davis’а Тривиальный факт. Каждое диофантово множество является перечислимым. Гипотеза M. Davis’а (начало 50-х). Каждое перечислимое множество является диофантовым. Гипотеза M. Davis’а была доказана в 1970 году. DPRM-теорема. Понятия перечислимое множество и диофантово множество совпадают. Martin Davis, Hilary Putnam, Julia Robinson, Юрий Матиясевич
  121. 121. Перечисление диофантовых уравнений M1(a, ¯x) = 0, . . . , Mk(a, ¯x) = 0, . . .
  122. 122. Программа профессора Генератор уравнений ? M1(a, ¯x) = 0, . . . , Mk(a, ¯x) = 0, . . .
  123. 123. Программа профессора Генератор уравнений ? M1(a, ¯x) = 0, . . . , ? Mk(a, ¯x) = 0, . . . ? . . . . . .S(M1(1, ¯x) = 0) S(Mk(k, ¯x) = 0)
  124. 124. Программа профессора Генератор уравнений ? M1(a, ¯x) = 0, . . . , ? Mk(a, ¯x) = 0, . . . ? . . . . . .S(M1(1, ¯x) = 0) S(Mk(k, ¯x) = 0) ? ? if S outputs 0 then print(1) if S outputs 0 then print(k). . . . . . ? ?
  125. 125. Программа профессора Генератор уравнений ? M1(a, ¯x) = 0, . . . , ? Mk(a, ¯x) = 0, . . . ? . . . . . .S(M1(1, ¯x) = 0) S(Mk(k, ¯x) = 0) ? ? if S outputs 0 then print(1) if S outputs 0 then print(k). . . . . . ? ?
  126. 126. Программа профессора Генератор уравнений ? M1(a, ¯x) = 0, . . . , ? Mk(a, ¯x) = 0, . . . ? . . . . . .S(M1(1, ¯x) = 0) S(Mk(k, ¯x) = 0) ? ? if S outputs 0 then print(1) if S outputs 0 then print(k). . . . . . ? ? S(Mk(k, ¯x) = 0) = 0 ⇔ k ∈ MS
  127. 127. Программа профессора Генератор уравнений ? M1(a, ¯x) = 0, . . . , ? Mk(a, ¯x) = 0, . . . ? . . . . . .S(M1(1, ¯x) = 0) S(Mk(k, ¯x) = 0) ? ? if S outputs 0 then print(1) if S outputs 0 then print(k). . . . . . ? ? S(Mk(k, ¯x) = 0) = 0 ⇔ k ∈ MS
  128. 128. Программа профессора Генератор уравнений ? M1(a, ¯x) = 0, . . . , ? Mk(a, ¯x) = 0, . . . ? . . . . . .S(M1(1, ¯x) = 0) S(Mk(k, ¯x) = 0) ? ? if S outputs 0 then print(1) if S outputs 0 then print(k). . . . . . ? ? S(Mk(k, ¯x) = 0) = 0 ⇔ k ∈ MS ⇔ ∃¯x{MS (k, ¯x) = 0}
  129. 129. Программа профессора Генератор уравнений ? M1(a, ¯x) = 0, . . . , ? Mk(a, ¯x) = 0, . . . ? . . . . . .S(M1(1, ¯x) = 0) S(Mk(k, ¯x) = 0) ? ? if S outputs 0 then print(1) if S outputs 0 then print(k). . . . . . ? ? S(Mk(k, ¯x) = 0) = 0 ⇔ k ∈ MS ⇔ ∃¯x{MkS (k, ¯x) = 0}
  130. 130. Программа профессора Генератор уравнений ? M1(a, ¯x) = 0, . . . , ? Mk(a, ¯x) = 0, . . . ? . . . . . .S(M1(1, ¯x) = 0) S(Mk(k, ¯x) = 0) ? ? if S outputs 0 then print(1) if S outputs 0 then print(k). . . . . . ? ? S(Mk(k, ¯x) = 0) = 0 ⇔ k ∈ MS ⇔ ∃¯x{MkS (k, ¯x) = 0} S(MkS (kS , ¯x) = 0)
  131. 131. Программа профессора Генератор уравнений ? M1(a, ¯x) = 0, . . . , ? Mk(a, ¯x) = 0, . . . ? . . . . . .S(M1(1, ¯x) = 0) S(Mk(k, ¯x) = 0) ? ? if S outputs 0 then print(1) if S outputs 0 then print(k). . . . . . ? ? S(Mk(k, ¯x) = 0) = 0 ⇔ k ∈ MS ⇔ ∃¯x{MkS (k, ¯x) = 0} S(MkS (kS , ¯x) = 0) =?
  132. 132. Программа профессора Генератор уравнений ? M1(a, ¯x) = 0, . . . , ? Mk(a, ¯x) = 0, . . . ? . . . . . .S(M1(1, ¯x) = 0) S(Mk(k, ¯x) = 0) ? ? if S outputs 0 then print(1) if S outputs 0 then print(k). . . . . . ? ? S(Mk(k, ¯x) = 0) = 0 ⇔ k ∈ MS ⇔ ∃¯x{MkS (k, ¯x) = 0} S(MkS (kS , ¯x) = 0) = 0
  133. 133. Программа профессора Генератор уравнений ? M1(a, ¯x) = 0, . . . , ? Mk(a, ¯x) = 0, . . . ? . . . . . .S(M1(1, ¯x) = 0) S(Mk(k, ¯x) = 0) ? ? if S outputs 0 then print(1) if S outputs 0 then print(k). . . . . . ? ? S(Mk(k, ¯x) = 0) = 0 ⇔ k ∈ MS ⇔ ∃¯x{MkS (k, ¯x) = 0} S(MkS (kS , ¯x) = 0) = 0 ⇒ kS ∈ MS
  134. 134. Программа профессора Генератор уравнений ? M1(a, ¯x) = 0, . . . , ? Mk(a, ¯x) = 0, . . . ? . . . . . .S(M1(1, ¯x) = 0) S(Mk(k, ¯x) = 0) ? ? if S outputs 0 then print(1) if S outputs 0 then print(k). . . . . . ? ? S(Mk(k, ¯x) = 0) = 0 ⇔ k ∈ MS ⇔ ∃¯x{MkS (k, ¯x) = 0} S(MkS (kS , ¯x) = 0) = 0 ⇒ kS ∈ MS ⇒ ∃¯x{MkS (kS , ¯x) = 0}
  135. 135. Программа профессора Генератор уравнений ? M1(a, ¯x) = 0, . . . , ? Mk(a, ¯x) = 0, . . . ? . . . . . .S(M1(1, ¯x) = 0) S(Mk(k, ¯x) = 0) ? ? if S outputs 0 then print(1) if S outputs 0 then print(k). . . . . . ? ? S(Mk(k, ¯x) = 0) = 0 ⇔ k ∈ MS ⇔ ∃¯x{MkS (k, ¯x) = 0} S(MkS (kS , ¯x) = 0) = 1
  136. 136. Программа профессора Генератор уравнений ? M1(a, ¯x) = 0, . . . , ? Mk(a, ¯x) = 0, . . . ? . . . . . .S(M1(1, ¯x) = 0) S(Mk(k, ¯x) = 0) ? ? if S outputs 0 then print(1) if S outputs 0 then print(k). . . . . . ? ? S(Mk(k, ¯x) = 0) = 0 ⇔ k ∈ MS ⇔ ∃¯x{MkS (k, ¯x) = 0} S(MkS (kS , ¯x) = 0) = 1 ⇒ kS ∈ MS
  137. 137. Программа профессора Генератор уравнений ? M1(a, ¯x) = 0, . . . , ? Mk(a, ¯x) = 0, . . . ? . . . . . .S(M1(1, ¯x) = 0) S(Mk(k, ¯x) = 0) ? ? if S outputs 0 then print(1) if S outputs 0 then print(k). . . . . . ? ? S(Mk(k, ¯x) = 0) = 0 ⇔ k ∈ MS ⇔ ∃¯x{MkS (k, ¯x) = 0} S(MkS (kS , ¯x) = 0) = 1 ⇒ kS ∈ MS ⇒ ¬∃¯x{MkS (kS , ¯x) = 0}
  138. 138. Универсальное уравнение
  139. 139. Универсальное уравнение Список всех однопараметрических уравнений: M1(a, x1, . . . ) = 0, . . . , Mk(a, x1, . . . ) = 0, . . .
  140. 140. Универсальное уравнение Список всех однопараметрических уравнений: M1(a, x1, . . . ) = 0, . . . , Mk(a, x1, . . . ) = 0, . . . a, k ∈ U ⇔ ∃x1, . . . {Mk(a, x1, . . . ) = 0}
  141. 141. Универсальное уравнение Список всех однопараметрических уравнений: M1(a, x1, . . . ) = 0, . . . , Mk(a, x1, . . . ) = 0, . . . a, k ∈ U ⇔ ∃x1, . . . {Mk(a, x1, . . . ) = 0} a, k ∈ U ⇔ ∃y1 . . . yn{U(a, k, y1, . . . , yn) = 0}
  142. 142. Универсальное уравнение Список всех однопараметрических уравнений: M1(a, x1, . . . ) = 0, . . . , Mk(a, x1, . . . ) = 0, . . . a, k ∈ U ⇔ ∃x1, . . . {Mk(a, x1, . . . ) = 0} a, k ∈ U ⇔ ∃y1 . . . yn{U(a, k, y1, . . . , yn) = 0} ∃x1, . . . {Mk(a, x1, . . . ) = 0} ⇔ ∃y1 . . . yn{U(a, k, y1, . . . , yn) = 0}
  143. 143. Текущие рекорды Задача о решении произвольного параметрического диофантова уравнения может быть сведена к решению эквивалентного диофантова уравнения, имеющего степень D и N неизвестных, где в качестве D, N можно взять любую из следующих пар: 4, 58 , 8, 38 , 12, 32 , 16, 29 , 20, 28 , 24, 26 , 28, 25 , 36, 24 , 96, 21 , 2668, 19 , 2 × 105, 14 , 6.6 × 1043, 13 , 1.3 × 1044, 12 , 4.6 × 1044, 11 , 8.6 × 1044, 10 , 1.6 × 1045, 9 .
  144. 144. Непростой многочлен для простых чисел Теорема (J.P.Jones, D.Sato, H.Wada, D.Wiens, [1976]) Множество всех простых чисел – это в точности множество всех положительных значений, принимаемых многочленом (k + 2) { 1 −[wz + h + j − q]2 − [(gk + 2g + k + 1)(h + j) + h − z]2 − [2n + p + q + z − e]2 − 16(k + 1)3 (k + 2)(n + 1)2 + 1 − f 2 2 − e3 (e + 2)(a + 1)2 + 1 − o2 2 − (a2 − 1)y2 + 1 − x2 2 − 16r2 y4 (a2 − 1) + 1 − u2 2 − [n + l + v − y]2 − (a + u2 (u2 − a))2 − 1 (n + 4dy)2 + 1 − (x + cu)2 2 − (a2 − 1)l2 + 1 − m2 2 − q + y(a − p − 1) + s(2ap + 2a − p2 − 2p − 2) − x 2 − z + pl(a − p) + t(2ap − p2 − 1) − pm 2 − [ai + k + 1 − l − i]2 − p + l(a − n − 1) + b(2an + 2a − n2 − 2n − 2) − m 2 } при натуральных значениях 26 переменных a, b, c, . . . , x, y, z.
  145. 145. Диофантовы машины Формализация недетерминизма Leonard Adleman и Kenneth Manders [1976] ввели понятие недетерминированной диофантовой машины, NDDM .
  146. 146. Диофантовы машины Формализация недетерминизма Leonard Adleman и Kenneth Manders [1976] ввели понятие недетерминированной диофантовой машины, NDDM . NDDM P(a, x1, . . . , xm) ? = 0 'E c EE вход a угадать x1, . . . , xm ДА НЕТ принять a отвергнуть
  147. 147. Диофантовы машины Формализация недетерминизма Leonard Adleman и Kenneth Manders [1976] ввели понятие недетерминированной диофантовой машины, NDDM . NDDM P(a, x1, . . . , xm) ? = 0 'E c EE вход a угадать x1, . . . , xm ДА НЕТ принять a отвергнуть DPRM-теорема: NDDM имееют такую же вычислительную силу как, например, машины Тьюринга, то есть любое множество, принимаемое некоторой машиной Тьюринга, принимается некоторой NDDM, и, очевидно, наоборот.
  148. 148. Диофантова сложность Определения NDDM P(a, x1, . . . , xm) ? = 0 'E c EE вход a угадать x1, . . . , xm ДА НЕТ принять a отвергнуть
  149. 149. Диофантова сложность Определения NDDM P(a, x1, . . . , xm) ? = 0 'E c EE вход a угадать x1, . . . , xm ДА НЕТ принять a отвергнуть SIZE(a)=минимально возможное значение |x1| + · · · + |xm|, где |x| обозначает длину двоичной записи x.
  150. 150. Диофантова сложность D vs NP Leonard Adleman и Kenneth Manders [1975] ввели в рассмотрение класс D состоящий из множеств M имеющих представления вида a ∈ M ⇐⇒ ⇐⇒ ∃x1 . . . xm P(a, x1, . . . , xm) = 0 & |x1| + · · · + |xm| ≤ |a|k .
  151. 151. Диофантова сложность D vs NP Leonard Adleman и Kenneth Manders [1975] ввели в рассмотрение класс D состоящий из множеств M имеющих представления вида a ∈ M ⇐⇒ ⇐⇒ ∃x1 . . . xm P(a, x1, . . . , xm) = 0 & |x1| + · · · + |xm| ≤ |a|k . Открытая проблема. D ? = NP.
  152. 152. Давид Гильберт, “Математические проблемы”, [1900] Вместе с тем бывает и так, что мы добиваемся ответа при недостаточ- ных предпосылках, или идя в неправильном направлении, и вследствии этого не достигаем цели. Тогда возникает задача доказать неразрешимость дан- ной проблемы при принятых предпосылках и выбранном направлении. Такие доказательства невозможности проводились еще старыми математиками, на- пример, когда они обнаруживали, что отношение гипотенузы равнобедрен- ного прямоугольного треугольника к его катету есть иррациональное число. В новейшей математике доказательства невозможности решений определен- ных проблем играют выдающуюся роль; там мы констатируем, что такие старые и трудные проблемы, как доказательство аксиомы о параллельных, как квадратура круга или решение уравнения пятой степени в радикалах, получили все же строгое, вполне удовлетворяющее нас решение, хотя и в другом направлении, чем то, которое сначала предполагалось. Этот удивительный факт наряду с другими философскими основаниями создает у нас уверенность, которую разделяет, несомненно, каждый матема- тик, но которую до сих пор никто не подтвердил доказательством, – уверен- ность в том, что каждая определенная математическая проблема непременно должна быть доступна строгому решению или в том смысле, что удается по- лучить ответ на поставленный вопрос, или же в том смысле, что будет уста- новлена невозможность ее решения и вместе с тем доказана неизбежность неудачи всех попыток ее решить.
  153. 153. DPR-теорема
  154. 154. DPR-теорема Теорема (Martin Davis, Hilary Putnam, Julia Robinson [1961]). Для каждого перечислимого множества можно построить его экспоненциально диофантово представление: a1, . . . , an ∈ M ⇐⇒ ∃x1 . . . xm{EL(a1, . . . , an, x1, . . . , xm) = ER(a1, . . . , an, x1, . . . , xm)} где EL и ER – выражения, построенные по традиционным пра- вилам из переменных и конкретных натуральных чисел с по- мощью операций сложения, умножения и возведения в степень.
  155. 155. DPR-теорема Теорема (Martin Davis, Hilary Putnam, Julia Robinson [1961]). Для каждого перечислимого множества можно построить его экспоненциально диофантово представление: a1, . . . , an ∈ M ⇐⇒ ∃x1 . . . xm{EL(a1, . . . , an, x1, . . . , xm) = ER(a1, . . . , an, x1, . . . , xm)} где EL и ER – выражения, построенные по традиционным пра- вилам из переменных и конкретных натуральных чисел с по- мощью операций сложения, умножения и возведения в степень. Определение. Множество M, состоящее из n-ок натуральных чисел называется перечислимым, если можно написать программу R, такую что R-a1, . . . , an - остановка, если a1, . . . , an ∈ M вечная работа в противном случае   
  156. 156. DPR-теорема Теорема (Martin Davis, Hilary Putnam, Julia Robinson [1961]). Для каждого перечислимого множества можно построить его экспоненциально диофантово представление: a1, . . . , an ∈ M ⇐⇒ ∃x1 . . . xm{EL(a1, . . . , an, x1, . . . , xm) = ER(a1, . . . , an, x1, . . . , xm)} где EL и ER – выражения, построенные по традиционным пра- вилам из переменных и конкретных натуральных чисел с по- мощью операций сложения, умножения и возведения в степень. Определение. Множество M, состоящее из n-ок натуральных чисел называется перечислимым, если можно написать программу R, такую что R-a1, . . . , an - остановка, если a1, . . . , an ∈ M вечная работа в противном случае   
  157. 157. An e-mail
  158. 158. An e-mail Dear Professor, you are wrong. I am a brilliant young programmer and last night I wrote a sophisticated program in Java##. My program solves Hilbert’s tenth problem in the __positive__ sense. Namely, for every Diophantine equation given as input, the program will print 1 or 0 depending on whether the equation has a solution or not. The attachment contains my ingenious program. You can run it on your favorite Diophantine equations and see how fast my program works. Have a fun, Professor!
  159. 159. Регистровые машины
  160. 160. Регистровые машины Регистровая машина имеет конечное количество регистров R1, . . . ,Rn каждый из которых может содержать произвольно большое натуральное число.
  161. 161. Регистровые машины Регистровая машина имеет конечное количество регистров R1, . . . ,Rn каждый из которых может содержать произвольно большое натуральное число. Машина выполняет программу состоящую из конечного числа инструкций снабженных метками S1, . . . ,Sm. Когда машина выполняет инструкцию с меткой Sk, мы говорим, что машина находится в состоянии Sk.
  162. 162. Регистровые машины Регистровая машина имеет конечное количество регистров R1, . . . ,Rn каждый из которых может содержать произвольно большое натуральное число. Машина выполняет программу состоящую из конечного числа инструкций снабженных метками S1, . . . ,Sm. Когда машина выполняет инструкцию с меткой Sk, мы говорим, что машина находится в состоянии Sk. Инструкции бывают трёх типов:
  163. 163. Регистровые машины Регистровая машина имеет конечное количество регистров R1, . . . ,Rn каждый из которых может содержать произвольно большое натуральное число. Машина выполняет программу состоящую из конечного числа инструкций снабженных метками S1, . . . ,Sm. Когда машина выполняет инструкцию с меткой Sk, мы говорим, что машина находится в состоянии Sk. Инструкции бывают трёх типов: I. Sk: R + +;Si
  164. 164. Регистровые машины Регистровая машина имеет конечное количество регистров R1, . . . ,Rn каждый из которых может содержать произвольно большое натуральное число. Машина выполняет программу состоящую из конечного числа инструкций снабженных метками S1, . . . ,Sm. Когда машина выполняет инструкцию с меткой Sk, мы говорим, что машина находится в состоянии Sk. Инструкции бывают трёх типов: I. Sk: R + +;Si II. Sk: R − −; Si;Sj
  165. 165. Регистровые машины Регистровая машина имеет конечное количество регистров R1, . . . ,Rn каждый из которых может содержать произвольно большое натуральное число. Машина выполняет программу состоящую из конечного числа инструкций снабженных метками S1, . . . ,Sm. Когда машина выполняет инструкцию с меткой Sk, мы говорим, что машина находится в состоянии Sk. Инструкции бывают трёх типов: I. Sk: R + +;Si II. Sk: R − −; Si;Sj III. Sk: STOP
  166. 166. Регистровые машины Регистровая машина имеет конечное количество регистров R1, . . . ,Rn каждый из которых может содержать произвольно большое натуральное число. Машина выполняет программу состоящую из конечного числа инструкций снабженных метками S1, . . . ,Sm. Когда машина выполняет инструкцию с меткой Sk, мы говорим, что машина находится в состоянии Sk. Инструкции бывают трёх типов: I. Sk: R + +;Si II. Sk: R − −; Si;Sj III. Sk: STOP Lambek [1961], Melzak [1961], Minsky [1961], Minsky [1967], Shepherdson и Sturgis [1963]
  167. 167. Пример S1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6 S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8 S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP
  168. 168. Пример S1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6 S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8 S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP Начальное состояние S1
  169. 169. Пример S1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6 S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8 S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP Начальное состояние S1 Начальное содержимое регистров R1=a, R2=0
  170. 170. Пример S1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6 S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8 S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP Начальное состояние S1 Начальное содержимое регистров R1=a, R2=0 В каком случае машина остановится?
  171. 171. Протокол
  172. 172. Протокол q . . . t + 1 t . . . 0 S1 s1,q . . . s1,t+1 s1,t . . . s1,0 ... ... ... ... ... ... ... Sk sk,q . . . sk,t+1 sk,t . . . sk,0 ... ... ... ... ... ... ... Sm sm,q . . . sm,t+1 sm,t . . . sm,0 sk,t = 1, если на шаге t машина была в состоянии k 0 в противном случае
  173. 173. Протокол q . . . t + 1 t . . . 0 ... ... ... ... ... ... ... Sk sk,q . . . sk,t+1 sk,t . . . sk,0 ... ... ... ... ... ... ... R1 r1,q . . . r1,t+1 r1,t . . . r1,0 ... ... ... ... ... ... ... R r ,q . . . r ,t+1 r ,t . . . r ,0 ... ... ... ... ... ... ... Rn rn,q . . . rn,t+1 rn,t . . . rn,0 r ,t – это содержимое -го регистра на шаге t
  174. 174. Протокол q . . . t + 1 t . . . 0 ... ... ... ... ... ... ... Sk sk,q . . . sk,t+1 sk,t . . . sk,0 ... ... ... ... ... ... ... ... ... ... ... ... ... ... R r ,q . . . r ,t+1 r ,t . . . r ,0 ... ... ... ... ... ... ... Z1 z1,q . . . z1,t+1 z1,t . . . z1,0 ... ... ... ... ... ... ... Z z ,q . . . z ,t+1 z ,t . . . z ,0 ... ... ... ... ... ... ... Zn zn,q . . . zn,t+1 zn,t . . . zn,0 z ,t = 1, если r ,t > 0 0 в противном случае
  175. 175. Пример S1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6 S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8 S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP
  176. 176. Пример S1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6 S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8 S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP r1,t+1 =
  177. 177. Пример S1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6 S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8 S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP r1,t+1 = r1,t
  178. 178. Пример S1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6 S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8 S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP r1,t+1 = r1,t + s7,t
  179. 179. Пример S1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6 S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8 S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP r1,t+1 = r1,t + s7,t + s8,t
  180. 180. Пример S1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6 S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8 S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t
  181. 181. Пример S1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6 S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8 S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t
  182. 182. Пример S1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6 S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8 S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t
  183. 183. Пример S1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6 S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8 S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t
  184. 184. Пример S1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6 S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8 S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t r2,t+1 =
  185. 185. Пример S1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6 S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8 S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t r2,t+1 = r2,t
  186. 186. Пример S1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6 S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8 S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t r2,t+1 = r2,t + s3,t
  187. 187. Пример S1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6 S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8 S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t r2,t+1 = r2,t + s3,t − z2,ts6,t
  188. 188. Пример S1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6 S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8 S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t r2,t+1 = r2,t + s3,t − z2,ts6,t s1,t+1 =
  189. 189. Пример S1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6 S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8 S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t r2,t+1 = r2,t + s3,t − z2,ts6,t s1,t+1 = (1 − z2,t)s6,t
  190. 190. Пример S1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6 S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8 S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t r2,t+1 = r2,t + s3,t − z2,ts6,t s1,t+1 = (1 − z2,t)s6,t s2,t+1 =
  191. 191. Пример S1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6 S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8 S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t r2,t+1 = r2,t + s3,t − z2,ts6,t s1,t+1 = (1 − z2,t)s6,t s2,t+1 = z1,ts1,t
  192. 192. Пример S1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6 S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8 S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t r2,t+1 = r2,t + s3,t − z2,ts6,t s1,t+1 = (1 − z2,t)s6,t s2,t+1 = z1,ts1,t s3,t+1 =
  193. 193. Пример S1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6 S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8 S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t r2,t+1 = r2,t + s3,t − z2,ts6,t s1,t+1 = (1 − z2,t)s6,t s2,t+1 = z1,ts1,t s3,t+1 = z1,ts2,t
  194. 194. Пример S1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6 S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8 S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t r2,t+1 = r2,t + s3,t − z2,ts6,t s1,t+1 = (1 − z2,t)s6,t s2,t+1 = z1,ts1,t s3,t+1 = z1,ts2,t + z1,ts5,t
  195. 195. Пример S1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6 S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8 S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t r2,t+1 = r2,t + s3,t − z2,ts6,t s1,t+1 = (1 − z2,t)s6,t s2,t+1 = z1,ts1,t s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 =
  196. 196. Пример S1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6 S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8 S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t r2,t+1 = r2,t + s3,t − z2,ts6,t s1,t+1 = (1 − z2,t)s6,t s2,t+1 = z1,ts1,t s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t
  197. 197. Пример S1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6 S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8 S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t r2,t+1 = r2,t + s3,t − z2,ts6,t s1,t+1 = (1 − z2,t)s6,t s2,t+1 = z1,ts1,t s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 =
  198. 198. Пример S1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6 S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8 S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t r2,t+1 = r2,t + s3,t − z2,ts6,t s1,t+1 = (1 − z2,t)s6,t s2,t+1 = z1,ts1,t s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t
  199. 199. Пример S1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6 S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8 S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t r2,t+1 = r2,t + s3,t − z2,ts6,t s1,t+1 = (1 − z2,t)s6,t s2,t+1 = z1,ts1,t s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t s6,t+1 =
  200. 200. Пример S1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6 S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8 S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t r2,t+1 = r2,t + s3,t − z2,ts6,t s1,t+1 = (1 − z2,t)s6,t s2,t+1 = z1,ts1,t s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t s6,t+1 = (1 − z4,t)s4,t
  201. 201. Пример S1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6 S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8 S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t r2,t+1 = r2,t + s3,t − z2,ts6,t s1,t+1 = (1 − z2,t)s6,t s2,t+1 = z1,ts1,t s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t s6,t+1 = (1 − z4,t)s4,t + s7,t
  202. 202. Пример S1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6 S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8 S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t r2,t+1 = r2,t + s3,t − z2,ts6,t s1,t+1 = (1 − z2,t)s6,t s2,t+1 = z1,ts1,t s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t s6,t+1 = (1 − z4,t)s4,t + s7,t s7,t+1 =
  203. 203. Пример S1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6 S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8 S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t r2,t+1 = r2,t + s3,t − z2,ts6,t s1,t+1 = (1 − z2,t)s6,t s2,t+1 = z1,ts1,t s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t s6,t+1 = (1 − z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t
  204. 204. Пример S1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6 S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8 S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t r2,t+1 = r2,t + s3,t − z2,ts6,t s1,t+1 = (1 − z2,t)s6,t s2,t+1 = z1,ts1,t s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t s6,t+1 = (1 − z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t s8,t+1 =
  205. 205. Пример S1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6 S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8 S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t r2,t+1 = r2,t + s3,t − z2,ts6,t s1,t+1 = (1 − z2,t)s6,t s2,t+1 = z1,ts1,t s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t s6,t+1 = (1 − z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t s8,t+1 = (1 − z1,t)s1,t
  206. 206. Пример S1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6 S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8 S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t r2,t+1 = r2,t + s3,t − z2,ts6,t s1,t+1 = (1 − z2,t)s6,t s2,t+1 = z1,ts1,t s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t s6,t+1 = (1 − z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t s8,t+1 = (1 − z1,t)s1,t + s8,t
  207. 207. Пример S1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6 S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8 S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t r2,t+1 = r2,t + s3,t − z2,ts6,t s1,t+1 = (1 − z2,t)s6,t s2,t+1 = z1,ts1,t s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t s6,t+1 = (1 − z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t s8,t+1 = (1 − z1,t)s1,t + s8,t s9,t+1 =
  208. 208. Пример S1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6 S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8 S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t r2,t+1 = r2,t + s3,t − z2,ts6,t s1,t+1 = (1 − z2,t)s6,t s2,t+1 = z1,ts1,t s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t s6,t+1 = (1 − z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t s8,t+1 = (1 − z1,t)s1,t + s8,t s9,t+1 = (1 − z1,t)s2,t s1,0 =
  209. 209. Пример S1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6 S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8 S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t r2,t+1 = r2,t + s3,t − z2,ts6,t s1,t+1 = (1 − z2,t)s6,t s2,t+1 = z1,ts1,t s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t s6,t+1 = (1 − z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t s8,t+1 = (1 − z1,t)s1,t + s8,t s9,t+1 = (1 − z1,t)s2,t s1,0 = 1
  210. 210. Пример S1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6 S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8 S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t r2,t+1 = r2,t + s3,t − z2,ts6,t s1,t+1 = (1 − z2,t)s6,t s2,t+1 = z1,ts1,t s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t s6,t+1 = (1 − z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t s8,t+1 = (1 − z1,t)s1,t + s8,t s9,t+1 = (1 − z1,t)s2,t s1,0 = 1 s2,0 = · · · = sm,0 = 0
  211. 211. Пример S1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6 S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8 S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t r2,t+1 = r2,t + s3,t − z2,ts6,t s1,t+1 = (1 − z2,t)s6,t s2,t+1 = z1,ts1,t s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t s6,t+1 = (1 − z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t s8,t+1 = (1 − z1,t)s1,t + s8,t s9,t+1 = (1 − z1,t)s2,t s1,0 = 1 s2,0 = · · · = sm,0 = 0 r1,0 =
  212. 212. Пример S1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6 S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8 S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t r2,t+1 = r2,t + s3,t − z2,ts6,t s1,t+1 = (1 − z2,t)s6,t s2,t+1 = z1,ts1,t s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t s6,t+1 = (1 − z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t s8,t+1 = (1 − z1,t)s1,t + s8,t s9,t+1 = (1 − z1,t)s2,t s1,0 = 1 s2,0 = · · · = sm,0 = 0 r1,0 = a
  213. 213. Пример S1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6 S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8 S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t r2,t+1 = r2,t + s3,t − z2,ts6,t s1,t+1 = (1 − z2,t)s6,t s2,t+1 = z1,ts1,t s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t s6,t+1 = (1 − z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t s8,t+1 = (1 − z1,t)s1,t + s8,t s9,t+1 = (1 − z1,t)s2,t s1,0 = 1 s2,0 = · · · = sm,0 = 0 r1,0 = a r2,0 = · · · = rn,0 = 0 sm,q = 1
  214. 214. Пример S1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6 S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8 S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t r2,t+1 = r2,t + s3,t − z2,ts6,t s1,t+1 = (1 − z2,t)s6,t s2,t+1 = z1,ts1,t s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t s6,t+1 = (1 − z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t s8,t+1 = (1 − z1,t)s1,t + s8,t s9,t+1 = (1 − z1,t)s2,t s1,0 = 1 s2,0 = · · · = sm,0 = 0 r1,0 = a r2,0 = · · · = rn,0 = 0 sm,q = 1 s1,q = · · · = sm−1,q = 0
  215. 215. Пример S1:R1−−; S2; S8 S4:R1−−; S5; S6 S7:R1++; S6 S2:R1−−; S3; S9 S5:R1−−; S3; S8 S8:R1++; S8 S3:R2++; S4 S6:R2−−; S7; S1 S9:STOP r1,t+1 = r1,t + s7,t + s8,t − z1,ts1,t − z1,ts2,t − z1,ts4,t − z1,ts5,t r2,t+1 = r2,t + s3,t − z2,ts6,t s1,t+1 = (1 − z2,t)s6,t s2,t+1 = z1,ts1,t s3,t+1 = z1,ts2,t + z1,ts5,t s4,t+1 = s3,t s5,t+1 = z1,ts4,t s6,t+1 = (1 − z4,t)s4,t + s7,t s7,t+1 = z2,ts6,t s8,t+1 = (1 − z1,t)s1,t + s8,t s9,t+1 = (1 − z1,t)s2,t s1,0 = 1 s2,0 = · · · = sm,0 = 0 r1,0 = a r2,0 = · · · = rn,0 = 0 sm,q = 1 s1,q = · · · = sm−1,q = 0
  216. 216. Новые значения регистров r ,t+1 = r ,t + + sk,t − − z ,tsk,t
  217. 217. Новые значения регистров r ,t+1 = r ,t + + sk,t − − z ,tsk,t где + -суммирование ведется по всем инструкциям вида Sk : R + +; Si,
  218. 218. Новые значения регистров r ,t+1 = r ,t + + sk,t − − z ,tsk,t где + -суммирование ведется по всем инструкциям вида Sk : R + +; Si, а − -суммирование – по всем инструкциям вида Sk : R − −; Si; Sj.
  219. 219. Новые состояния sd,t+1 = + d sk,t + − d z ,tsk,t + 0 d (1 − z ,t)sk,t
  220. 220. Новые состояния sd,t+1 = + d sk,t + − d z ,tsk,t + 0 d (1 − z ,t)sk,t где + d -суммирование ведется по всем инструкциям вида Sk : R + +; Sd,
  221. 221. Новые состояния sd,t+1 = + d sk,t + − d z ,tsk,t + 0 d (1 − z ,t)sk,t где + d -суммирование ведется по всем инструкциям вида Sk : R + +; Sd, − d -суммирование ведется по всем инструкциям вида Sk : R − −; Sd; Sj,
  222. 222. Новые состояния sd,t+1 = + d sk,t + − d z ,tsk,t + 0 d (1 − z ,t)sk,t где + d -суммирование ведется по всем инструкциям вида Sk : R + +; Sd, − d -суммирование ведется по всем инструкциям вида Sk : R − −; Sd; Sj, а 0 d -суммирование – по всем инструкциям вида Sk : R − −; Si; Sd.
  223. 223. Начальные значения
  224. 224. Начальные значения Всегда начинаем в состоянии S1: s1,0 = 1, s2,0 = · · · = sm,0 = 0.
  225. 225. Начальные значения Всегда начинаем в состоянии S1: s1,0 = 1, s2,0 = · · · = sm,0 = 0. (Единственная) входная величина a помещается в регистр R1: r1,0 = a,
  226. 226. Начальные значения Всегда начинаем в состоянии S1: s1,0 = 1, s2,0 = · · · = sm,0 = 0. (Единственная) входная величина a помещается в регистр R1: r1,0 = a, все остальные регистры пусты: r2,0 = · · · = rn,0 = 0.
  227. 227. Остановка Sm является единственной командой STOP: sm,q = 1, s1,q = · · · = sm−1,q = 0. При остановке все регистры пусты: r1,q = · · · = rn,q = 0.
  228. 228. Протокол q . . . t + 1 t . . . 0 ... ... ... ... ... ... ... Sk sk,q . . . sk,t+1 sk,t . . . sk,0 ... ... ... ... ... ... ... ... ... ... ... ... ... ... R r ,q . . . r ,t+1 r ,t . . . r ,0 ... ... ... ... ... ... ... ... ... ... ... ... ... ... Z z ,q . . . z ,t+1 z ,t . . . z ,0 ... ... ... ... ... ... ...
  229. 229. Протокол q . . . t + 1 t . . . 0 ... ... ... ... ... ... ... Sk sk,q . . . sk,t+1 sk,t . . . sk,0 sk = q t=0 sk,tbt ... ... ... ... ... ... ... ... ... ... ... ... ... ... R r ,q . . . r ,t+1 r ,t . . . r ,0 ... ... ... ... ... ... ... ... ... ... ... ... ... ... Z z ,q . . . z ,t+1 z ,t . . . z ,0 ... ... ... ... ... ... ...
  230. 230. Протокол q . . . t + 1 t . . . 0 ... ... ... ... ... ... ... Sk sk,q . . . sk,t+1 sk,t . . . sk,0 = sk = q t=0 sk,tbt ... ... ... ... ... ... ... ... ... ... ... ... ... ... R r ,q . . . r ,t+1 r ,t . . . r ,0 ... ... ... ... ... ... ... ... ... ... ... ... ... ... Z z ,q . . . z ,t+1 z ,t . . . z ,0 ... ... ... ... ... ... ...
  231. 231. Протокол q . . . t + 1 t . . . 0 ... ... ... ... ... ... ... Sk sk,q . . . sk,t+1 sk,t . . . sk,0 = sk = q t=0 sk,tbt ... ... ... ... ... ... ... ... ... ... ... ... ... ... R r ,q . . . r ,t+1 r ,t . . . r ,0 = r = q t=0 r ,tbt ... ... ... ... ... ... ... ... ... ... ... ... ... ... Z z ,q . . . z ,t+1 z ,t . . . z ,0 ... ... ... ... ... ... ...
  232. 232. Протокол q . . . t + 1 t . . . 0 ... ... ... ... ... ... ... Sk sk,q . . . sk,t+1 sk,t . . . sk,0 = sk = q t=0 sk,tbt ... ... ... ... ... ... ... ... ... ... ... ... ... ... R r ,q . . . r ,t+1 r ,t . . . r ,0 = r = q t=0 r ,tbt ... ... ... ... ... ... ... ... ... ... ... ... ... ... Z z ,q . . . z ,t+1 z ,t . . . z ,0 = z = q t=0 z ,tbt ... ... ... ... ... ... ...
  233. 233. Протокол q . . . t + 1 t . . . 0 b = 2c+1 ... ... ... ... ... ... ... Sk sk,q . . . sk,t+1 sk,t . . . sk,0 = sk = q t=0 sk,tbt ... ... ... ... ... ... ... ... ... ... ... ... ... ... R r ,q . . . r ,t+1 r ,t . . . r ,0 = r = q t=0 r ,tbt ... ... ... ... ... ... ... ... ... ... ... ... ... ... Z z ,q . . . z ,t+1 z ,t . . . z ,0 = z = q t=0 z ,tbt ... ... ... ... ... ... ...
  234. 234. Поразрядное умножение a = ∞ k=0 ak2k b = ∞ k=0 bk2k
  235. 235. Поразрядное умножение a = ∞ k=0 ak2k b = ∞ k=0 bk2k a & b = ∞ k=0 akbk2k
  236. 236. Новые значения регистров sk = q t=0 sk,tbt r = q t=0 r ,tbt z = q t=0 z ,tbt r ,t+1 = r ,t + + sk,t − − z ,tsk,t
  237. 237. Новые значения регистров sk = q t=0 sk,tbt r = q t=0 r ,tbt z = q t=0 z ,tbt r ,t+1 = r ,t + + sk,t − − z ,tsk,t
  238. 238. Новые значения регистров sk = q t=0 sk,tbt r = q t=0 r ,tbt z = q t=0 z ,tbt r ,t+1 = r ,t + + sk,t − − z ,tsk,t
  239. 239. Новые значения регистров sk = q t=0 sk,tbt r = q t=0 r ,tbt z = q t=0 z ,tbt r ,t+1 = r ,t + + sk,t − − z ,tsk,t
  240. 240. Новые значения регистров sk = q t=0 sk,tbt r = q t=0 r ,tbt z = q t=0 z ,tbt r ,t+1bt+1 = r ,tbt+1 + + sk,tbt+1 − − z ,tsk,tbt+1
  241. 241. Новые значения регистров sk = q t=0 sk,tbt r = q t=0 r ,tbt z = q t=0 z ,tbt q−1 t=0 r ,t+1bt+1 = q−1 t=0 r ,tbt+1 + + sk,tbt+1 − − z ,tsk,tbt+1
  242. 242. Новые значения регистров sk = q t=0 sk,tbt r = q t=0 r ,tbt z = q t=0 z ,tbt q−1 t=0 r ,t+1bt+1 = q−1 t=0 r ,tbt+1 + + sk,tbt+1 − − z ,tsk,tbt+1
  243. 243. Новые значения регистров sk = q t=0 sk,tbt r = q t=0 r ,tbt z = q t=0 z ,tbt q−1 t=0 r ,t+1bt+1 = q−1 t=0 r ,tbt+1 + + sk,tbt+1 − − z ,tsk,tbt+1 r − r ,0 = br + b + sk − b − (z & sk)
  244. 244. Новые значения регистров sk = q t=0 sk,tbt r = q t=0 r ,tbt z = q t=0 z ,tbt q−1 t=0 r ,t+1bt+1 = q−1 t=0 r ,tbt+1 + + sk,tbt+1 − − z ,tsk,tbt+1 r − r ,0 = br + b + sk − b − (z & sk) r1 − a = br1 + b + sk − b − (z & sk) r = br + b + sk − b − (z & sk), = 2, . . . , n
  245. 245. Новые состояния sk = q t=0 sk,tbt z = q t=0 z ,tbt sd,t+1 = = + d sk,t + − d z ,tsk,t + 0 d (1 − z ,t)sk,t
  246. 246. Новые состояния sk = q t=0 sk,tbt z = q t=0 z ,tbt sd,t+1 = = + d sk,t + − d z ,tsk,t + 0 d (1 − z ,t)sk,t
  247. 247. Новые состояния sk = q t=0 sk,tbt z = q t=0 z ,tbt sd,t+1 = = + d sk,t + − d z ,tsk,t + 0 d (1 − z ,t)sk,t
  248. 248. Новые состояния sk = q t=0 sk,tbt z = q t=0 z ,tbt sd,t+1 = = + d sk,t + − d z ,tsk,t + 0 d (1 − z ,t)sk,t
  249. 249. Новые состояния sk = q t=0 sk,tbt z = q t=0 z ,tbt sd,t+1bt+1 = = + d sk,tbt+1 + − d z ,tsk,tbt+1 + 0 d (1 − z ,t)sk,tbt+1
  250. 250. Новые состояния sk = q t=0 sk,tbt z = q t=0 z ,tbt q−1 t=0 sd,t+1bt+1 = = q−1 t=0 + d sk,tbt+1 + − d z ,tsk,tbt+1 + 0 d (1 − z ,t)sk,tbt+1
  251. 251. Новые состояния sk = q t=0 sk,tbt z = q t=0 z ,tbt q−1 t=0 sd,t+1bt+1 = = q−1 t=0 + d sk,tbt+1 + − d z ,tsk,tbt+1 + 0 d (1 − z ,t)sk,tbt+1
  252. 252. Новые состояния sk = q t=0 sk,tbt z = q t=0 z ,tbt q−1 t=0 sd,t+1bt+1 = = q−1 t=0 + d sk,tbt+1 + − d z ,tsk,tbt+1 + 0 d (1 − z ,t)sk,tbt+1 sd − sd,0 = b + d sk + b + d (z & sk) + b 0 d ((e − z ) & sk)
  253. 253. Новые состояния sk = q t=0 sk,tbt z = q t=0 z ,tbt q−1 t=0 sd,t+1bt+1 = = q−1 t=0 + d sk,tbt+1 + − d z ,tsk,tbt+1 + 0 d (1 − z ,t)sk,tbt+1 sd − sd,0 = b + d sk + b + d (z & sk) + b 0 d ((e − z ) & sk) e = q−1 t=0 1 · bt+1 = bq − 1 b − 1
  254. 254. Индикаторы нуля z ,t = 0, если r ,t = 0 1 в противном случае
  255. 255. Индикаторы нуля z ,t = 0, если r ,t = 0 1 в противном случае b = 2c+1 r ,t ≤ 2c − 1
  256. 256. Индикаторы нуля z ,t = 0, если r ,t = 0 1 в противном случае b = 2c+1 r ,t ≤ 2c − 1 = 01 . . . 1
  257. 257. Индикаторы нуля z ,t = 0, если r ,t = 0 1 в противном случае b = 2c+1 r ,t ≤ 2c − 1 = 01 . . . 1 2c − 1 + r ,t =
  258. 258. Индикаторы нуля z ,t = 0, если r ,t = 0 1 в противном случае b = 2c+1 r ,t ≤ 2c − 1 = 01 . . . 1 2c − 1 + r ,t = 01 . . . 1, если r ,t = 0 1 ∗ · · · ∗ в противном случае
  259. 259. Индикаторы нуля z ,t = 0, если r ,t = 0 1 в противном случае b = 2c+1 r ,t ≤ 2c − 1 = 01 . . . 1 2c − 1 + r ,t = 01 . . . 1, если r ,t = 0 1 ∗ · · · ∗ в противном случае 2c & (2c − 1 + r ,t) = 2c z ,t
  260. 260. Индикаторы нуля z ,t = 0, если r ,t = 0 1 в противном случае b = 2c+1 r ,t ≤ 2c − 1 = 01 . . . 1 2c − 1 + r ,t = 01 . . . 1, если r ,t = 0 1 ∗ · · · ∗ в противном случае 2c & (2c − 1 + r ,t) = 2c z ,t q t=0 (2c & (2c − 1 + r ,t))bt = q t=0 2c z ,tbt
  261. 261. Индикаторы нуля z ,t = 0, если r ,t = 0 1 в противном случае b = 2c+1 r ,t ≤ 2c − 1 = 01 . . . 1 2c − 1 + r ,t = 01 . . . 1, если r ,t = 0 1 ∗ · · · ∗ в противном случае 2c & (2c − 1 + r ,t) = 2c z ,t q t=0 (2c & (2c − 1 + r ,t))bt = q t=0 2c z ,tbt 2c f & ((2c − 1)f + r ) = 2c z f = q t=0 1 · bt+1 = bq+1 − 1 b − 1
  262. 262. Выбор c r ,t < b
  263. 263. Выбор c r ,t < b = 2c+1
  264. 264. Выбор c r ,t < b = 2c+1 r ,t ≤ 2c − 1 = 01 . . . 1 2c − 1 + r ,t = 01 . . . 1, если r ,t = 0 1 ∗ · · · ∗ в противном случае
  265. 265. Выбор c r ,t < b = 2c+1 r ,t ≤ 2c − 1 = 01 . . . 1 2c − 1 + r ,t = 01 . . . 1, если r ,t = 0 1 ∗ · · · ∗ в противном случае
  266. 266. Выбор c r ,t < b = 2c+1 r ,t ≤ 2c − 1 = 01 . . . 1 2c − 1 + r ,t = 01 . . . 1, если r ,t = 0 1 ∗ · · · ∗ в противном случае 2c & r ,t = 0
  267. 267. Выбор c r ,t < b = 2c+1 r ,t ≤ 2c − 1 = 01 . . . 1 2c − 1 + r ,t = 01 . . . 1, если r ,t = 0 1 ∗ · · · ∗ в противном случае 2c & r ,t = 0
  268. 268. Выбор c r ,t < b = 2c+1 r ,t ≤ 2c − 1 = 01 . . . 1 2c − 1 + r ,t = 01 . . . 1, если r ,t = 0 1 ∗ · · · ∗ в противном случае 2c & r ,t = 0
  269. 269. Выбор c r ,t < b = 2c+1 r ,t ≤ 2c − 1 = 01 . . . 1 2c − 1 + r ,t = 01 . . . 1, если r ,t = 0 1 ∗ · · · ∗ в противном случае q t=0 (2c & r ,t)bt = 0
  270. 270. Выбор c r ,t < b = 2c+1 r ,t ≤ 2c − 1 = 01 . . . 1 2c − 1 + r ,t = 01 . . . 1, если r ,t = 0 1 ∗ · · · ∗ в противном случае q t=0 (2c & r ,t)bt = 0 2c f & r = 0 f = q t=0 1 · bt+1 = bq+1 − 1 b − 1
  271. 271. Все условия
  272. 272. Все условия b = 2c+1
  273. 273. Все условия b = 2c+1 r − r ,0 = br + b + sk − b − (z & sk)
  274. 274. Все условия b = 2c+1 r − r ,0 = br + b + sk − b − (z & sk) sd − sd,0 = b + d sk + b + d (z & sk) + b 0 d ((e − z ) & sk)
  275. 275. Все условия b = 2c+1 r − r ,0 = br + b + sk − b − (z & sk) sd − sd,0 = b + d sk + b + d (z & sk) + b 0 d ((e − z ) & sk) e = bq − 1 b − 1
  276. 276. Все условия b = 2c+1 r − r ,0 = br + b + sk − b − (z & sk) sd − sd,0 = b + d sk + b + d (z & sk) + b 0 d ((e − z ) & sk) e = bq − 1 b − 1 2c f & ((2c − 1)f + r ) = 2c z f = bq+1 − 1 b − 1
  277. 277. Все условия b = 2c+1 r − r ,0 = br + b + sk − b − (z & sk) sd − sd,0 = b + d sk + b + d (z & sk) + b 0 d ((e − z ) & sk) e = bq − 1 b − 1 2c f & ((2c − 1)f + r ) = 2c z f = bq+1 − 1 b − 1 2c f & r = 0

×