Отношение крупных шахматистов к попыткам инженеров и математиков рассматривать их любимую игру под «мелкоскопом» теории и практики автоматизации творческой деятельности по сию пору далеко не однозначно. И это несмотря на всеобщее увлечение шахматными программами и БД как незаменимым средством, используемым подавляющим большинством гроссмейстеров при подготовке к соревнованиям и в аналитической работе.
Оставим в покое прах Кемпельна с его автоматом, игравшим с императором Наполеоном Бонапартом, и вспомним М. М. Ботвинника, который с вершин своего шахматно-инженерного гения руководил работами молодых программистов, реализовавших его задумки. Но это было время скорее взаимного усвоения основополагающих идей математики, философии (точнее, логики) и, разумеется, кибернетики, предлагавшей системные представления для игры и способы их программной реализации для постоянно совершенствующихся компьютеров, нежели убедительных решений. В череде исторических имен Э. Цермело, Э. Ласкера, К. Шеннона, М. М. Ботвинника непременно следует упомянуть и гроссмейстера Д. И. Бронштейна. Цермело доказал теорему о конечности шахматной игры. Ласкер предложил модели анализа партий и, в частности, простейшие функции для оценки позиций. Шеннон разработал системное представление о шахматной игре, которое было близко уже «вставшим на твердые ноги» программистам. Благодаря критике недостатков использовавшихся тогда моделей игры занятия М. М. Ботвинника компьютерными шахматами серьезно стимулировали создание программ, привлекших внимание и гроссмейстерской элиты. Тогда же Д. И. Бронштейн стал одним из выдающихся тестеров шахматных программ.
В настоящей статье рассматриваются некоторые мнения маэстро по поводу уровня шахматных программ, изложенные в его и С. Б. Воронкова книге «Давид против Голиафа».
Характеризуя понимание стиля игры, в качестве серьезного недостатка шахматных программ Бронштейн отмечает слабую комбинационную игру. С этим он столкнулся как тестер на первых порах, предлагая программам решать задачи с количеством ходов, превышающим длину анализируемых ими цепочек ходов. Но сегодняшние программы по длинам анализируемых цепочек практически превзошли большинство шахматистов, и в борьбе человека с машиной важную роль теперь отводят стратегическим замыслам. Так, никем уже не подвергается сомнению огромное значение для компьютерных шахмат не только дебютных библиотек, но и БД, содержащих целиком партии, сыгранные практиками. Их использование приблизило уровень современных игровых программ к гроссмейстерскому. Д. И. Бронштейн с удовольствием вспоминает о том, что он подарил свои книги разработчикам программы Deep Thought и предложил включить содержащиеся в них партии в ее базу. Теперь он полагает, что это был его вклад в будущую победу Deep Blue над Гарри Каспаровым.
Две части книги Д. И. Бронштейна и С. Б. Воронкова отражают, на наш взгляд, уникальный путь развития тестирования шахматных программ. Начальный этап составили «ловушки для интеллекта», т.е. проверки того, насколько шахматные программы владеют «правилами поведения» при разыгрывании партии. Это касалось в первую очередь их умения действовать на разных ее стадиях. Следующий этап является «школой игры с компьютером». Он включает важную проверку отношения программы к тому, что шахматист «мыслит не вариантами, а идеями» (уточним от себя — не только вариантами). Здесь колоссальную роль играет персональный игровой и аналитический опыт гроссмейстера-тестера.
В качестве примера приведем партию с Эгон-турнира, сыгранную 5 мая 1993 г.
Бронштейн — Socrates X (программа)
1. е4 е5 2. Сс4 Кf6 3. d3 c6 4. Кf3 в5 5. Сb3 Сb4+ 6. с3 Сd6 7. Сс2 0-0 8. Сg5 h6 9. Сh4 С g4 10. Кbd2 Кbd7 11. h3!? Сh5 12. g4 Сg6 13. Сg3 Фb6?! 14. Лb1 Фa6 15. 0-0 Ф:a2 16. Кh4 Сh7 17. ed! Ф:d5 18. Кс4 Лfe8 19. Ке3 Фе6 20. Кhf5 Лad8 21. Лe1! Кd5 22. К:d5! С:f5 23. gf Ф:d5 24. Сb3! Фc5 25. Фh5! Лf8 26. Сh4! Сe7 27. d4 ! Фd6 28. de К:e5 29. С:е7 Ф:е7 30. f6! Ф:f6 31.Ф e5 Фg6+ 32. Фg3 Ф:g3+ 33. fg Лfe8 34. Л:е8+ Л:е8 35. Крf2 Лe5 36. Лd1 Крf8 37. Сс4! Кре7 38. Крf3 a5! 39. Лd4 b5! 40. Са2 f5! 41. Сb1 с5! 42. Лd1 c5! 43. h4 g6! 44. Сс2 g5! 45. Лd2 Лc5 46. Л h2! Лd5 47. Кре3 Кре6 48. hg hg 49. Лh6+ Кр f7 50. Ла6! а4 51. Лh6 Крg7 52. Лh1! Крf6 53. Лf1 Лe5+ 54. Крd2 Кре6 55. Ле1! Л:е1 56. Кр:е1 Кре5 57. Кре2 Кре6 58. Крf3 Крf6 59. Кре3 Кре5 60. Сd1 Крe6 61. Крd4 Крd6 62. Сh5 Крc6 63. Сd1 Крd6 64. Сf3 f4 65.g4. Черные сдались.