Нет, нам нужно всего лишь уметь вычислять очередной ход.
В общем случае знание о предпочтениях противника в отношении будущих ходов тоже важно. Но в данной задаче, как я понимаю, мы исходим из того, что знанием стратегии противника не располагаем, так что да.
А существует ли вообще хоть какое-то множество двоичных последовательностей, принадлежность к которому разрешима (в том смысле, что есть
![$f$ $f$](https://dxdy-02.korotkov.co.uk/f/1/9/0/190083ef7a1625fbc75f243cffb9c96d82.png)
, который по программе
![$g$ $g$](https://dxdy-04.korotkov.co.uk/f/3/c/f/3cf4fbd05970446973fc3d9fa3fe3c4182.png)
, задающей двоичную последовательность, говорит, задает ли эта программа элемент множества или нет), не являющееся объединением конечномерных цилиндров (множеств вида "сначала вот такой префикс, потом что угодно")?
Насколько я понимаю, нет. Даже если множество состоит из одного нуля, принадлежность произвольного вычислимого числа к этому множеству неразрешима.
Пусть у нас есть функция
![$A$ $A$](https://dxdy-02.korotkov.co.uk/f/5/3/d/53d147e7f3fe6e47ee05b88b166bd3f682.png)
, которая по алгоритму, выдающему двоичную последовательность, говорит, кто выиграл. Стратегия первого игрока - это функция из битовых строк четной длины в биты, стратегия второго игрока - функия из нечетных строк тоже в биты. Пусть
![$\langle f, g\rangle$ $\langle f, g\rangle$](https://dxdy-03.korotkov.co.uk/f/6/b/a/6bacd51383ae369332f858b9634a1f7a82.png)
- алгоритм, выдающий битовую строку, получающуюся игрой этих двух стратегий друг против друга. Тогда у первого игрока есть выигрышная стратегия, если
![$\exists f \forall g: A(\langle f, g\rangle)$ $\exists f \forall g: A(\langle f, g\rangle)$](https://dxdy-02.korotkov.co.uk/f/5/6/6/5667dbe50f3273f652bc95d70709eb7982.png)
.
Как неконстуктивная постановка задачи годится. Но вообще говоря
![$\langle f, g\rangle$ $\langle f, g\rangle$](https://dxdy-03.korotkov.co.uk/f/6/b/a/6bacd51383ae369332f858b9634a1f7a82.png)
именно как алгоритм не существует. Возьмём в качестве примера стратегии
![$f$ $f$](https://dxdy-02.korotkov.co.uk/f/1/9/0/190083ef7a1625fbc75f243cffb9c96d82.png)
такую функцию: Пронумеруем все машины Тьюринга, стартующие с нулевой ленты. Пусть
![$f$ $f$](https://dxdy-02.korotkov.co.uk/f/1/9/0/190083ef7a1625fbc75f243cffb9c96d82.png)
выдает единицу, если машина Тьюринга с номером, соответствующим номеру шага, останавливается и нуль в ином случае. Алгоритма, вычисляющего всю полученную в результате битовую строку, заведомо не существует.