Rybka 3 FAQ
When I order Rybka 3 from the RybkaChess ordering page, an additional 6-Euro item for "Extended Download Service" is added my order. Why?
It is standard Share-it policy to automatically add this service by default to every download-link order. Assuming that you are happy with the standard 2-week window for carrying out your download, you should manually deselect this item from your order by clicking its "remove" button.
I have trouble with my order. Can you help?
For RybkaChess orders, please contact Share-It - they are responsible for all RybkaChess ordering issues. For orders from ChessBase, Convekta or re-sellers, please contact the seller in question.
I need help using Rybka or have an engine question. Can you help?
Rybka customer support is done by the entire Rybka team on the Rybka forum. Please allow for a response time of 72 hours.
The GUI requires a file with an extension of .exe, but the downloaded Rybka file ends with the extension .rar. What can I do?
The Rybka .rar file is a compressed archive which needs to be unpacked. You should:
1) Download and install WinRar
2) Double-click the Rybka .rar file in order to unpack the embedded Rybka .exe files
3) Proceed with the installation
Can I use Rybka under Linux?
32-bit Rybka compiles do work properly with Wine. 64-bit Rybka compiles can be used via a special "MicroWine" which has been put together for Rybka by Steinar H. Gunderson. (Thanks!)
The Shredder interface (ie. from shredderchess.com) won't install Rybka 3, claiming that she is not a UCI engine.
The Shredder interface requires file names without any blanks. You should delete the blanks from the Rybka filename before installation. For example, "Rybka 3 1-cpu 32-bit.exe" can be renamed to "Rybka31-cpu32-bit.exe".
I've added Rybka as a UCI engine to Fritz 11 but she shows up with the name "Rybka 3 2.3.2a mp". Is this expected?
No. The Fritz interface sometimes gets confused about installed engines. You'll have to either re-install Fritz 11 or clean up the engine list manually by deleting or editing the self-explanatory text *.uci files which are kept in:
C:Documents and SettingsAdministratorApplication DataChessBaseEngines.UCI
Note: "Administrator" should be replaced by your username if appropriate.
Note 2: Another tip from CB to solve this problem in GUI11 is to load a CB Native engine before doing create uci. It's not clear why exactly this would work, but apparently it does.
When I try to load Rybka Human into Fritz, the operation fails with a pop-up saying "Rybka 3 Human must be modified".
This message usually pops up in the Fritz GUIs when you have changed the default parameters during the installation. In order to finish the installation process, you must first change the engine name in the window, for example to "Rybka 3 big contempt".
Chess Assistant 8 complains that Rybka 3 is not a UCI engine. What should I do?
This is a known bug in Chess Assistant 8. First try increasing the timeout interval. If this fails, please contact Convekta (email@example.com) for a workaround.
How can I get the Rybka opening book?
The Rybka book by Jeroen Noomen is handled exclusively by ChessBase. It can be obtained from ChessBase or their re-sellers.
Is the book a truly standalone product?
No, you need an interface that is able to open .ctg books (i.e. Chessbase/Fritz or Aquarium) to use the opening book.
Can I get the book via download?
No. The Rybka book is available only on DVD.
When will Rybka 3 be released?
Downloads will start Wednesday August 6. The exact schedule for DVD shipments is up to ChessBase and Convekta.
When will Rybka 4 be released?
Not earlier than July 2009. Rybka 3 will be the best publicly available Rybka version for at least 11 months.
Can Rybka 3 be pre-ordered from RybkaChess? Are there discounts for Rybka 2 customers? Will there be free updates for Rybka 3? Will there be discounts for Rybka 4 customers?
In the interest of simplicity, no to all of the above.
Can I get Rybka 3 via download?
Yes. This option is supported by RybkaChess and Convekta.
Can I get Rybka 3 on DVD?
Yes. This option is supported by Convekta and ChessBase.
What interface should I use with Rybka?
Any UCI-compliant interface is fine. Two interfaces have been specially adapted to Rybka: Aquarium by Convekta and the Fritz interface sold with Rybka 3 by ChessBase.
Are there any differences between the Rybka versions available from RybkaChess, ChessBase and Convekta?
No. The Rybka versions themselves are identical and all use UCI. The two interfaces do differ in various ways, including in the way they handle the special UCI extensions added to Rybka 3.
What are the special Rybka features which the Fritz and Aquarium interfaces have added?
We'll leave it to ChessBase and Convekta to explain and advertise these special features.
Can I use all of the new Rybka 3 features with my Fritz 9 interface?
Yes to the new engine-only features such as persistent hash. No to those new engine features which require interface support - those won't be accessible in older interfaces.
The kn/s for Rybka 3 are roughly half the kn/s for Rybka 2.3.2a. Is everything ok with my machine?
Yes. This is the expected difference.
Rybka 3 seems to take much longer to reach a given depth than Rybka 2.3.2a using infinite analysis in the ChessBase GUI. Example: R2.3.2a-64 was reaching 16 ply depth in 1 min 20 sec - R3 taking 10 minutes to reach same depth and same hardware (Q6600). Is this normal?
Yes. This is normal and expected. Rybka 3 has a different search, with a higher branching factor. The overall search efficiency of Rybka 3 is of course better.
What is the effective speedup for Rybka 3 when running on a multi-processor platform?
We'll post these figures as soon as they are available.
If Rybka 2.3.2a searches for 3 minutes and reports a depth of 19, while Rybka 3 searches for 3 minutes and reports a depth of 18, does this mean that Rybka 2.3.2a has looked into the position to a greater depth, and therefore must be "seeing" more by looking deeper (even though the breadth may be lesser)?
No, not at all. The depth is just a number Rybka uses to keep track of her search. It does not indicate any breadth vs depth tradeoff or anything else which might be meaningful to the user. All you can say is that depth X+1 for Rybka 3 is deeper than depth X for Rybka 3.
Are Rybka's node counts on multi-processor machines literal?
No. They are adjusted for the estimated multi-processor efficiency so that they can be used to compare Rybka performance on machines with different numbers of cores.
Rybka's kn/s figure doesn't increase much when she runs on machines with more processors, compared to other programs. Does this mean that she scales worse on such hardware?
No. Rybka's kn/s on multi-processor machines reflects the estimated multi-processor efficiency, so that her kn/s figures provides a true speedup. Other engines typically display literal node counts, which include many "wasted" nodes, and this can give a false impression of a better multi-processor scaling.
Has Rybka been slowed down to prevent decompilation?
No. We have a much better way to deal with this issue - just wait a bit and you'll see :) .
What is the improvement in playing strength compared to previous Rybka versions?
We'll post these figures as soon as they are available.
Is there a simple way to test whether Rybka is using tablebases correctly?
Sure. Just give her a simple king and pawn endgame and you'll know very quickly
Does Rybka 3 consider all pawn underpromotions?
No. Underpromotions to bishops are never considered by Rybka in her search.
There are 16 Rybka versions. Which one is which?
Rybka 3.exe --- Default Multi-Processor 64-bit
Rybka 3 32-bit.exe --- Default Multi-Processor 32-bit
Rybka 3 1-cpu.exe --- Default Single-Processor 64-bit
Rybka 3 1-cpu 32-bit.exe --- Default Single-Processor 32-bit
Rybka 3 Human.exe --- Human Multi-Processor 64-bit
Rybka 3 Human 32-bit.exe --- Human Multi-Processor 32-bit
Rybka 3 Human 1-cpu.exe --- Human Single-Processor 64-bit
Rybka 3 Human 1-cpu 32-bit.exe --- Human Single-Processor 32-bit
Rybka 3 Dynamic.exe --- Dynamic Multi-Processor 64-bit
Rybka 3 Dynamic 32-bit.exe --- Dynamic Multi-Processor 32-bit
Rybka 3 Dynamic 1-cpu.exe --- Dynamic Single-Processor 64-bit
Rybka 3 Dynamic 1-cpu 32-bit.exe --- Dynamic Single-Processor 32-bit
Rybka 3 960.exe --- 960 Multi-Processor 64-bit
Rybka 3 960 32-bit.exe --- 960 Multi-Processor 32-bit
Rybka 3 960 1-cpu.exe --- 960 Single-Processor 64-bit
Rybka 3 960 1-cpu 32-bit.exe --- 960 Single-Processor 32-bit
Is there any difference between the single-processor version and the multi-processor version running on one process?
No. The single-processor version is identical to the multi-processor version, with the exception that the 'Max CPUs' parameter is frozen to 1.
What happened to Rybka WinFinder?
Many WinFinder ideas made their way into the default Rybka 3, which is now quite strong tactically. In addition, a new "search for score" extension to UCI can further boost Rybka's tactical emphasis at the user's request.
Where can I find the 64-bit versions?
64-bit and 32-bit versions are included in all of the Rybka packages. 32-bit versions have the term "32-bit" in both the file name and the engine name. 64-bit versions have no special tag in either the file name or the engine name.
What are the "Human" and "Dynamic" versions?
These are special Rybka versions which evaluate positions differently. The Human version gives evaluations (and plays moves) which are more consistent with human grandmaster practice. The Dynamic version evaluates more speculatively, placing a higher emphasis on dynamic factors and a lower emphasis on static ones.
What are "static" and "dynamic" factors, and how does Rybka classify them?
Static features are ones that are unlikely to change quickly. Examples include material advantage, better pawn structure, advanced passed pawns, and better combination of pieces on the board (such as bishop pair). Dynamic features are ones that can change very quickly, such as lead in development, better mobility, and more pieces attacking the enemy king. These definitions are in various chess books. Some features are in between, and it is a matter of opinion as to which class they should be put into.
Will persistent hash store information when analyzing, or also when playing games?
Both. There is no real difference in general between play and analysis. Note that persistent hash is disabled by default and must be manually enabled.
How does persistent hash work together with trees from IDeA etc. in Aquarium?
They are separate and don't interact in any special way. The persistent hash allows Rybka to remember her analysis, while the tree format of IDeA independently remembers the appropriate tree data.
If I analyse a position which has already been analysed, but take more time now, so that the result would be better, is the better result automatically stored, overwriting the lesser result?
Yes. The persistent hash quite naturally does everything which is logical.
How is upstream propagation of the persistent hash different from the old position learning?
Position learning is a generic term. The persistent hash is one specific form of learning.
When you merge two Persistent Hash files, it's said that the "merged information will be contained in the main persistent hash file, whose size will be unchanged". When you merge two files, you actually add information, unless they're identical, and if you don't delete anything from the original "main persistent hash file", the size should always be bigger after adding new information from the secondary file. Am I missing something here?
During the merging of the two persistent hash files, higher-priority information is kept in the merged file while lower-priority information is discarded. Discussion can be found here.
Persistent hash resizing is failing for me.
Make sure that you have a good amount of extra space on your hard drive. Ditto for persistent hash merging.
Persistent hash resizing is failing for me.
Persistent hash resizing and merging only works with relative filenames (ie. "Main.rph") and not absolute filenames (ie. "C:Main.rph"). See the bugs section for workarounds.
Will the persistent hash work in the Fritz 10 GUI or do you need Aquarium to use it?
It will work in every interface.
When I'm working with Rybka 3 under Fritz10 with persistent hash I can set the path for the hash files and the saved hash file to be stored, but where is the "save hash-button" which I have to invoke to store the hash File (.rsh)? I can only find the stored persisten hash file .rph not .rsh
Older versions of the Fritz interface don't support UCI button parameters, so hash saving and hash loading are not possible in those interfaces.
I'm working with Rybka 3 under the Fritz 10 interface. Where are the "Save Hash" and "Load Hash" buttons?
Versions of the Fritz interface which are older than the Rybka 3 version (ie. up to and including Fritz 11) do not support UCI button parameters, so hash saving and hash loading are not possible in those interfaces.
Does the persistent hash slow down the engine?
No. Any slowdown is negligible.
Should I get a faster hard drive (perhaps a pen drive) to store the persistent hash?
No. The improvement in persistent hash performance from a faster hard drive is negligible.
Is the persistent hash also useful in blitz games?
Sure, it can be used to play the first few moves out of book, in positions which have been enountered before but not often enough to include in the opening book. The 'Play Depth' parameter indicates the depth of persistent hash entry needed for Rybka to play an instant move during a game. Make sure to set it to a value consistent with the existing time control.
Is the 'preserve analysis' option useful in blitz games?
No. Preserve analysis is intended for scenarios where analyzed positions will later be revisited.
Do "Preserve Analysis" and "Persistent Hash" amount to almost the same thing?
The mechanisms are completely independent, although they have a similar aim, which is to keep older analysis around.
Preserve Analysis will decrease engine performance and it will be lost when the engine quits. Persistent hash doesn't decrease performance and the analysis is kept between sessions.
Can you exchange persistent hash files between the Aquarium Rybka and the ChessBase Rybka?
Yes. The persistent hash files are handled purely by the engine.
Will Rybka mix analysis done with different contempt settings in the persistent hash? Does she do anything to correct for the inconsistencies which this can lead to?
Yes to the first question, no to the second.
Rybka will always write to and read from the persistent hash when the persistent hash is enabled. If analysis is done at different times with different contempt values, the various values in the persistent hash may not be completely consistent with each other. This shouldn't be a big problem. If you'd like to avoid it, you'll have to manage your persistent hash files manually.
It seems that the persistent hash file is not updated until Rybka closes. Is this correct?
No. The persistent hash file is written to and read from continuously during Rybka searches when this feature is enabled. However, Windows doesn't actually update the file date until Rybka closes the file.
What happened to the "search outlook" parameter from earlier Rybka versions?
The search has changed and this parameter doesn't really make sense any more.
Is it correct that the contempt is on by default in matches but not in analysis?
Yes. Default contempt for game play is 15, giving Rybka an ambitious playing style. Default contempt for analysis is 0, giving Rybka an objective approach to analysis.
Does Rybka support the UCI_SetPositionValue parameter?
No, but there is something similar in the Rybka 3 UCI extensions. Details will be available shortly.
How accurate is the UCI_Elo parameter?
From a pure strength point of view, it should be quite accurate, probably within 100 Elo. From a stylistic point of view, it's hard to say. Weak human players are often quite irrational and it's not clear if their mistakes follow any real patterns.
Will a Linux release be made in the near future?
Probably not. We will consider ports of all types in the next few months, but Rybka does already run under Linux using emulators, so this one is not a top priority.
What is still left for rybka 4? Have you not run out of ideas yet or can we still expect more?
Sure, there is a lot left to do. We're at an excellent point right now for further progress.
I need to collect high-depth evals of all moves that are within (say) 3.00 of the top move. If there are 45 of them, and I set MultiPV_cp to 300 and MultiPV to (say) 100, will I see all 45 PVs, or is there a cutoff of 10 or 20?
All 45 PVs will be shown in this case. There is no limit on the number of PVs which can be shown.
Is there still an option to give 90% or 80% etc. of cycles to Rybka 3, as for 2.3.*? I've found this vital not only for my laptop but also for running analysis in the background on our family quad-core desktop.
No, this option no longer exists. On a quad-core, you can limit Rybka's CPU consumption by setting 'Max CPUs' to 3.
How does Rybka's contempt work?
In Rybka 2.3.2a, it only affects immediate draw decisions, like whether to repeat position or allow fifty move rule draw. In Rybka 3, it is very important. It affects many aspects of play, such as whether to seek or avoid even trades, whether to open or close the position, whether to seek or avoid pawn symmetry, etc.
If Rybka with a contempt of 0 shows in some position a +0.60 evaluation, what evaluation will she show if the contempt is set to 100?
Somewhere between +0.60 and +1.60, depending on how complex and unbalanced the position is.
If Rybka's contempt is set to 80, and the position is an almost certain draw, what evaluation will Rybka show? +0.80 or 0.00?
0.00, to the extent that the mechanism works properly.
Essentially, the evaluation score Rybka displays should reflect her confidence in winning the game, assuming that the contempt value properly reflects the strength of the opponent.
The time buffer option is now defaulted to zero in Rybka 3. Rybka 2 versions had the default set to a 'medium' time buffer. What number of seconds time buffer in Rybka 3 would be approximately equal to the medium time buffer setting in Rybka 2?
It's not possible. The time management of Rybka 3 is completely different from that of Rybka 2.3.2a and there is no way to simulate the old behavior.
Odds & Ends
Is it useful to load 3-4-5 Nalimov tablebases in Rybka 3?
Yes, slightly. I believe that tablebases improve the quality of endgame play by an Elo point or so. This is only an opinion, as we don't have a good way to measure improvements of this type of magnitude.
When I run Rybka in a command window (following correct UCI protocol), Rybka only manages to use 7 of my 8 cores: the 7 with "below normal" priority are working (all 12.5% of CPU), but the master process with "normal" priority is stuck using 0% of CPU.
For unclear reasons, Windows sometimes idles processes which are run manually in command mode after focus is removed. This doesn't apply to processes run inside a user interface. The only fix I am aware of is leaving the focus on the process. You can always wake up the process by restoring the focus and hitting "return".
Rybka claims a mate-in-17 in a position where the fastest mate is a mate-in-24.
Indeed, this is a bug. Rybka can report overly optimistic mate lengths. We'll post more details when they become available.
Has Rybka 3 restored the Rook's Pawn + wrong-color Bishop knowledge that was taken out around Rybka 2.3.*?
No, this is also missing from Rybka 3. Tablebases can patch the problem.
When I play games with persistent hash enabled, Rybka often moves instantly, even when it seems inappropriate given the current "Persistent Hash Play Depth".
Rybka wrongly uses the "Write Depth" instead of the "Play Depth" to decide when to move instantly during game play. We suggest that you disable the persistent hash during game play.
If you'd like to explore a more sophisticated solution, you can also do one of the following:
a) Play games with the persistent hash as normal and accept some inappropriate fast moves. This may hurt game-play results, but will give the benefit of filling the persistent hash for future use.
b) Set the persistent hash "Write Depth" to some value which is a function of the time control and hardware so that a reasonable compromise is reached between writing enough useful data to the persistent hash while not playing too many instant moves.
Persistent hash merging and resizing does not work properly for me.
Persistent hash merging and resizing only works with relative filenames (ie. "Main.rph") and not with full filenames (ie. "C:Main.rph"). You'll need to use relative filenames, at least for persistent hash merging and resizing operations.
We may later release a standalone application for persistent hash maintenance such as merging, resizing, etc.