То есть так, например. В каждом поле доски справа сказано, какое поле левой доски перешло в него.a5 b5 c5 d5 e5 b1 d2 a3 c4 e5
a4 b4 c4 d4 e4 d5 a1 c2 e3 b4
a3 b3 c3 d3 e3 → a4 c5 e1 b2 d3
a2 b2 c2 d2 e2 c3 e4 b5 d1 a2
a1 b1 c1 d1 e1 e2 b3 d4 a5 c1
Например, на левой доске конь с c3 может пойти на поля b1, a2, a4, b5, d5, e4, e2 и d1, а на правой доске каждое поле с одной из этих меток находится на одной ортогонали (горизонтали или вертикали) с полем, помеченным c3, то есть видно стоящей там ладье. При этом правая доска не обязана быть тороидальной. Даже, как оговаривает
xmyruj, желательно, чтобы не была, потому что на торе, если не оговорено обратное, ладья может совершить нулевой ход, обойдя доску по горизонтали или вертикали и вернувшись туда, откуда пошла.
Это довольно существенная оговорка. Задача в первоначальном виде была сложной по двум причинам: (1) гиппогонали (так я называю линии, по которым ходит конь) менее наглядны, чем диагонали и ортогонали; (2) движение по тору труднее представить, чем по нетору.
Преобразование перевело гиппогонали в ортогонали (а также ортогонали в диагонали, а диагонали — в гиппогонали), поэтому на новой доске ходит не конь, а некоторая ортогональная фигура. Но это вообще-то не ладья, а недальнобойная фигура, ходящая по ортогонали либо на соседнее поле (как вазир), либо через одно (как даббаба). Все бы с ней хорошо (не считая отсутствия удобного названия), но доска-то пока еще тороидальная, и ход a1—d1 — это ход на две клетки влево через край (которого у тора на самом деле нет), a1—e1 — на одну клетку влево, а нам сподручнее думать, что все это — движение вправо (на три или четыре клетки). Вот и было сделано второе упрощение: фигура стала дальнобойной, то есть ладьей, разучившись, однако, ходить через край. Вернее, это не фигура разучилась, а доска развернулась и перестала быть тором.
Однако все это возможно только на доске 5×5, потому что только на ней дальнобойной ладье видно ровно столько же полей, сколько недальнобойному коню.
no subject
Date: 13 Nov 2010 05:53 (UTC)Естественнее всего, конечно, задавать фигуры векторами (на сколько шагов фигура ходит в одном ортогональном направлении и в другом):
Конь - (2;1) (а также (1;2), и еще любая координата хода может быть отрицательной. Но для краткости буду обозначать только ходы, где первая коодината не меньше второй, и обе положительные)
Ладья - (х;0)
Слон - (х;х)
Ходы экзотических фигур надо собрать по твоим комментариям, ты в них легче ориентируешься.
Тогда, например, равенство из твоего прошлого комментария: EEN + EEN + NNW + NNW = EES превратится в арифметическое равенство (по модулю 7):
2*(-2;1) + 2*(1;2) = (-2;6) = (-2;-1)
по-моему, понятное даже тем, кто цифры боится больше, чем буквы.
no subject
Date: 13 Nov 2010 08:22 (UTC)(1;1) фирзан
(2;1) конь
(2;2) альфиль
(3;2) зебра
(x;½x) всадник
(x;x) слон
На торе 3×3 конь вырождается в фирзана, потому что (2;1) ≡ (−1;1) (mod 3). На торе 4×4 остается конем, но ходы его попарно эквивалентны, потому что (2;1) ≡ (−2;1) (mod 4), то есть их всего четыре, а не восемь. После преобразования обоих этих торов коня заменяет вазир.