It is fashionable nowadays to test patches of different zero mobility pieces. If there is a piece, however, that looks ugliest with zero safe mobility, that is the rook.
Below a game of SF against Houdini, where SF quite successfully shuts in a zero mobility rook.
[pgn][PlyCount "248"]
[MLNrOfMoves "124"]
[MLFlags "100100"]
[Event "SCCT"]
[Date "2014.03.16"]
[Round "2"]
[White "Stockfish 120314 x64 1c"]
[Black "Houdini 4 x64 1c"]
[Result "0-1"]
[EventDate "2014.??.??"]
[ECO "A30"]
[TimeControl "60+1"]
{Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz 2494 MHz W=28.2 plies; 1.201kN/s; Perfect2014t.ctg B=19.3 plies; 1.612kN/s; Perfect2014t.ctg}
1. Nf3 {[%eval 0,0] [%emt 0:00:00]} 1... Nf6 {[%eval 0,0] [%emt 0:00:00]} 2. c4
{[%eval 0,0] [%emt 0:00:00]} 2... c5 {[%eval 0,0] [%emt 0:00:00]} 3. g3
{[%eval 0,0] [%emt 0:00:00]} 3... b6 {[%eval 0,0] [%emt 0:00:00]} 4. Bg2
{[%eval 0,0] [%emt 0:00:00]} 4... Bb7 {[%eval 0,0] [%emt 0:00:00]} 5. O-O
{[%eval 0,0] [%emt 0:00:00]} 5... g6 {[%eval 0,0] [%emt 0:00:00]} 6. Nc3
{[%eval 0,0] [%emt 0:00:00]} 6... Bg7 {[%eval 0,0] [%emt 0:00:00]} 7. d4
{[%eval 0,0] [%emt 0:00:00]} 7... cxd4 {[%eval 0,0] [%emt 0:00:00]} 8. Qxd4
{[%eval 0,0] [%emt 0:00:00]} 8... d6
{Both last book move [%eval 0,0] [%emt 0:00:00]} 9. Be3
{[%eval 42,18] [%emt 0:00:05]} 9... Nbd7 {[%eval 21,17] [%emt 0:00:08]} 10. Rfd1
{(Rac1) [%eval 45,20] [%emt 0:00:00]} 10... O-O {[%eval 11,17] [%emt 0:00:03]}
11. Qh4 {[%eval 49,19] [%emt 0:00:02]} 11... Nc5
{(Re8) [%eval 14,16] [%emt 0:00:01]} 12. Rac1
{(Bh6) [%eval 53,17] [%emt 0:00:02]} 12... Qd7
{(Rc8) [%eval 12,16] [%emt 0:00:04]} 13. Bh6 {(b3) [%eval 53,19] [%emt 0:00:11]}
13... Nce4 {[%eval 19,17] [%emt 0:00:06]} 14. Bh3 {[%eval 40,21] [%emt 0:00:02]}
14... Qe8 {(Qd8) [%eval 17,18] [%emt 0:00:01]} 15. Nxe4
{[%eval 42,20] [%emt 0:00:02]} 15... Bxe4 {(Nxe4) [%eval 19,17] [%emt 0:00:01]}
16. Nd4 {(a3) [%eval 70,19] [%emt 0:00:04]} 16... Rd8
{(Bb7) [%eval 21,16] [%emt 0:00:02]} 17. Bg5
{(Bxg7) [%eval 71,19] [%emt 0:00:02]} 17... Ba8
{(Bb7) [%eval 13,17] [%emt 0:00:04]} 18. b3 {[%eval 87,20] [%emt 0:00:02]} 18...
Bb7 {[%eval 15,17] [%emt 0:00:04]} 19. f3 {(Rd2) [%eval 88,20] [%emt 0:00:00]}
19... a6 {(Bc8) [%eval 23,16] [%emt 0:00:03]} 20. e4
{(Kg2) [%eval 85,19] [%emt 0:00:02]} 20... Bc8 {[%eval 17,17] [%emt 0:00:01]}
21. Bg2 {[%eval 90,18] [%emt 0:00:08]} 21... Bb7 {[%eval 19,18] [%emt 0:00:00]}
22. Nc2 {(Ne2) [%eval 80,18] [%emt 0:00:06]} 22... Qc6
{[%eval 18,16] [%emt 0:00:01]} 23. a3 {(Bh3) [%eval 68,17] [%emt 0:00:01]} 23...
a5 {[%eval 8,17] [%emt 0:00:09]} 24. Be3 {[%eval 73,19] [%emt 0:00:01]} 24...
Rfe8 {[%eval 13,18] [%emt 0:00:02]} 25. Nd4 {[%eval 71,19] [%emt 0:00:00]} 25...
Qc8 {[%eval 27,18] [%emt 0:00:01]} 26. Bh3 {(Nb5) [%eval 55,20] [%emt 0:00:02]}
26... Nd7 {[%eval 21,17] [%emt 0:00:02]} 27. Nb5 {[%eval 38,20] [%emt 0:00:04]}
27... Bf6 {[%eval 26,18] [%emt 0:00:00]} 28. Bxd7
{(Qh6) [%eval 39,20] [%emt 0:00:03]} 28... Qxd7 {[%eval -4,16] [%emt 0:00:01]}
29. Bg5 {(Qh6) [%eval 39,21] [%emt 0:00:00]} 29... Bg7
{[%eval 2,16] [%emt 0:00:04]} 30. Nc3 {[%eval 38,19] [%emt 0:00:00]} 30... Rc8
{(Bxc3) [%eval -4,15] [%emt 0:00:03]} 31. a4
{(Be3) [%eval 44,17] [%emt 0:00:02]} 31... Be5
{(f5) [%eval 10,16] [%emt 0:00:07]} 32. Nd5 {(Be3) [%eval 75,17] [%emt 0:00:02]}
32... Bxd5 {[%eval 7,15] [%emt 0:00:01]} 33. Rxd5 {[%eval 80,18] [%emt 0:00:01]}
33... Bb2 {(Qc7) [%eval 14,17] [%emt 0:00:02]} 34. Rcd1
{[%eval 61,20] [%emt 0:00:02]} 34... Ba3 {[%eval 19,18] [%emt 0:00:00]} 35. Qh6
{(Be3) [%eval 58,21] [%emt 0:00:01]} 35... Bc5+ {[%eval 19,17] [%emt 0:00:02]}
36. Kg2 {(Be3) [%eval 50,21] [%emt 0:00:00]} 36... f6
{(Qe6) [%eval 19,17] [%emt 0:00:01]} 37. Be3 {[%eval 52,20] [%emt 0:00:03]}
37... Qe6 {[%eval 16,18] [%emt 0:00:00]} 38. g4
{(R5d3) [%eval 52,20] [%emt 0:00:01]} 38... Rb8
{(Qf7) [%eval 13,16] [%emt 0:00:02]} 39. Bf2 {[%eval 56,20] [%emt 0:00:04]}
39... Qf7 {[%eval 10,18] [%emt 0:00:00]} 40. h4 {[%eval 59,20] [%emt 0:00:02]}
40... Rf8 {(Rb7) [%eval 10,17] [%emt 0:00:00]} 41. Qd2
{[%eval 63,21] [%emt 0:00:02]} 41... Rb7 {(Rfc8) [%eval 10,16] [%emt 0:00:00]}
42. h5 {(Qh6) [%eval 65,20] [%emt 0:00:01]} 42... g5
{[%eval 11,16] [%emt 0:00:01]} 43. Bd4 {(Rd3) [%eval 65,23] [%emt 0:00:00]}
43... h6 {(Rc8) [%eval 7,17] [%emt 0:00:02]} 44. Rf5
{(Bf2) [%eval 64,20] [%emt 0:00:02]} 44... Rc8
{(Rbb8) [%eval 8,17] [%emt 0:00:01]} 45. Bc3
{(Qd3) [%eval 64,20] [%emt 0:00:01]} 45... e5
{(Rd7) [%eval 10,18] [%emt 0:00:02]} 46. Qd3
{(Qd5) [%eval 77,27] [%emt 0:00:02]} 46... Kg7 {[%eval 10,18] [%emt 0:00:01]}
47. Bd2 {(Be1) [%eval 77,29] [%emt 0:00:00]} 47... Qe6
{(Qe7) [%eval 10,19] [%emt 0:00:01]} 48. Bc1
{(Be3) [%eval 77,26] [%emt 0:00:04]} 48... Rf8
{(Rd8) [%eval 10,20] [%emt 0:00:01]} 49. Be3 {[%eval 77,27] [%emt 0:00:01]}
49... Rd7 {(Rd8) [%eval 10,20] [%emt 0:00:00]} 50. Qe2
{(Qd2) [%eval 77,26] [%emt 0:00:02]} 50... Rc8
{(Rb7) [%eval 10,21] [%emt 0:00:01]} 51. Qd2
{(Qd3) [%eval 77,27] [%emt 0:00:02]} 51... Rcd8
{(Rb8) [%eval 10,21] [%emt 0:00:01]} 52. Qc1
{(Qd3) [%eval 77,28] [%emt 0:00:02]} 52... Qe7
{(Kg8) [%eval 10,19] [%emt 0:00:01]} 53. Qc3
{(Qd2) [%eval 77,28] [%emt 0:00:01]} 53... Qe6
{(Rc7) [%eval 10,21] [%emt 0:00:01]} 54. Rd5
{(Qc1) [%eval 77,29] [%emt 0:00:02]} 54... Rc8
{(Qe7) [%eval 10,19] [%emt 0:00:01]} 55. Qd2
{(Rd1) [%eval 77,28] [%emt 0:00:01]} 55... Rb8
{(Rcd8) [%eval 10,19] [%emt 0:00:01]} 56. Bg1
{(Qc3) [%eval 77,28] [%emt 0:00:02]} 56... Qe7
{(Rbd8) [%eval 10,19] [%emt 0:00:01]} 57. Bf2
{(Qc3) [%eval 77,29] [%emt 0:00:01]} 57... Kh7
{(Rbd8) [%eval 10,19] [%emt 0:00:01]} 58. Qc1
{(Be3) [%eval 77,27] [%emt 0:00:01]} 58... Rbd8
{(Kg7) [%eval 10,19] [%emt 0:00:01]} 59. Rd1 {[%eval 77,29] [%emt 0:00:01]}
59... Qe6 {(Kg8) [%eval 10,20] [%emt 0:00:00]} 60. Qc3
{(Qd2) [%eval 77,28] [%emt 0:00:01]} 60... Qf7
{(Qe7) [%eval 10,20] [%emt 0:00:01]} 61. Be3
{(Qd2) [%eval 77,27] [%emt 0:00:01]} 61... Kg8
{(Qe7) [%eval 10,20] [%emt 0:00:01]} 62. Qd2
{(Qd3) [%eval 77,27] [%emt 0:00:01]} 62... Kg7
{(Qe7) [%eval 10,21] [%emt 0:00:02]} 63. Qe2
{(Qd3) [%eval 77,28] [%emt 0:00:01]} 63... Qe7 {[%eval 10,21] [%emt 0:00:01]}
64. Rd2 {(Qd3) [%eval 77,29] [%emt 0:00:00]} 64... Qe6
{(Rc7) [%eval 10,21] [%emt 0:00:01]} 65. Rd5
{(Rd1) [%eval 77,30] [%emt 0:00:01]} 65... Kh7
{(Qf7) [%eval 10,21] [%emt 0:00:02]} 66. Qe1
{(Rd1) [%eval 77,31] [%emt 0:00:01]} 66... Qe7
{(Kg7) [%eval 10,20] [%emt 0:00:01]} 67. Bf2
{(Qe2) [%eval 77,29] [%emt 0:00:01]} 67... Kh8
{(Kg7) [%eval 10,20] [%emt 0:00:01]} 68. Rd1 {[%eval 77,29] [%emt 0:00:01]}
68... Kg7 {[%eval 10,21] [%emt 0:00:00]} 69. Be3
{(Qd2) [%eval 77,30] [%emt 0:00:01]} 69... Rc7 {[%eval 10,20] [%emt 0:00:01]}
70. Rd5 {(Qd2) [%eval 77,31] [%emt 0:00:00]} 70... Rb7
{(Rcc8) [%eval 10,19] [%emt 0:00:01]} 71. Bf2
{(Qe2) [%eval 77,29] [%emt 0:00:01]} 71... Rbb8
{(Rc7) [%eval 10,20] [%emt 0:00:01]} 72. Qc1
{(Rd1) [%eval 77,30] [%emt 0:00:01]} 72... Qa7
{(Rbc8) [%eval 10,18] [%emt 0:00:01]} 73. Qd2
{(Qc2) [%eval 77,30] [%emt 0:00:01]} 73... Qd7
{(Qe7) [%eval 10,19] [%emt 0:00:01]} 74. Bg3
{(Qe2) [%eval 77,28] [%emt 0:00:01]} 74... Qe7 {[%eval 7,18] [%emt 0:00:01]} 75.
Qd1 {(Bf2) [%eval 77,31] [%emt 0:00:00]} 75... Re8
{(Rbc8) [%eval 6,19] [%emt 0:00:01]} 76. Qc1
{(Bf2) [%eval 77,31] [%emt 0:00:01]} 76... Rbd8
{(Red8) [%eval 7,18] [%emt 0:00:01]} 77. Qd2
{(Rd1) [%eval 77,30] [%emt 0:00:01]} 77... Rd7
{(Rc8) [%eval 5,19] [%emt 0:00:02]} 78. Bf2 {[%eval 77,32] [%emt 0:00:01]} 78...
Red8 {[%eval 4,19] [%emt 0:00:00]} 79. Be3 {(Qe2) [%eval 77,32] [%emt 0:00:01]}
79... Qf7 {(Rb7) [%eval 3,19] [%emt 0:00:02]} 80. Qc1
{(Qe2) [%eval 77,29] [%emt 0:00:02]} 80... Qf8
{(Qe7) [%eval 3,18] [%emt 0:00:02]} 81. Bd2 {(Rd1) [%eval 77,29] [%emt 0:00:01]}
81... Qe7 {[%eval 4,18] [%emt 0:00:01]} 82. Qc3
{(Be3) [%eval 77,30] [%emt 0:00:01]} 82... Rb7
{(Rc8) [%eval 2,18] [%emt 0:00:02]} 83. Be3 {(Be1) [%eval 77,31] [%emt 0:00:01]}
83... Kh7 {(Rbb8) [%eval 3,19] [%emt 0:00:02]} 84. Qd3
{(Rd1) [%eval 77,28] [%emt 0:00:01]} 84... Kg8 {[%eval 2,18] [%emt 0:00:02]} 85.
Qd2 {(Qe2) [%eval 77,33] [%emt 0:00:00]} 85... Rbb8
{(Kg7) [%eval 2,18] [%emt 0:00:01]} 86. Qc1 {(Qe2) [%eval 77,29] [%emt 0:00:01]}
86... Kh8 {(Rbc8) [%eval -1,18] [%emt 0:00:02]} 87. Qe1
{(Rd1) [%eval 77,29] [%emt 0:00:01]} 87... Kg7
{(Rbc8) [%eval 5,17] [%emt 0:00:02]} 88. Qc1
{(Rd1) [%eval 77,29] [%emt 0:00:01]} 88... Qd7
{(Rbc8) [%eval 6,17] [%emt 0:00:04]} 89. Qc3
{(Rd1) [%eval 35534,23] [%emt 0:00:06]} 89... Bb4
{(Ra8) [%eval 10,18] [%emt 0:00:03]} 90. Qc2 {(Qc1) [%eval 0,22] [%emt 0:00:02]}
90... Bc5 {[%eval 21,15] [%emt 0:00:03]} 91. Bxc5
{(Bf2) [%eval 0,30] [%emt 0:00:00]} 91... bxc5 {[%eval -9,9] [%emt 0:00:00]} 92.
Rd1 {(Kg3) [%eval 0,24] [%emt 0:00:01]} 92... Rb4
{[%eval -46,16] [%emt 0:00:01]} 93. Qd3 {[%eval 0,28] [%emt 0:00:00]} 93... Qb7
{(Qe7) [%eval -97,17] [%emt 0:00:01]} 94. Rb1 {[%eval -8,28] [%emt 0:00:01]}
94... Rd7 {(Qe7) [%eval -70,17] [%emt 0:00:01]} 95. Kg3
{(Kh3) [%eval -33,22] [%emt 0:00:03]} 95... Qb8 {[%eval -114,17] [%emt 0:00:01]}
96. Qd1 {(Qd5) [%eval 35534,22] [%emt 0:00:02]} 96... Rdb7
{[%eval -129,16] [%emt 0:00:01]} 97. Qd2 {(Qe1) [%eval -160,21] [%emt 0:00:01]}
97... Rxb3 {(Rxc4) [%eval -187,15] [%emt 0:00:01]} 98. Rxb3
{(Rd1) [%eval 35534,20] [%emt 0:00:02]} 98... Rxb3
{[%eval -223,15] [%emt 0:00:00]} 99. Kh3 {(Qxa5) [%eval -319,22] [%emt 0:00:01]}
99... Kf7 {(Rb1) [%eval -244,18] [%emt 0:00:01]} 100. Qxa5
{[%eval 35534,30] [%emt 0:00:02]} 100... Ke7
{(Rb1) [%eval -308,19] [%emt 0:00:00]} 101. Qa6
{(Kg3) [%eval -366,26] [%emt 0:00:01]} 101... Rb6
{[%eval -307,17] [%emt 0:00:00]} 102. Qa5 {[%eval -432,26] [%emt 0:00:01]}
102... Rb1 {[%eval -353,20] [%emt 0:00:00]} 103. Kg3
{[%eval -498,23] [%emt 0:00:01]} 103... Qb7 {[%eval -401,18] [%emt 0:00:00]}
104. Kh3 {[%eval -515,23] [%emt 0:00:00]} 104... Rb4
{[%eval -423,17] [%emt 0:00:00]} 105. Kg3 {[%eval -581,23] [%emt 0:00:02]}
105... Rxc4 {[%eval -584,15] [%emt 0:00:00]} 106. Qb5
{[%eval 35534,23] [%emt 0:00:01]} 106... Qxb5 {[%eval -1151,16] [%emt 0:00:00]}
107. axb5 {[%eval -818,30] [%emt 0:00:01]} 107... Rc2
{[%eval -1120,19] [%emt 0:00:01]} 108. Kh3 {(f4) [%eval -988,25] [%emt 0:00:00]}
108... Rb2 {[%eval -1103,14] [%emt 0:00:00]} 109. Kg3
{[%eval -1098,27] [%emt 0:00:01]} 109... Rxb5 {[%eval -1348,18] [%emt 0:00:00]}
110. Kf2 {(Kh3) [%eval -1166,28] [%emt 0:00:02]} 110... Rb4
{(Rb2+) [%eval -2027,17] [%emt 0:00:01]} 111. Ke2
{(f4) [%eval -1193,28] [%emt 0:00:01]} 111... Rd4
{(c4) [%eval -2300,18] [%emt 0:00:00]} 112. f4
{(Kf2) [%eval -2097,20] [%emt 0:00:01]} 112... gxf4
{(Rxe4+) [%eval -32750,19] [%emt 0:00:00]} 113. Kf3
{(g5) [%eval 35534,24] [%emt 0:00:01]} 113... c4
{[%eval -32752,20] [%emt 0:00:00]} 114. g5 {[%eval -13793,25] [%emt 0:00:01]}
114... fxg5 {[%eval -32753,20] [%emt 0:00:00]} 115. Kg4
{[%eval -32752,19] [%emt 0:00:01]} 115... c3 {[%eval -32757,22] [%emt 0:00:00]}
116. Rxg5 {[%eval -32753,19] [%emt 0:00:01]} 116... hxg5
{[%eval -32758,23] [%emt 0:00:00]} 117. h6 {[%eval -32759,20] [%emt 0:00:01]}
117... Rd1 {[%eval -32759,24] [%emt 0:00:01]} 118. h7
{[%eval -32760,24] [%emt 0:00:00]} 118... Rh1 {[%eval -32760,25] [%emt 0:00:00]}
119. h8Q {(Kxg5) [%eval -32761,36] [%emt 0:00:01]} 119... Rxh8
{[%eval -32761,21] [%emt 0:00:00]} 120. Kf3 {[%eval -32762,58] [%emt 0:00:01]}
120... c2 {[%eval -32762,44] [%emt 0:00:00]} 121. Ke2
{(Kg4) [%eval -32763,120] [%emt 0:00:00]} 121... c1Q
{[%eval -32763,17] [%emt 0:00:00]} 122. Kf3 {[%eval -32764,120] [%emt 0:00:00]}
122... Qd1+ {[%eval -32764,41] [%emt 0:00:00]} 123. Kg2
{[%eval -32765,120] [%emt 0:00:00]} 123... Qh1+
{[%eval -32765,99] [%emt 0:00:00]} 124. Kf2 {[%eval -32766,120] [%emt 0:00:00]}
124... Rh2# {[%eval -32766,99] [%emt 0:00:00]} 0-1
[/pgn]
[d]2r3k1/1r2pq2/1p1p1p1p/p1b2RpP/P1PBP1P1/1P3P2/3Q2K1/3R4 w - - 0 45
Here SF plays 45.Bc3 with 70cps advantage.
[d]2r3k1/1r3q2/1p1p1p1p/p1b1pRpP/P1P1P1P1/1PB2P2/3Q2K1/3R4 w - - 0 46
And Houdini replies 45.e7-e5, shuttinh in the white rook on f5 for the rest of the meaningful game with zero safe mobility. Look at that rook - it is both ugly and funny. There is nothing uglier than a zero mobility rook in the center.
[d]1r1r4/3q2k1/1p1p1p1p/p1bRpRpP/P1P1P1P1/1P2BP2/2Q3K1/8 w - - 0 91
The game is still drawn because of the blocked position, but here SF plays 91.Bc5, exchanging the bishops, after which white is lost.
[d]1q6/5k2/3p1p1p/p1p1pRpP/P1P1P1P1/1r3P1K/3Q4/8 w - - 0 100
Mate will follow shortly, it is Q+R vs Q.
In light of the above, and because of being fashionable, it seems reasonable to penalise a zero mobility rook. My penalty would be just a bit lower than that for queen on an edge file. However, in sharp distinction to the minor pieces and the queen, that are penalised when placed on the edge of the board, the rook is most vulnerable in the center.
That is why, if I were to penalise a zero mobility rook, I would do so
only for the area comprised within the a3-h3-h6-a6 squares, i.e. for all files from rank 3 to rank 6. Zero mobility rooks on ranks 1 and 2 are often a very natural phenomenon, while rooks on the 7th and 8th, when available there, are tactically inclined and so no good for generalisation.
But even better suggestion would be to do
a single zero mobility patch for all pieces, specifying penalties for the specific pieces with specific application areas. As zero mobility pieces on their own are a relatively rare phenomenon, a patch for all pieces significantly raises the chances of success.
What do you think of the f5 rook?
Output, comments very much appreciated. (hey, write a single reply, otherwise my thread will be uglier than a zero mobility rook)