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 suicidechess.ca .
    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.

    3 réflexions sur “An engines tourney, and some toughts about openings.

    1. One thing I was also thinking is the opposite of what you did. Using engines to help developing the database. Let an engine play itself using the database opening. Once it arrives at a non-computed position, augment its priority, wait for the result and then play the best move. Do this until you arrive at a WIN/DRAW/LOSS position. Then restart another game.

      That would help developing the best play line, which would let Nessjeng get even stronger. The only thing to make sure is that the match doesn’t get stuck in a repetition, since they are not handled by the database.

    2. I was thinking to this, to be sure to explore several line the engine won’t just play against itself.

      Right now, the database push farther the best line, and the users favorites line😉

    3. One problem I see with playing other engines is that a certain engine might nearly always play a certain sequence thats lead to a LOSS. Since it is not connected to the database, it won’t know it and play it again and again.

      A more efficient way to look for more lines would be to take non-optimal moves a certain percentage of times (assuming there is more than one non-WIN/DRAW/LOSS move).

    Laisser un commentaire

    Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

    Logo WordPress.com

    Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

    Image Twitter

    Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

    Photo Facebook

    Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

    Photo Google+

    Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

    Connexion à %s