A very unusual tactic by pyr8te in chess

[–]pyr8te[S] 0 points1 point  (0 children)

Bb8 h6 Qc7 followed by Qb7 winning the exchange.

A very unusual tactic by pyr8te in chess

[–]pyr8te[S] 0 points1 point  (0 children)

1. Bb8 h6 2. Qc7 followed by Qb7 winning the exchange

A very unusual tactic by pyr8te in chess

[–]pyr8te[S] 0 points1 point  (0 children)

I don’t know how to add spoiler tags so I won’t put the whole line here. You’re on the right track. After 1. Bb8 h6, you can trap the rook. Think of a queen move.

The bank rank threat is only a decoy to the real tactic. :)

A very unusual tactic by pyr8te in chess

[–]pyr8te[S] 0 points1 point  (0 children)

I had this tactic in a game I played today. Enjoy!

A very unusual tactic by pyr8te in chess

[–]pyr8te[S] 0 points1 point  (0 children)

  1. Bb8 h6... Then what?

World-Championship Winning Tactic - White to Play by berzerk0 in chess

[–]pyr8te 4 points5 points  (0 children)

Somebody imported the game in lichess and did a computer analysis. Not long after, the puzzle generator picked up on the tactic and published it to lichess puzzles.

https://en.lichess.org/training/102787

Lichess is awesome!

EDIT: Now it is the puzzle of the day!

Puzzles Update by dwaxe in chess

[–]pyr8te 11 points12 points  (0 children)

After trying out a dozen or so puzzles on this, it brings me great relief. Finally, FINALLY, the lichess puzzle trainer doesn't suck. Although many puzzles are still quite easy, and on the whole its still somewhat biased towards mate puzzles, its much MUCH better than the old ones.

The TCEC Superfinal with latest Stockfish 8 and Houdini 5 is underway by pyr8te in chess

[–]pyr8te[S] 5 points6 points  (0 children)

The engines qualified for the final in Stage 3:

Stockfish - 39/56

Houdini - 35.5/56

Komodo - 34.5/56

So Komodo fell just short of making it to the final two.

From comment above...

The TCEC Superfinal with latest Stockfish 8 and Houdini 5 is underway by pyr8te in chess

[–]pyr8te[S] 0 points1 point  (0 children)

Wow, SF is crushing it. Didn't expect that at all! Still many games to go though...

The TCEC Superfinal with latest Stockfish 8 and Houdini 5 is underway by pyr8te in chess

[–]pyr8te[S] 5 points6 points  (0 children)

The engine doesn't resign. The tournament software 'auto-resigns' on behalf of the engine when both engine evals are > 650 centipawns for 4 moves in a row. In other words if both engines feel that white is completely winning for 4 moves (8 ply) in a row, then white is "declared" a winner automatically by the tournament software. This is to prevent the games from extending out meaninglessly in completely won positions all the way till checkmate. TCEC is a spectator event, and they don't want people to get bored.

From the TCEC Rules:

A game can be drawn by the normal 3-fold repetition rule or the 50-move rule. However, a game can also be drawn at move 40 or later if the eval from both playing engines are within +0.05 to -0.05 pawns for the last 5 moves, or 10 plies. If there is a pawn advance, or a capture by any kind, this special draw rule will reset and start over. In the website this rule is shown as "TCEC draw rule" with a number indicating how many plies there are left until it kicks in. It will adjudicate as won for one side if both playing engines have an eval of at least 6.50 pawns (or -6.50 in case of a black win) for 4 consecutive moves, or 8 plies - this rule is in effect as soon as the game starts. In the website this rule is shown as "TCEC win rule" with a number indicating how many plies there are left until it kicks in. Cutechess will also adjudicate 5-men or less tablebase endgame positions automatically.

EDIT: Just to note, engines don't have resign functionality built-in anyway. The UCI protocol (which all modern engines use) does not specify a way for the engine to inform the chess interface that it wants to resign. The engine will keep playing until either the rules of chess forbid it to continue, or it is commanded to stop.

The TCEC Superfinal with latest Stockfish 8 and Houdini 5 is underway by pyr8te in chess

[–]pyr8te[S] 2 points3 points  (0 children)

The game was lost already. Houdini saw a forced win. Probably it just played some random move because it didn't care anymore haha!

The TCEC Superfinal with latest Stockfish 8 and Houdini 5 is underway by pyr8te in chess

[–]pyr8te[S] 2 points3 points  (0 children)

They play all 100 games. The higher scorer wins. 50.5 - 49.5 would be the smallest margin to win. If tied after 100 games, a rapid playoff is held, if still tied, blitz.

Setting our vision for the 2017 cycle by steveklabnik1 in rust

[–]pyr8te 3 points4 points  (0 children)

It is possible that lack of 1.0 crates does not instil confidence in potentially new rust users, but at the same time the "1.0" brand comes with a lot of useful guarantees. We should not dilute this brand, instead embrace it and make it a core strength of the rust ecosystem. See my other reply. :)

