Я посмотрел правила игры здесь и нашёл следующее:
Функциональный морской бой в банаховом пространстве может выглядеть так. Банаховым пространством будет L^2([0,10]x[0,10]). Корабль = неотрицательная непрерывная функция ship(x,y), заданная на квадрате (0<=x<=10, 0<=y<=10). Размер корабля = норма функции, обозначаемая ||ship||. (Чтобы вычислить норму функции, нужно взять двойной интеграл от её квадрата в пределах от 0 до 10, и вычислить квадратный корень от результата.) Таким образом, перед боем участник выбирает 10 кораблей нужных размеров (от 1 до 4). Они обозначаются ship0...ship9. Однако, нужно как-то интерпретировать условие
Вспомним, что носителем функции называется множество точек, где она отлична от нуля [грубо говоря]. Отсюда условие: носители кораблей должны находиться друг от друга на расстоянии не менее 1. Этим завершаются правила расстановки.
Выстрел = неотрицательная непрерывная функция shot(x,y), заданная на том же квадрате и подчинённая условию ||shot||=1. После того, как противник выбрал свой выстрел, возникает вопрос: как понимать попадание/непопадание. Здесь на сцену входит неравенство Коши-Буняковского (которое западные буржуи называют неравенством Коши-Шварца). Оно утверждает, что (1) интеграл от произведения двух функций не превосходит произведения их норм; (2) это неравенство обращается в равенство лишь тогда, когда функции пропорциональны (отличаются лишь постоянным множителем). Итак, интеграл от произведения ship*shot никогда не превосходит величины ||ship||, и равен ей лишь в случае идеального попадания по кораблю. Естественно, вероятность идеального попадания равна нулю. Поэтому следует договориться, что выстрел уничтожает корабль, если он достаточно близок к идеальному попаданию - например, если интеграл от ship*shot превосходит 80% величины ||ship||.
Игра проходит так: игроки в тайне друг от друга выбирают десять функций-кораблей, выполняя указанные условия. Затем 1-й игрок выбирает функцию-выстрел; 2-й вычисляет интегралы от ship0*shot ... ship9*shot и сообщает их 1-му. Если, к примеру, интеграл от ship4*shot оказался больше, чем 0.8*||ship4||, то корабль №4 тонет. Игроки стреляют поочерёдно, и побеждает тот, кто первым потопит все корабли противника.