Before the tournament, I had been looking forward to meeting Jeff Rollason again. Because of multiple business commitments in the past couple of years, he hadn't been able to participate since the 12th CSA tournament. This year he was still busy with many other game-related projects for his company AI Factory, but he had found some time to do some shogi programming, enough to compete. Of course, Shotest had reached third place twice in previous tournaments, so a little bit more could be expected from the program, even though a place in the finals would be a tall order.
Unfortunately, a clash of commitments meant that Jeff was unable to attend in person, but with the support of the board of the CSA, was permitted to participate anyway, with myself operating the program.
The First Preliminary Stage
At the start of the first preliminary round, it became clear that this round was going to be much easier than in earlier years. In the end only 39 teams participated, which was the lowest number in 8 years. Furthermore, two seeded teams had to cancel at the final moment, so there were two extra seeded places to play for. In the first preliminary round, 10 of the 22 programs would qualify.
Operating both SPEAR and Shotest.
I expected Shotest to breeze through to the second day, but that is not how it happened. In the first round it turned out that the hardware settings of the serial cable used for automatically playing the programs was different on the machine I brought than on the machine I tested Shotest on. I was unable to fix the problem (only after the tournament I found out to switch hardware settings deep in the computer system settings) and Shotest lost the first round game against Yano on time. For the second round the problem was not fixed, and as a compromise the game against HIT was played without the serial cable, but by hand. Whether I made a mistake in the input I still don't know, but Shotest played an illegal move and lost the game. (It was only the late middle game, but HIT had an overwhelming advantage when the game ended because of the illegal move.)
Shotest was now in big trouble, but help came from Masumoto-san, the programmer of OKI. He knew a way to hack into the Shotest source code and change the hardware settings so that they were compatible with my computer. This worked so that from round three things were back to normal.
Shotest won four games in a row to get back in position, but in the final round the game against K-Shogi was a do-or-die game. Winning it would mean qualification and losing it would mean that Shotest was out of the tournament. K-Shogi is a good program that had already qualified for the second day and Shotest looked to be in trouble for a long time. However, in the end Shotest won the game, which meant that I had at least something positive to report to Jeff.
Among the other qualifying programs there were no real surprises. Usapyon and GPS Shogi are strong programs that were expected to make waves on the second day as well. I felt a bit sad that Oki did not qualify for the second day, because Masumoto had been such a great help. What made it worse, if he would not have helped, Oki would probably have qualified, because the program finished 11th, just short of qualification. Sorry, Masumoto-san!
Results of the first qualification round
No. |
Program Name |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
Pt |
SOS |
SB |
MD |
*1 |
Usapyon |
12+ |
9+ |
16+ |
7+ |
3+ |
6+ |
2- |
6.0 |
30.0 |
24.0 |
16.0 |
*2 |
GPS Shogi |
18+ |
13+ |
6+ |
3- |
15+ |
4+ |
1+ |
6.0 |
28.0 |
23.0 |
15.0 |
*3 |
K-Shogi |
13+ |
4+ |
18+ |
2+ |
1- |
8+ |
5- |
5.0 |
31.0 |
20.0 |
12.0 |
*4 |
Yamada Shogi |
22+ |
3- |
10+ |
18+ |
7+ |
2- |
6+ |
5.0 |
25.0 |
14.0 |
10.0 |
*5 |
Shotest v8.0 |
7- |
19- |
21+ |
13+ |
8+ |
9+ |
3+ |
5.0 |
23.0 |
17.0 |
11.0 |
*6 |
Mattari-yuchan |
17+ |
10+ |
2- |
16+ |
9+ |
1- |
4- |
4.0 |
31.0 |
14.0 |
7.0 |
*7 |
Yano Shogi 8 |
5+ |
14+ |
11- |
1- |
4- |
15+ |
10+ |
4.0 |
30.0 |
15.0 |
7.0 |
*8 |
Wildcat |
16- |
11+ |
12+ |
15+ |
5- |
3- |
17+ |
4.0 |
27.0 |
14.0 |
7.0 |
*9 |
Auau Shogi |
20+ |
1- |
14+ |
11+ |
6- |
5- |
18+ |
4.0 |
26.0 |
11.0 |
5.0 |
*10 |
Maruyama Shogi |
15+ |
6- |
4- |
19+ |
20+ |
11+ |
7- |
4.0 |
24.0 |
11.0 |
5.0 |
11 |
Oki |
21+ |
8- |
7+ |
9- |
16+ |
10- |
14+ |
4.0 |
23.0 |
11.0 |
6.0 |
12 |
Deep Purple |
1- |
20+ |
8- |
14- |
19+ |
21+ |
13+ |
4.0 |
21.0 |
8.0 |
4.0 |
13 |
My Move |
3- |
2- |
17+ |
5- |
14+ |
22+ |
12- |
3.0 |
26.0 |
6.0 |
3.0 |
14 |
Sugi Shogi |
19+ |
7- |
9- |
12+ |
13- |
16+ |
11- |
3.0 |
24.0 |
9.0 |
3.0 |
15 |
Narikin Shogi |
10- |
17+ |
22+ |
8- |
2- |
7- |
20+ |
3.0 |
23.0 |
5.0 |
2.0 |
16 |
Ryuma Shogi |
8+ |
21+ |
1- |
6- |
11- |
14- |
22+ |
3.0 |
22.0 |
5.0 |
1.0 |
17 |
Tsubakihara |
6- |
15- |
13- |
20+ |
22+ |
19+ |
8- |
3.0 |
18.0 |
4.0 |
2.0 |
18 |
Chips |
2- |
22+ |
3- |
4- |
21+ |
20- |
9- |
2.0 |
23.0 |
1.0 |
0.0 |
19 |
HIT Shogi 0.1 |
14- |
5+ |
20- |
10- |
12- |
17- |
21+ |
2.0 |
22.0 |
6.0 |
0.0 |
20 |
Hayabusa |
9- |
12- |
19+ |
17- |
10- |
18+ |
15- |
2.0 |
22.0 |
4.0 |
0.0 |
21 |
Inakashodan |
11- |
16- |
5- |
22+ |
18- |
12- |
19- |
1.0 |
20.0 |
0.0 |
0.0 |
22 |
Demon shogi |
4- |
18- |
15- |
21- |
17- |
13- |
16- |
0.0 |
20.0 |
0.0 |
0.0 |
The Second Preliminary Stage
On the second day, there was the problem of operating both my program SPEAR and Shotest. HIT Shogi's Ito-san had been so kind to give us his spare PC for the day, but there was still the problem that only I knew how to set up Shotest. In the end it was decided that I would operate both programs. Not a big problem in computer shogi tournaments, because once the game is started, everything continues automatically by serial cable without any intervention of the programmers. The organizers made sure that SPEAR and Shotest played close to each other, so it was easy to keep an eye on both programs, but this turned out to be unnecessary. After all the problems of the first day, the two programs ran very smoothly on day 2.
The battle for the five places in the final promised to be very tough this year. Of the 24 programs in the second qualification round, 8 had recent experience with playing in the final. Furthermore, programs like Dragon's Egg, Otsuki Shogi, Isobe Shogi and Kinoa Shogi had been very close to the final before and would have a chance to make it this time. The only dark horse from the programs of the fist day seemed GPS Shogi, another program from the prestigious Tokyo University, which had a large team of (student) programmers.
GPS Shogi showed that it was more than a dark horse by winning its first six games, beating former finalists KFEnd and Kakinoki Shogi. Although this was followed by two losses, GPS Shogi was already certain of a place in the final before the final game. In the end, GPS ended in second place, a very impressive performance. My program SPEAR had beaten GPS at the tournament held during the Game Programming Workshop, but this time it had no chance. The second preliminary round was won by TACOS, who had a hick-up against Bingo Shogi in the third round, but this was the only loss until the final round against KCC Shogi. Third place was for KCC Shogi, who looked to be in danger after losing in round 2 to Otsuki Shogi and in round 6 to Bingo Shogi, but a strong finish secured a place in the final.
Fourth place was for Dragon's Egg, which was a little surprising. SPEAR had a good chance to beat this program in the first round but fumbled the endgame. After that Dragon's Egg lost against Kakinoki Shogi and prospects seemed bleak. However, with a little bit of luck with the draw (deservedly, as Dragon's Egg had been one of major victims of the pairing system in the past) the program crawled back in contention. In the end it qualified for the finals without playing two of the other finalists and without beating any of the former finalists it was paired against.
Bingo Shogi was the final program to reach the final and this was almost the opposite story of Dragon's Egg. Bingo Shogi scored very impressive wins against TACOS, Kanazawa Shogi, KCC and Kakinoki Shogi, but also had some inexplicable losses against Hyper Shogi and Kinoa Shogi that made qualification uncertain until the final round.
Surprises this year were that Kakinoki Shogi and Kanazawa Shogi were again unable to qualify for the final. The other thing that will be remembered from this tournament is the game between Maruyama Shogi and Isobe Shogi. This game lasted 1057 moves (!). When Maruyama Shogi plays strong opposition, it refuses to push a pawn and just builds an almost impenetrable formation. Programs that have a hard time finding weak points to attack in the opponent position can make no progress and the game the often ends in sennichite. Nazoteki Denki was also unable to avoid sennichite. Isobe Shogi had a worse fate: the program was unable to deal internally with games of that length and crashed, losing the game.
As for SPEAR and Shotest, both programs had quite a bad start. SPEAR started 1-3 and Shotest started with two losses. However, both programs recovered from this, Shotest winning four games in a row from round 3 and SPEAR doing the same from round 5. This put both programs in a theoretical position to qualify for the final before the final game. However, wins against lowly ranked opponents made this nothing more than a theoretical chance. A number of draws were needed combined with SPEAR beating GPS and Shotest beating Bingo to make this a reality. Both SPEAR and Shotest lost, so no final, but at least both programs managed to take one of the seeded positions, so no need to start from the bottom next year.
A rare sight: Four wins in a row!
Another interesting results of the second qualification round was that 8 of the 10 programs that qualified on the first day dropped straight down. The seeded programs of the second day are also a tough hurdle to take.
Results of the second qualification round
No. |
Program Name |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
Pt |
SOS |
SB |
MD |
*1 |
TACOS |
19+ |
11+ |
5- |
7+ |
8+ |
15+ |
6+ |
2+ |
3- |
7.0 |
48.0 |
35.0 |
25.0 |
*2 |
GPS Shogi |
6+ |
21+ |
7+ |
9+ |
16+ |
4+ |
3- |
1- |
13+ |
7.0 |
48.0 |
34.0 |
25.0 |
*3 |
KCC Shogi |
22+ |
9- |
17+ |
14+ |
15+ |
5- |
2+ |
4+ |
1+ |
7.0 |
46.0 |
35.0 |
25.5 |
*4 |
Dragon's Egg |
13+ |
7- |
11+ |
19+ |
17+ |
2- |
10+ |
3- |
9+ |
6.0 |
46.0 |
27.0 |
19.0 |
*5 |
Bingo Shogi |
23+ |
15- |
1+ |
8+ |
6- |
3+ |
16- |
7+ |
10+ |
6.0 |
45.0 |
31.0 |
22.0 |
6 |
KFEnd |
2- |
8+ |
24+ |
20+ |
5+ |
16+ |
1- |
10- |
7+ |
6.0 |
42.0 |
23.0 |
17.0 |
7 |
Kakinoki Shogi |
24+ |
4+ |
2- |
1- |
19+ |
12+ |
15+ |
5- |
6- |
5.0 |
44.0 |
18.0 |
12.0 |
8 |
Kanazawa Shogi |
21+ |
6- |
12+ |
5- |
1- |
19+ |
11- |
17+ |
16+ |
5.0 |
43.0 |
19.0 |
11.0 |
9 |
Otsuki Shogi |
14+ |
3+ |
16- |
2- |
10- |
18+ |
23+ |
21+ |
4- |
5.0 |
42.5 |
20.5 |
11.5 |
10 |
Shotest v8.0 |
12- |
20- |
21+ |
22+ |
9+ |
17+ |
4- |
6+ |
5- |
5.0 |
40.5 |
20.5 |
12.0 |
11 |
Isobe Shogi |
18+ |
1- |
4- |
12- |
20+ |
22- |
8+ |
19+ |
15+ |
5.0 |
39.5 |
19.0 |
11.0 |
12 |
Nara Shogi |
10+ |
16- |
8- |
11+ |
13- |
7- |
18+ |
24+ |
17+ |
5.0 |
37.0 |
18.0 |
13.0 |
13 |
SPEAR |
4- |
24+ |
18- |
15- |
12+ |
20+ |
19+ |
14+ |
2- |
5.0 |
36.5 |
15.5 |
10.5 |
14 |
Nazoteki Denki |
9- |
22= |
20+ |
3+ |
18+ |
23+ |
17- |
13- |
21+ |
4.5 |
35.5 |
12.0 |
6.0 |
15 |
Hyper Shogi 11@ |
17- |
5+ |
22+ |
13+ |
3- |
1- |
7- |
16+ |
11- |
4.0 |
45.5 |
17.5 |
9.0 |
16 |
Kinoa Shogi |
20+ |
12+ |
9+ |
17- |
2- |
6- |
5+ |
15- |
8- |
4.0 |
45.0 |
19.0 |
10.0 |
17 |
K-Shogi |
15+ |
23+ |
3- |
16+ |
4- |
10- |
14+ |
8- |
12- |
4.0 |
42.5 |
14.5 |
8.0 |
18 |
Usapyon |
11- |
19- |
13+ |
24+ |
14- |
9- |
12- |
22+ |
23+ |
4.0 |
32.0 |
9.5 |
4.5 |
19 |
Wildcat |
1- |
18+ |
23+ |
4- |
7- |
8- |
13- |
11- |
24- |
3.0 |
39.0 |
6.0 |
2.0 |
20 |
Yamada Shogi |
16- |
10+ |
14- |
6- |
11- |
13- |
21- |
23+ |
22+ |
3.0 |
37.0 |
9.5 |
2.5 |
21 |
Yano Shogi 8 |
8- |
2- |
10- |
23- |
22+ |
24+ |
20+ |
9- |
14- |
3.0 |
34.0 |
5.5 |
2.5 |
22 |
Maruyama Shogi |
3- |
14= |
15- |
10- |
21- |
11+ |
24+ |
18- |
20- |
2.5 |
35.5 |
5.0 |
0.0 |
23 |
Mattari-yuchan |
7- |
17- |
19- |
21+ |
24+ |
14- |
9- |
20- |
18- |
2.0 |
32.5 |
3.0 |
0.0 |
24 |
Auau Shogi |
7- |
13- |
6- |
18- |
23- |
21- |
22- |
12- |
19- |
0.0 |
35.5 |
0.0 |
0.0 |
The Finals
The games of the first round of the final are always between the top programs and the qualifiers and every year I expect this to be a walk-over for the top seeds. Combined with the tiredness of tuning the program in the spare free hours for months, I usually sleep in late on the day of the final before taking a look when the second round is already well under way. This is a mistake. It usually doesn't show up in the final results, but often interesting things happen in the first round of the final.
When I entered the tournament hall on the final day, the first thing I saw was a GPS team smiling from ear to ear. They had scored the upset of the round (and as it turned out, of the day) by beating champion YSS while I was having a late breakfast. GPS got lost in the opening, but in spite of that (or probably because of that) it beat YSS even though YSS was running on some impressive parallel hardware.
The faces of the IS Shogi team also looked more relieved than anything else. Dragon's Egg had found a hole in the opening book and had been pounding the IS Shogi position for a long time, but couldn't deliver the final blow.
There were no further upsets the rest of the day. The final standings were all decided by the results between YSS, IS Shogi, KCC Shogi and Gekisashi, the four programs who have been in the top four spots in the past years. This year it was Gekisashi who played a very impressive tournament, winning not only all of its games, but most of them in impressive fashion. Only the final game against YSS was a little bit of a struggle, but even in that game Gekisashi needed only one defensive mistake to blow YSS away.
Gekisashi's Tsuruoka: impressive victory.
Second place was for KCC Shogi, who had their best result yet. The North Koreans said that they were confident to win it all before the tournament, but admitted afterwards that this year's Gekisashi was too strong. KCC won all the other games, except for the game against Dragon's Egg, which was declared a draw by sennichite. A small improvement in the code checking repetitions should be enough to fix that problem. They can ask Isobe Shogi how to do it, because the program avoided sennichite for more than 1000 moves against Maruyama Shogi.
Third place was for IS Shogi. The balance in this year's IS Shogi was a little off, which showed in most games, even the ones that IS Shogi won. Third place was the maximum result this year, but Tanase said that he had many ideas to make the program much stronger.
Last year's champion YSS ended in 4th place, losing its seeded position. This showed that software is still more important than hardware. Even without the loss to GPS in the first round, YSS would have finished 4th.
YSS' special hardware: it wasn't enough this time...
Bingo Shogi ended 5th, winning all the games against the programs that finished lower. Bingo Shogi is an impressive program, having a rating of more than 2400 on Shogi Club 24. However, it will need a little extra push to become a real contender.
I expected a little bit more from TACOS after winning the second preliminary round, but the program was unable to make an impact in the finals, beating only Dragon's Egg and GPS Shogi.
Dragon's Egg had the expected result, with the draw against KCC Shogi lifting it over GPS Shogi. GPS Shogi will be very satisfied with their result, though, qualifying for the final for the first time and beating the reigning champion. It will be interesting to see how they can build on that next year.
Results of the finals
No. |
Program Name |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
Pt |
SOS |
SB |
MD |
1 |
Gekisashi |
5+ |
7+ |
2+ |
6+ |
8+ |
3+ |
4+ |
7.0 |
21.0 |
21.0 |
14.5.0 |
2 |
KCC Shogi |
6+ |
4+ |
1- |
3+ |
5+ |
7= |
8+ |
5.5 |
22.5 |
14.0 |
8.0 |
3 |
IS Shogi |
7+ |
8+ |
5+ |
2- |
4+ |
1- |
6+ |
5.0 |
23.0 |
10.5 |
6.5 |
4 |
YSS |
8- |
2- |
7+ |
5+ |
3- |
6+ |
1- |
3.0 |
25.0 |
6.5 |
2.0 |
5 |
Bingo Shogi |
1- |
6+ |
3- |
4- |
2- |
8+ |
7+ |
3.0 |
25.0 |
4.5 |
1.5 |
6 |
TACOS |
2- |
5- |
8+ |
1- |
7+ |
4+ |
3- |
2.0 |
26.0 |
2.5 |
0.0 |
7 |
Dragon's Egg |
3- |
1- |
4- |
8+ |
6- |
2= |
5- |
1.5 |
26.5 |
1.0 |
0.0 |
8 |
GPS Shogi |
4+ |
3- |
6- |
7- |
1- |
5- |
2- |
1.0 |
27.0 |
3.0 |
0.0 |
Conclusions
After the tournament was over, an exhibition game was played between professional shogi player Katsumata and the winner Gekisashi. The handicap was bishop and the playing times the same as in the tournament (25 minutes per side, no byoyomi). These conditions favor the computer, but still Katsumata was expected to win. Last year he lost a rook handicap game against YSS, but that was in part because of a lack of concentration, commenting on the game while it was going on. This time he was dead serious and looked to destroy Gekisashi. However, in the endgame Katsumata got in time trouble and overlooked a very strong attack that he could have prevented. This being said, it was an attack that not many human players would have found and the spectators could only watch in awe how fast the human position collapsed. A great win for Gekisashi and another step forward for shogi computers in their bid to challenge the top players in even games.
Gekisashi will also be invited to play in the Amateur Ryu-O tournament, which will be held on June 25th and 26th. Depending on the opponents the program will draw, this could be a very interesting test for Gekisashi, playing some of the top amateur players in the game.
There is another recent interesting development in computer shogi. An extremely strong program called Bonanza has surfaced out of nowhere. The programmer has never entered the CSA tournament and has made the program as a hobby while have a normal job. He has worked on the program for two years and it has a rating of 2400 at Shogi Club 24, which ranks it among the top programs. I played my program SPEAR against it and SPEAR got completely blown away. If a hobby program made in two years can become that strong, it is conceivable that a new, promising method is found that can give computer shogi the final push to challenge top professionals. Until we know more about Bonanza, this is of course only speculation...
A game from the finals
[Black "Gekisashi"]
[White "KCCShogi"]
1.P7g-7f 2.P3c-3d 3.P6g-6f 4.P8c-8d 5.R2h-6h 6.S7a-6b 7.P1g-1f 8.K5a-4b 9.S3i-3h
10.K4b-3b 11.P1f-1e 12.P5c-5d 13.G6i-5h 14.G6a-5b 15.S7i-7h 16.S6b-5c 17.S7h-6g
18.B2b-3c 19.P4g-4f 20.P4c-4d 21.P3g-3f 22.G5b-4c 23.N2i-3g 24.P8d-8e 25.B8h-7g
26.K3b-2b 27.K5i-4h 28.S3a-3b 29.K4h-3i 30.P5d-5e 31.P6f-6e 32.S5c-5d 33.S6g-6f
34.R8b-5b 35.P7f-7e 36.B3c-2d 37.G5h-4g 38.B2d-4b 39.K3i-2h 40.P9c-9d 41.P9g-9f
42.B4b-3a 43.P2g-2f 44.B3a-4b 45.S3h-2g 46.R5b-6b 47.P7e-7d 48.R6b-7b 49.G4i-3h
50.R7b-7a 51.P5g-5f 52.P5ex5f 53.G4gx5f 54.G4c-3c 55.N3g-2e 56.P7cx7d 57.S6f-5e
58.S5d-4c 59.P4f-4e 60.P4dx4e 61.G5fx4e 62.P*5f 63.P*4d 64.S4c-5b 65.N2ex3c+
66.B4bx3c 67.S5e-4f 68.P5f-5g+ 69.S4fx5g 70.P8e-8f 71.P8gx8f 72.P*8h 73.P3f-3e
74.K2b-3a 75.P3ex3d 76.B3c-2d 77.P4d-4c+ 78.S5bx4c 79.G*2b 80.K3a-4b 81.G2bx3b
82.G4ax3b 83.P*4d 84.S4c-5b 85.S*3e 86.N*5c 87.G4e-4f 88.P8hx8i+ 89.P*5d 90.B2dx3e
91.G4fx3e 92.N5cx6e 93.R6hx6e 94.P*3f 95.P4d-4c+ 96.G3bx4c 97.G3e-4d 98.G4cx4d
99.B7gx4d 100.S*3g 101.G3hx3g 102.P3fx3g+ 103.K2hx3g 104.P*3f 105.S2gx3f 106.N*2e
107.R6ex2e 108.G*4f 109.K3gx4f 110.P*4e 111.R2ex4e 112.G*4g 113.S3fx4g 114.G*3f
115.K4fx3f 116.S5b-5c 117.B4dx5c+ 118.K4b-3b 119.R4e-4b+ Resigns
Reijer Grimbergen 2005