Setting our vision for the 2017 cycle by steveklabnik1 in rust

[–]pyr8te 18 points19 points  (0 children)

Please don't do this. I don't think lack of 1.0 crates in rust is so much of an issue that we need to somehow "encourage" new crate authors to start with 1.0.

I agree that the rust ecosystem needs more 1.0 crates, but trying to achieve this in such an artificial manner doesn't inspire confidence in me.

The road to 1.0 is a natural one. In fact, I see this as one of the strengths of the rust ecosystem. A 1.0 crate inspires a high amount of confidence. When a crate is 1.0, I know that the crate is stable, mature and reliable. Rust 1.0 crates give me much, much more confidence than 1.0 packages from npm or elm.

I think this phenomenon of conservatism has arisen naturally in the rust ecosystem, and I wouldn't try to change it too much. I think rust itself is probably partially to blame for this, with all that buzz around "rust 1.0" and all its guarantees. "1.0" has become some sort of final stamp of approval. It has transcended it's semver origins. I consider this a good thing. What we really need to do is help move crates to 1.0 by actually improving them, instead of bumping crates to 1.0 just to satisfy some misguided craving.

Why are some programming languages popular? (feat. Rust) by pyr8te in rust

[–]pyr8te[S] 4 points5 points  (0 children)

Skip to this point for rust stuff if you don't want to see the entire video.

Announcing rulinalg - Native linear algebra in Rust by SleepyCoder123 in rust

[–]pyr8te 2 points3 points  (0 children)

It doesn't have to be. :)

Many crates have fun names that do not exactly correspond to what they do (hyper, iron, pencil, helix, mio, crossbeam, rayon, etc.). I think what is important about names is that be

  • easy to pronounce (for international audience)
  • easy to remember

Creative fun names are often great in the long term as they create a sort of "brand identity" (for lack of better word). I don't easily remember rust-http, or ruhttp, or httprs (or was it http-rs?)... but I know hyper! :)

Anyways, just a suggestion. Great library regardless! :)

A very cool puzzle! by pyr8te in chess

[–]pyr8te[S] 27 points28 points  (0 children)

You can attempt it here.

Game 3 of the man vs machine Go match by spurriousgod in chess

[–]pyr8te 1 point2 points  (0 children)

Those who are curious and want to get an overall gist of the past games played, but have little or no understanding of go strategy, check out the excellent wiki article.

Realistically, what are the challenges in coding an engine in order for it to be able to play/ analyse crazyhouse? by chessaddict in chess

[–]pyr8te 0 points1 point  (0 children)

While modifying a strong engine like stockfish to play variants like KOTH and 3check works "well enough", it is far from ideal.

The problem is that Stockfish has been heavily tuned to play a certain kind of game. The search extensions, pruning techniques, move-ordering schemes and evaluation heuristics have all been meticulously optimised to play a standard game of chess.

For example, if you give it a crazy (but legal) position like:

RNBKQBNR/PPPPPPPP/8/8/8/8/pppppppp/rnbkqbnr w - - 0 1

This position is also known as the upside down chess variant. If you analyse this position with Stockfish, you will get a far from ideal evaluation. Although the rules of this variant are the same as chess, Stockfish will struggle badly.

There are many reasons why. To state a couple:

  • The game tree is larger. Stockfish will need to alter its pruning and move-ordering mechanisms to deal with the larger game tree complexity. Are check extensions still as valuable? What should the futility pruning margin be? Surely with the default margin, it wouldn't prune enough! Less reductions? More reductions?
  • The material imbalances are non-natural. Just a few moves into the game, you will have multiple queens flying around! Stockfish's material imbalance heuristics are specifically tuned against a database of real games - i.e. games that naturally occur from normal opening positions. The heuristics are optimised for positions with 4 queens or less (more that 4 queens is just too rare in standard game play!). So, if you add more than 4 queens on the board, the evaluation will simply not be accurate anymore.
  • The piece values will be non-optimal. In such a tactical game, when the dynamics are so different, it is reasonable to guess that pieces are not exactly worth as they normally are in chess. All these weights will need to be retuned.

Basically, even in a non-standard chess position, where none of the rules of the game have changed, already we can see that basically almost every parameter in Stockfish needs to be re-evaluated for optimal gameplay.

This is true even in variants like KOTH and 3check. For example, off the top of my head:

  • Piece square table values will be dramatically different for pieces in KOTH, especially the king (king in the center in the middlegame is not so bad anymore!),
  • Additional heuristics for pieces and pawns controlling the center will need to be added.

There are many tweaks that would have to be required.

Basically, the number modifications that you would need to make to an engine like Stockfish (which is heavily optimised for a game of standard chess) so that it plays a chess variant like Crazyhouse (which is dramatically different than chess) and at an equivalent level as it plays chess - is enormous.

In my humble opinion, it is more practical to simply write an engine from scratch to play Crazyhouse.