3 ms·
> So if you plan to write chess engine it would be pretty stupid of you to not prepare it to face multiple black bishops. If I knew that it would give me a lot
by dmurray 5y ago
> So if you plan to write chess engine it would be pretty stupid of you to not prepare it to face multiple black bishops. If I knew that it would give me a lot of advantage.
It would not.
Rybka (formerly the #1 chess engine) doesn't support promoting to bishops. The author chose an efficient move representation that couldn't handle more than four promotion types. Not quite the same situation, but I can be sure the difference is small even against an opponent trying to exploit it.
- toast0 5y agoIsn't that a big advantage... if you can promote to bishop and the other player crashes, wouldn't you win by default or something?
- bluGill 5y agoSo long as you don't crash the engine just evaluates when it happens .bishop promotions are rare.
- agalunar 5y agoWait, there are only four promotions! Queen, rook, bishop, and knight – you're not allowed to keep a pawn on the back rank.
- dragonwriter 5y agoYes. It’s possible some engines represent bishop-on-black as a different thing than bishop-on-white, which would make 5 with bishops and 3 without.
- WJW 5y agoActually now that I think about it, promoting to a second king would be pretty sick. Then you have a spare so losing the original doesn't lose you the game immediately. I could see an incredible game where someone uses this to salvage an otherwise unescapable checkmate.
- dmurray 5y agoGood point. If I remember right, the engine used one state to represent "no promotion happening this turn". Of course it's redundant, because you can determine that from the rest of the representation, but apparently it was worth being able to determine that with a single bitwise operation. Edit: > each move is easily encoded as a 16 bit value: 6 bits for origin square, 6 for destination square, 1 for en passant, 1 for castling, and 2 for promotion. The 2 promotion bits can only represent 4 options... and since the move encoding is for ANY move, not just promotions, one of the options is "no promotion"[0] And another tidbit from that page: the same encoding is used for making moves and retracting them (going back up the search tree), so efficient encoding of "no promotion" is important there. E.g. If there's a white rook on e8 and the last move was e7-e8, when retracting it you need to know whether to put a pawn or a rook on e7. [0] http://rybkaforum.net/cgi-bin/rybkaforum/topic_show.pl?tid=1042 http://rybkaforum.net/cgi-bin/rybkaforum/topic_show.pl?tid=1...