Monday, November 26, 2007

Vortex 2.2.3 Destroys ChessV with a mate in 27

The Vortex vs. SMIRF mate in 28 was a "middlegame mate" -- SMIRF played the opening well and Vortex found a tactical strike to end the game abruptly. The Vortex vs. ChessV mate, while only mating one move faster, is much more impressive, and is appears to be tactically motivated right from the opening!

Here is a link to the complete game:

Gothic Vortex 2.2.3 vs. ChessV

1.d4 g6 2.Nh3 Nh6 3.g3 Bg7 4.Nc3 Af6? 5.Bg5! Axd4 6.Ni5! Kg8 7.Nxj7!!

At first glance, Nxj7 looks to be a blunder, since both Rxj7 and Nxj7 appear perfectly playable. But after 7...Rxj7?? white has 8. e3!! which strikes at the Archbishop with the pawn and it also reveals the Queen on d1 to strike at the Rook now on j7. With 7...Nxj7 the same type of tactic awaits, since Bxi7 will entice the Rook to move, e3 will prompt the Archbishop retreat, and as before, the Queen will have Qxj7 which will now threaten the Rook which will have moved to i8 most likely.

The game continuation was even more interesting...

7...Nxj7 8.e3 Ae6 9.Bxi7 Ac4+ 10.Cd3 Nc6 11.Bd5

ChessV is suffering from the "horizon effect" described by Dr. Hans Berliner decades ago. It cannot see how to get out of the mess, so by playing Ac4+ it will "postpone" the diaster two more plies, effectively pushing the danger out of its own principal variation. Vortex searches further and sees the danger is real.

11...Axd3+ 12.cxd3 Bxc3 13.Bxj8 Bxb2 14.Rb1 Cd6 15.Qxj7 Cxd5

You need a scorecard to try and figure out who has what...

It is now white to move, and you expect 16. Rxb2 next, having white pick up the hanging Bishop. But Vortex uncorks 16. h4!! which sets up an Archbishop mate with Aj4 and Ah6 if the threats are not dealt with immediately!

16.h4!! Bh8 17.Aj4 Cf5 18.e4 Ch5

From here the threats have finally culminated to the point of execution.


The point: Black can't recapture with the pawn or else Ah6 is checkmate!

19...Bg7 20.Bh6 Bc3 21.Qj5

Vortex had announced mate in 7 with its last move.

21...f5 22.Ai5 Kf7 23.Qxh7+ Ke6 24.Qxg6+ Bf6 25.Qxf5+ Kf7 26.Ag6+ Kg8 27.Qj5#

Another tremendous game from Gothic Vortex.


AxeGrinder said...

I have to give you credit. That is one helluva game. Who knew these tactics existed at such an early stage? Vortex is incredible, simply put.

Cartaphilus said...


What have you done to Vortex in so short a period of time that it went from losing to SMIRF in the blog game to crushing everything in sight? The wins are amazing, but almost "too amazing" if you know what I mean. I can see if you had months to program and test, but we're talking like 3-4 weeks and BOOM, brand new program.

Martillo Program said...

I too have seen great changes in my program from little mods to the code. Try setting queen = 1.2 pawns and see how 1 small bad change can make whole program different! Harder is to make it better than before of course but still very possible.

GothicChessInventor said...

Gothic Vortex of days gone by contained bugs.

I debugged the heck out of it. Even the "very strong" versions of past years contained data structures with elements that were not initialized properly, and therefore not being used as intended, etc.

And subsequent changes I made to the program over the past 2 years were not rigorously tested. I would see Vortex not playing a move I thought was obvious, I would tweak the code a bit until it played the way I wanted it to, then I would move on. I was not testing it over a suite of positions and benchmarking it.

The loss to SMIRF in the informal blog game was a wakeup call.

I created positions for a benchmark suite. I created a log file to show me the value of every variable used during the tree search, such as...

partial log from SMIRF game

Then, I started pouring over the data. Within one day, I found 9 bugs in Vortex that were VERY SERIOUS. Bugs in the alpha-beta windowing aperture, the various cutoffs used by crafty to signal when to stop using "expensive" parts of the evaluation, NULL MOVE variables were used intermittently (sometimes being used, sometimes just referring to "hard coded" numbers), the list went on and on.

Many of these errors were extremely subtle details that would have been impossible to get 100% correct from day one -- there was just too many details associated with porting an 8x8 search engine to a 10x8 world. And, some of the errors were self-inflicted, as I did not code my own interpretation of the crafty code.

Once I started getting rid of these errors, amazing things were happening. Long range mates in the benchmarks were being found with extreme alacrity. The game tree was more narrow, meaning it would get to a certain depth much more quickly.

I stripped the evaluation function clean of everything I did not understand in crafty, and I do mean everything! I started over.

I added:

-Piece Development
-Attack Tropism
-Tiered King Safety
-Conditional Extended Extensions
-Fractional Depth Curtailing

The last two items I believe are unique searching innovations. I indentified dangerous conditions by precompiling an array of 80x64 different pawn configurations surrounding the king. I use certain values returned by this array to "trigger" either search extensions (when the king is weak and Vortex has pieces close enough to do some damage) or curtail the search (when the king safety is strong and there are no apparent threats.)

The result is Vortex seeks out your blood, but only when there is blood to be had!

This took a great deal of time to test and code, but I was very focussed on this goal for weeks on end.

The results of this labor are becoming evident.

Martillo Program said...


I was operator for the game with ChessV as white against Gothic Vortex, round #4. I forget link for this game. I have Athon 64x2 5000+ processor with Vortex = 780,000 nodes/second most times.

Vortex did attack from beginning very strongly and "crushed killed" Chess V program! The play was like watching Mikhail Tal consulting with Bobby Fischer against Class B player!

Many respects to Vortex and it's programmers.

The Fitz Man said...

What a game! Awesome!! Hey where can I buy this version of Gothic Vortex it rocks!