
Это так называемая «задача коммивояжёра». У нас есть несколько подходов к этой задаче дискретной оптимизации. Казалось бы, всё сделано, есть эвристические алгоритмы минимизации дизъюнктивных нормальных форм. Однако известные алгоритмы реально работают только для маленьких размерностей. И я ещё не всё вспомнил, но по этим темам у меня работали в разное время 3-4 дипломника-аспиранта. Вот минимизация конечных автоматов – по этому поводу у меня постоянно защищаются дипломные работы, сейчас две диссертации на выходе. А здесь применяются те же самые эвристические алгоритмы, что и в программировании игр.
Так что, основная, конечно, тема – это программирование игр, и я вернусь к программированию нард. В Интернете можно найти разные программы, играющие в бэкгеммон. И, в частности, в них во всех можно устанавливать уровень, лучше сказать не «уровень игры», а «вариант игры», который совпадает с русской версией, с более упрощённой, это короткие нарды. Но вот, к сожалению, у нас пока программы играют только в нашу отечественную версию и, причём, после публикации в журнале «Программирование» двухлетней давности, больших успехов с этого времени практически не случилось. Мы не поучаствовали в чемпионате мира по программированию летом 2002 года (хотя собираемся поучаствовать в следующем чемпионате 2004 года). Не поучаствовали по той причине, что просто не хватает времени – с совершенно теми же самыми идеями – довести программу до уровня бэкгеммон. То есть, до уровня международного стандарта, несколько более усложнённого. Но я, здесь сидя, обещаю, что в 2004 году я это сделаю. То есть, мы всех должны победить.
Почему у меня такая уверенность? Потому что всё-таки наш русский, российский (может быть, не очень хорошо говорить «русский», потому что в разных кавказских республиках бывшего Советского Союза короткие нарды распространены больше, чем в России, поэтому лучше сказать «советский» вариант игры), потому что советский вариант игры – это более простой вариант.
