An engines tourney, and some toughts about openings.

Yesterday, I make a suicide engine tourney on one of my computer between 4 engines:

  • Sjeng (version 11.2), the most popular suicide engine. I used it with his default settings, default opening book and 3 piece egtb. (link)
  • Wizard (version 3.1), the demo / free version. Default settings (link)
  • Pulsar (version 2009-9b) , with his default settings. (link)
  • Nessjeng, a version of sjeng (11.2) that I have made, default settings and 3 pieces egtb
  • I was sure that my own version of sjeng will finish higher that sjeng, but I wanted to compare with others.
    The tourney was a 50 games Round-robin of 1 minute with 1 second incremental.

    Here the result:
    Nessjeng 117.5 / 150
    Wizard 94 / 150
    Sjeng 87.5 / 150
    Pulsar 10 / 150

    All games can be download in one big .pgn file here.

    What changes have I made to sjeng ?
    Simply, a way better opening book. Ok, I must confess that isn’t a simple handmade opening book, I had connect a sjeng on the huge opening book of .
    I got this idea several months ago, when I started to program a opening book layer of StayAlive( a wizard engine running on FICS) for Neca.
    Recently for the job, I needed to do some C/C++ programming. It was my first real C/C++ program. When I looked that Sjeng source code, I saw that could be easy to connect it to the opening book database.

    I knew that Sjeng and wizard have some weakness in their openings, but I didn’t tough that will be that much.

    There’s a lot of better chess engine programmer than me, but many underestimate the importance of the opening. I strongly suggest to new engine programmer to invest their time in all game phase: opening, middle game and endgame. It’s true not only for the suicide variant, but for all chess variant.

    Currently, i’m only under windows, so I can’t compare these engines vs linux engines. But if you know others engines to throw-in, I can easily run others tourney.


    A good way to learn: Lose a game

    In real life, we learn from our mistakes. It’s truth in suicidechess too.

    In a suicide game, we often lose on a single move. You need to know which one. Sometime it’s obvious, you can see it in a second after your move, but it’s not the case, you need to know. In regular chess, the one who make the last mistake loss the game, in a suicide game, the one who make the first one usually lost the game.

    To spot your mistake, you can use several tools: a opening book, a suicide chess engine or end game table. You can also ask someone to help you, most of suicide player are willing to help / analyze game.

    You have spot your mistake, now you can do two things:

  • Just remember it, to not do it again
  • or learn how to win the game if your opponent does this mistake
  • The first one it’s easier, and you can continue playing game. The second one may take a lot more time. Example 1.e3 b5 2.Bxb5 Bb7 is lost for black, learning to not play it as black it’s easy, but learning how to win this as white, it’s very hard : only suicide engine can play it perfectly. So you may ask : »When should I learn to win a lost position? » There’s no perfect answer. Just try, if after a amount of time / asking other suicide player , you don’t see the win, just pass over and go play some game.

    In the last few week, I have learned a lot mostly by losing a lot of games against Nilatac and StayAlive. Against them, you can know right a way when you made a mistake: Nilatac is telling you, and StayAlive start to play very fast.

    Analyze one game can help you more than a hundred games…

    How to win against (part4)

    Today, it’s Nilatac turn.

    Nilatac is a strong suicide chess engine, it’s the big brother of Catnail(cover in part 2).

    I prefer to tell you right now:
    « It’s very tough to beat him, you will need a lot of practice« .

    Nilatac have a big opening book, that you can explore on his website. When I mean big, I mean more than 4 millions different lines. Just to compare Sjeng engine have only 25 lines in his default opening book.

    In middle game, Nilatac use several algorithms mainly: Alpha-Beta , Proof-number and Pn^2.
    In endgame, Nilatac have all 4 pieces tablebase.

    So where can you take advantage on Nilatac?

    Probably in middle game. To beat Nilatac, you’ll not just need to play good in middle game. First you’ll need to learn a lot of openings, because Nilatac use a lot of them. I think that Nilatac won most of his game in the opening. Nilatac is fair enough to tell you as soon as you are in a lost positions. So you’ll see a lot of « I got lucky« . If you survive after the opening, congrats! Now the important part of the game is coming. As soon the game « quit » the nilatac opening book, you must do the best move, but I know it’s hard to know which one is the best.

    Some rules that you must follow:

  • Do not engage any Queen race. With the proof-number search algorithm, it’s sure that Nilatac will win.
  • Do not sacrifice your piece too quickly. This a general rule for any suicide game.
  • Push your pawn forward. Chess engine have bit difficulty to plan all promotion, but do it safely.
  • Take your time. You will probably loss in the next few move, so think carefully.
  • Avoid the endgame as long you can. I don’t know any human that remember all endgame positions with 4 pieces, but Nilatac does.
  • Even with those tips, you can’t manage to beat him? It’s normal, Nilatac have a higher ELO than any human on FICS. I suggest to play a lot against him in rated or unrated game, you’ll learn a lot. It may be take more than 250 games before a single win. To beat any high computer, I suggest longer time control, even if Nilatac propose only 3 0 games, you can challenge him with a longer time control, to give you time to think about your move.

    What happen in 2009

    The end of the year arrive, so it’s time to look what happen in 2009 about the suicide variant and in SuicideChess project.

    When 2009 started, Azor was still in version 10, and now it’s the version 16.8 that’s currently running. Many things have improved between these versions : en-passant rule, auto-update, speed increase, better connexion’s stability and EGTB capacities. I’m impress how much azor improve this year.

    About the website, end game section have appear, to help players with suicide end game. That’s not the only section being created, the blog and forum too! In the opening book section, it’s now possible to add comments about a position. And since few, it’s now possible to register / login on the website.

    About the opening book, it increase a lot this year. At the start of the year, there was about 8.5 millions calculated positions in the database; at the end of the year, it will be about 37.5 millions. So 29 millions positions have been compute this year. Thanks to everyone who ran/run an azor. To give you a idea, to compute 29 millions positions on some cloud computing program like Amazon EC2, that would cost me more about 6000$.

    At the begin of the year, I have complete the transfer the hosting of the website from my home computer on a real web server, host by SliceHost.

    All my Java source code for my project have been release open-source this year too.

    About Suicide variant in general, you have seen new computers accounts on FICS like nakshatra. And StayAlive have now a way better opening book, than before, he almost reach the 2600+ rating in suicide. The Cyanide Sandwiches tourney have been moved from Tuesday to Wednesday.

    This is what I remember so far… oh what a year ! 🙂
    Hoping to see what will happen in 2010.

    Happy New Year all!

    To cheat or not to cheat: That’s the question

    All depend on which server you are currently playing.

    On FICS, any help are illegal. That include: engine help, opening book, human help, endgame table ,etc. So during a suicide game on FICS you cannot look at the opening book or the endgame section. You can use suicidechess project to learn where you had blunder in a previous game.
    I think that same rules apply to ICC server, but I’m not sure yet.

    On SchemingMind, it’s bit more complicated. You can use opening book, and any chess book. You cannot use any human help and engine help. So yes, you can look in our opening section, but it’s illegal to raise some position’s priorities since positions are evaluated by a engine. IMHO, I found strange that you can look some every depth line (many lines goes father than 50 ply), but according to SchemingMind rule, you still have the right to look at it.

    I know, that on any chess server, there will be some cheating humans. Most of them do it knowing that’s cheating, and sooner or later they got caught. In the suicide variant it’s even easier to caught cheaters, since there’s fewer engine and website.

    If you are host a chess server supporting suicide variant, and want to know if a player is cheating or if you’re a player, and wanted to know if your opponent had cheated. I can help…

    34 millions mark have been reach !

    Tonight, we have reach the mark of 34 millions positions have been calculated in the opening book.

    Even if the opening book is the largest, we still have some lines that they are known as lost that they are incomplete in our book.

    Amount all of them there’s 3 major one :
    1.e3 c6 proved lost by Nilatac program by Catalin Francu and by the engine ascp program by Angrim.
    1.h3 proved lost by ascp .
    1.b4 proved lost by ascp too.

    For the last two, the proof isn’t available on the net, so it’ll be bit harder to check / complete it.

    I still working on the first one, I hope to complete it soon.

    Thanks to anyone who run or ran an Azor. To give you a idea, the mark that we have reach, on a single computer would take about 5 years to reach.

    Open-source suicide chess engine

    Currently, I know several suicide chess engine that have been released under open-source license.

    Nilatac and Catnail have been finally release under GPL v2. At least you can now see how he’s doing his search. Unfortunately, his development is frozen since 2004. I wonder if any C programmer have made / try to use his code, maybe to release a stronger engine. You can find his source code there

    Sjeng is a strong chess engine, it play Suicide, but others variants and regular chess. Variants are support up to version 11.2 . Sjeng became a commercial program sinice version 12.13. IMHO that’s bad, I wonder how strong Sjeng became after, specially in suicide variant. You can download the program and the source code there

    Recently I talk about the nakshatra engine, in my How to win series. I discover after that, it’s a open-source engine. The good news is that the programmer is still working on it. His last commit was only 12 hours ago. On his site, it look like he want to support regular chess too. You can see his website there

    And the last one, my own suicide chess engine, Nessegrev. Unfortunately, I think that in the current state of the source code, Nessegrev didn’t work well, still some bug in it. But I still working on it 🙂 You can take a look to the source code there

    If you know any others open-source suicide engine please let me know, so I’ll be able to add them here.