New answers tagged

2

Ed Schröder has made a pretty sizable collection of old chess software (including the code from some old dedicated chess computers, turned into UCI engines) on his web site for free download. Look in the sections labelled "OLD", "REBEL13", and "DEDICATED -> DEDICATED AS UCI".


2

The Internet Archive has lots of browser-playable Chess games: https://archive.org/details/softwarelibrary_msdos_games?query=chess&sort=-downloads


3

The other excellent answer by Brian Towers ♦ provides individual perhaps-ideal direct links, but you may see further benefit from your own search on The Internet Archive (https://archive.org) which has a vast collection of ancient (ha) software, including some chess software A query like this may be all you need to get at them https://archive.org/details/...


13

Fritz 5.32 (I'm guessing the first 32 bit version) dates from about 20 years ago, I think. That is available for download via the wayback machine here. Note that you will probably need to install it in compatibility mode as Windows 98/ME on Windows 7. Not sure if you can do this on Win 10. The oldest version of Crafty I could find, another old favourite, was ...


1

A simple board material evaluation using python-chess. Code import chess PV = { 'pawn': 100, 'knight': 320, 'bishop': 330, 'rook': 500, 'queen': 950 } DRAW_VALUE = 0 def evaluation(board): if board.is_insufficient_material(): return DRAW_VALUE wp = len(board.pieces(chess.PAWN, chess.WHITE)) bp = len(board.pieces(...


0

The usually basic evaluation people will start off with consistent material balance and piece-square tables. The material balance makes sure the engine understands basic ideas of trading and tactics, while the piece-square tables make sure the engine plays reasonable chess and encourages ideas like pushing pawns in the endgame or centralizing knights. It ...


1

1. Open arena 2. Load engine 3. Press Engines->Log window 4. Press commands under Engine Debug window 5. In the dropdown textbox, input command like uci, etc. then press send button. 6. Also you can press help button to get help.


3

One way is by using the python chess library. Install python Install python chess with pip install chess p.py import chess.pgn fn = 's.pgn' with open(fn, encoding='utf-8') as h: while True: game = chess.pgn.read_game(h) if game is None: break for node in game.mainline(): comment = node.comment ...


0

What you describe is called the Odd-Even Effect, see https://www.chessprogramming.org/Odd-Even_Effect There are some observations one can make here. One is that in a plain alpha-beta implementation, going from an even to an odd ply will take a longer amount of time than going from an odd to an even ply. This has to do with how the algorithm operates. I'll ...


1

Nodes are just positions encountered or seen or visited during a search. Positions can be generated when an engine makes a move internally. Example: Starting from start position the engine may explore e4 e5, that is 3 nodes. startpos = 1 (fen: rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1) pos after e4 = 1 (fen: rnbqkbnr/pppppppp/8/8/4P3/8/...


2

In even depth search in the final position, the first player does not move again, but internally it has the side to move. At depth 0 it will normally call qsearch(). For odd depth search in the final position the second player has the side to move internally but it will not make a move. All of these searches do need another condition that is on search depth ...


3

An engine's hash table is a data structure where the engine stores positions and evaluations which it already calculated. The parameter hashfull tells what permille full the hash is, i.e. how full it is on a scale of 0-1000. Hashfull 0 means that the hash is empty, no data is being stored. Hashfull 1000 means that the hash is full, and no more data can be ...


2

Tried to run it with engines from CCRL blitz rating list using common 16 opening positions without adjudications. Each opening is played twice such that each engine handles both white and black side from the start of the game. The games are played at TC 1min + 1sec inc. The result is as expected, as the rating of the opposition increases the number of ...


1

This kind of cheating provides a big (150-200, maybe more) elo advantage, according to a GM I asked. Check out this position: [FEN "5k2/8/5pK1/3B1P1P/3n4/8/3b4/8 w - - 0 1"] (Black to play) This position is from Carlsen-Caruana, World Chess Championship 2018, game 6. Before consulting an engine, how would you evaluate the position? I suspect most ...


0

You are correct that using the same position evaluation function would make a difference at odd depth compared to even depth. Indeed, in many (turn-based) abstract games including chess, the average board position favours the player who has the turn. The fact that there are exceptions to the average (called zugzwang) does not change the fact that tempo is ...


7

I'd treat this as a Bayesian inverse probability problem. Per Laplace's rule-of-succession solution of the sunrise problem (see https://en.wikipedia.org/wiki/Rule_of_succession and https://en.wikipedia.org/wiki/Sunrise_problem), it follows that if an engine wins n out of n games, its rating should be estimated as if it played n+3 games, winning n+1, drawing ...


0

You could let the engine play with a handicap (e.g. rook down). Then, you need to calibrate how much rating delta a missing rook means. I saw some numbers that estimated one point of material to be a delta of 100 points. This calibration could be done through self-play. Let the engine play against itself and see how much a rook is worth. A downside of this ...


2

According to bayeselo program if the best wins 1k games without loses and draws and setting the opponent rating to 1000, it will get 2092. Rank Name: Elo + - games score oppo. draws win loss draw 1 best: 2092 170 83 1000 100% 1000 0% 1000 0 0 2 p1 : 1000 83 170 1000 0% 2092 0% 0 1000 0 1M games: ...


11

There're a few ways to do it: Add 400 rating to the top opponent and take that as an approximation (used by USCF) Add a draw for the engine against itself Assign an infinite rating Use linear approximation By the way "win every game against the most powerful engines and players" is realistically not happening, because chess is a draw** and top ...


2

While there will be no concrete answer to this, there are few methods of approximation. We can play it against a 7 man tablebase, and for the sake of ELO rating we can assume that its strength in the middlegame or the opening is the same as the endgame. The number of losses that an endgame tablebase delivers to it (giving the borderline winning side to the ...


2

How much of an advantage would this really give? I assume for lower-rated players this would barely do anything, but for more skilled players, would this really be a lot? Knowing the score is a huge advantage in an online chess game. You can adjust your strategy based on the score. This is like inside stock trading. How would something like this even be ...


1

Assuming there's no horizon effect, there should be no significant difference between a position with only the who to move being changed, although the initiative does have some difference in the evaluation, it's hard to program in a static position. (Since a move can both have a positive and negative effect, this can be ignored.)


5

I assume for lower-rated players this would barely do anything, but for more skilled players, would this really be a lot? I would expect it to be the opposite. Very low Elo players often hang a piece for several turns, with neither players noticing it. If a player sees the eval bar suddenly move several points, they can look for a hanging piece, available ...


3

Further to Edward's answre, suppose that a weakness of the player is that they are poor at spotting sound combinations that start with sacrifices. They might see BxP+ but reject it because it loses bishop for pawn, without seeing the longer-term advantage of a sound attack over the next few moves. Then their knowledge of the eval bar might encourage them to ...


11

For 1): The player that uses an eval bar will successfully capitalize on opponents' mistakes more often than the player that does not, playing like a higher-rated player in this regard. However, they will not make fewer losing mistakes than a player at their true strength. The player will almost always spend more time thinking about a move following an ...


-1

The evaluation is based on general results from the engine’s tablebase. It thinks by positional means, and looks forward a few moves. It looks in its programmed tables and sees, ‘Ah, an open file is worth about .5 pawns (for example).’ Then it sees if it is also in this case a .5 advantage, and using this for many more details in the position, the computer ...


Top 50 recent answers are included