Not logged inRybka Chess Community Forum
1 2 3 4 5 Previous Next  
- - By Vasik Rajlich (Silver) Date 2008-08-05 16:32 Edited 2008-10-26 10:19
You can find the release notes here:

                                        ||     Rybka 3 FAQ     ||

                    |   Customer Support   |

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 can 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.

                    |   Installation   |

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 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 Settings\Administrator\Application Data\ChessBase\Engines.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 ( for a workaround.

                    |   Opening Book   |

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 standalone product?

No. You need an interface which is able to read .ctg books (ie. Interfaces from the ChessBase family (natively) or Aquarium (read only)).

Can I get the book via download?

No. The Rybka book is available only on DVD.

                    |   Orders   |

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.

                    |   Graphical Interfaces   |

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.

                    |   Technical   |

What is the mapping between Rybka's evaluation scores and winning percentages?

In normal positions, each centipawn of Rybka's evaluation is worth roughly 3 Elo points. For scores reasonably close to 0, this translates to approximately 0.5% in winning chances. So, for example, an evaluation score of +0.20 is worth around 60 Elo and translates to an expected score of 60%. More discussion can be found here.

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.

In the ChessBase Rybka 3 interface, the kn/s often plummets to really low values. Is this normal?

Yes, this is a GUI issue. The GUI does its own kn/s calculations, using the last node count reported by the engine and the actual most recent time measurement. Rybka doesn't always report updated node counts, causing older (and lower) values to be used.

Why are Rybka 3's depth and kn/s so low when compared to other engines?  What are the numbers actually a measure of?

Nodes and plies (ie. depths) are just internal counters, they don't have any user meaning or tell you anything about the engine. You can only compare Rybka 3 nodes with Rybka 3 nodes and Rybka 3 plies with Rybka 3 plies.

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: Rybka 2.3.2a-64 was reaching a depth of 16 in 1 min 20 sec, while Rybka 3 took 10 minutes to reach same depth on the 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.

Is there a consequence for the user of the lower depths and node counts of Rybka 3?

Essentially, no. Rybka 3 is quite a bit different than Rybka 2.3.2a, with a different search and evaluation, and no doubt there will be some subtle differences in the best way to use her for analysis, but the differences should not be huge, there is no easy way to summarize them, and they won't be tied directly to depths & node counts.

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.

Do the above points apply to analysis mode and game-play mode equally?

Yes. There is no difference between game play and analysis, aside from a few details like the handling of contempt.

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 effective speedup for Rybka 3 when running on a multi-processor platform?

We'll post these figures as soon as they are available.

What is the improvement in playing strength compared to previous Rybka versions?

We'll post these figures as soon as they are available.

When I run the multi-processor Rybka several times, I get different answers, even if I clear the hash or reset the computer before each run.

This is normal. Rybka's multi-processor implementation is non-deterministic and will give slightly different answers from run to run.

Given Rybka's multi-processor non-determinism, is the multi-processor version expected to be much slower in deep tactical positions? If yes, does that mean that when we want to search for tactics, it's a good idea to set MaxCPUs=1 to ensure that we find them?

No, and definitely not. The multi-processor version is much faster on average on machines with multiple processors.

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.

                    |   Features   |

What is Monte-Carlo and how exactly does it work?

The Rybka 3 engine provides a basic Monte-Carlo capability by being able to vary her play in revisited positions. This enables a Rybka vs Rybka match from some particular starting position to randomly sample the game result space for that position. It's up to interface designers to take advantage of this capability.

With the sampled search enabled, Rybka appears to search a slightly different search tree. Is this right?

Yes, but the changes are negligible. During the construction of the search samples, a few data tables are updated. There is no real difference between the search work during a sampled search and an unsampled search.

                    |   Versions   |

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.

Why and in what situations we might want to use these alternative Human and Dynamic versions? What is the logic behind creating them? Is it worth it to analyze a position with Rybka, and also look at it with Rybka Dynamic, or would it be better to just let Rybka think longer?

In the course of his work, Larry found a number of discrepancies between what human grandmasters believe and what works in Rybka vs Rybka play. This is how the Human version was born. There are four hypotheses about this discrepancy:

1) Humans are systematically irrational in these areas of discrepancy.
2) Rybka is missing evaluation terms related to these areas of discrepancy.
3) Human grandmasters and Rybka have each rationally adapted their play to suit their unique strengths and weaknesses.
4) These concepts from human grandmaster practice will also work in Rybka vs Rybka play at longer time controls - they only fail in the ultra-fast games which we are forced to use in our tests to reach statistical significance.

This is an unclear and interesting topic and at the moment we have more questions than answers.

The Dynamic version is simply a less materialistic version of the Human version.

As for how users should best use these, this too is an open question.

                    |   Persistent Hash   |

Where does one find the persistent hash parameters such as 'Save Hash' and 'Load Hash'?

They will be buttons in the engine parameter pane.

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.

Why does a merge of two Persistent Hash files not increase the size of the merged file?

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.

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.

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.

Note: The "Play Depth" parameter is not used by Rybka 3. Please see the bugs section of the FAQ for details.

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.

                    |   Engine Parameters   |

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.

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.

                    |   Game Play   |

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.

                    |   Future Schedule   |

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 (see installation section of this FAQ for details), 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.

                    |   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 allocate a hash size of 512 MB, the task manager shows that each of the Rybka processes is using 512 MB. Is this correct?
No - this is a bug (or odd feature) in the task manager. There is only one hash table, which is shared between the Rybka processes.

In other words, you can allocate roughly half of your RAM for the hash table without overflowing your available RAM, despite the task manager's indications to the contrary.

                    |   Unusual Problems   |

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".

                    |   Bugs   |

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.

Rybka does not appear to work properly with tablebases. It seems that in some positions, she acts as if no tablebases were installed.

Indeed, in multi-processor mode, Rybka sporadically ignores tablebase information in the search. A summary of this bug can be found here. When we have more information, we'll make it available.
Parent - - By Vasik Rajlich (Silver) Date 2008-07-24 08:32 Edited 2008-08-07 10:04
A user area for Rybka 3 is under construction:

If anyone has any questions which are appropriate for a FAQ, please ask them here.


ps. In other news, we hit engine code freeze and are now testing. Everything looks ok, we're very close. A huge thanks to everyone on the team.
Parent - By pokerpawn (***) Date 2008-07-24 09:17

very nice , certainly for someone fairly new to computer chess
Parent - - By George Tsavdaris (****) Date 2008-07-24 10:00 Edited 2008-07-24 10:19
For the Rybka 2.x you gave a speedup per number of cores, table. Can you do the same with Rybka 3?
Comparisons are always interesting..... :-)

What about this Monte Carlo. How exactly it works? 
What is the difference between the different implementations in Chessbase GUI and in Aquarium GUI?

Does node counts reflect the true multi-processing efficiency for Deep Rybka 3(Rybka 3 mp)?

As i remember you mentioned something about encryption in new Rybka. After the recent tries to decompile Rybka i think this is justified. But honestly, would that make Rybka a little bit slower? So would this remove from her some ELO points?

These for a start.... :-P
Parent - - By lkaufman (*****) Date 2008-07-26 02:38
I think encryption does cost some Elo points. Probably that's why my testing only shows +135 over 2.32a, now we have an excuse!
Parent - - By Geomusic (*****) Date 2008-07-26 08:51
I thought it was 195 ELO over 2.3.2a but 135 over the rest :)
Parent - - By lkaufman (*****) Date 2008-07-26 14:17
No, 135 better than 2.3.2a in terms of performance against other program, but +195 in a direct matchup. 
Parent - By Geomusic (*****) Date 2008-07-26 14:18
Yes, this is what I meant. +195 in direct matchplay :)
Parent - By George Tsavdaris (****) Date 2008-07-26 09:36
Oh bad news. :-(
I hope Vasik can say something about that and his estimation on how much does it cost....
Parent - - By galaxy07 Date 2008-07-31 14:34
What's the use on encryption? The code has to be decrypted at runtime, and someone who really wants to break Rybka will easily break the encryption.
Or do I miss something?
Parent - By lkaufman (*****) Date 2008-07-31 14:45
This is outside my sphere of expertise.
Parent - - By Gr00vy (**) Date 2008-08-01 00:27
It breaks simple decompiling tools.

But yes you can use something like ICE and get at decrypted memory segments, and someone may well be able to get to the evaluation code and the search code, and break it down...  But this is really hard.  ICE is used by the "community" to simply get around various management checks, or to identify encryption codes, but fully understanding a chess engine.  Difficult to do, and generally against the rules of reverse engineering.  The only interesting possibility would be from the playchess community that does it in order to add or tweak terms for rating potential.  But that will do little for the general community or improve general knowledge. 

The question is of course, whether or not people will even want to pony up after being knocked so far back.  I am willing to bet the buying public is going to be willing to pay for Rybka and won't really be interested in a competitive upgrade unless it achieved greater than parity.  That would take a lot of work.

My personal belief, is that the next major upgrade comes from a wildly different use of multiple processors than scaling search depth (which is eventually a losing game), whether than happens in Rybka first is to be seen.

The interesting thing will be if Rybka goes ID on the community and release older product under open source licenses.  This will expand the knowledge base, but their current product would remain cutting edge, and may some day dramatically improve Crafty:-)
Parent - By BB (****) Date 2008-08-01 04:07

>It breaks simple decompiling tools.

On the other hand, as the original poster indicated, no one who is serious would be using "simple" tools.

>But yes you can use something like ICE and get at decrypted memory segments

Why would you use ICE? Just run the programme, and (if it responds to signals) attach a debugger. Then dump the memory (possibly at various execution points). Unless the programme is constantly doing en/decoding (unlikely in a speed-critical world), this should yield the desired code (and the programme flow should be apparent also).

>but fully understanding a chess engine.  Difficult to do, and generally against the rules of reverse engineering.  someone may well be able to get to the evaluation code and the search code, and break it down...  But this is really hard.

The difficulty is somewhat eased if you have written a bitboard engine yourself. Is application-specific knowledge against the "rules of reverse engineering"?

>The only interesting possibility would be from the playchess community that does it in order to add or tweak terms for rating potential.  But that will do little for the general community or improve general knowledge.

I don't see why not. If there were a programme that allowed R3 terms to be tweaked (ideally it would modify the executable, but with sufficient encryption this might be dodgy, and so a runtime solution would be preferable), it might be quite popular. Admittedly, making an eval-tweaker is substantially easier then recovering a working source via RE.
Parent - By grolich (***) Date 2008-08-04 13:08
ICE? why the hell would somebody want to do that? That's only for very special purposes.

no hardware is needed.

The code has to run decrypted in memory.

Just use a debugger.
It doesn't even matter if the signal responses got tweaked, AND if in conjunction with that tests for kernel level debuggers are active,

since those tests can be easily broken by anyone who has done some serious reverse engineering in the past.

As for understanding Chess program logic from pure assembly code, it may be difficult, but FAR from impossible.

EVEN if decompilers could not be used after you have worked hard enough to obtain the full memory map of the unencrypted process code (and unfortunately, they can),

there are people whose jobs are pretty much THAT: to understand the inner workings of complex programs from the assembly code (sometimes even partial assembly codes).

So it is very possible that someone will do that.
Even by a reverse engineering wizard, it may take a while, but if he\she is good enough, It will take far less time than it takes for the next version to come out.

Luckily for Vas, there may be no one of such a level of proficiency interested in computer Chess that badly (and as for Strelka, No evidence is there that the one who did it is THAT good).

So it can be done with many known software tools and some knowledge (and preferably, a working brain),
and if done on time, it can cause some damage to Rybka sales (or help competitors, if some of them would stoop so low. But probably none will.)

But of course the encryption does have the advantage of making all this more difficult and "weeding out" many would be reverse engineers who can only handle simple reverse engineering tasks, which I guess was Vas's goal anyway.

In that regard, it's a great idea, giving Vas a lot of breathing room for the time being, to (at least temporarily) not have to worry about this issue.
Parent - - By Felix Kling (Gold) Date 2008-07-24 10:11
Hi Vas, of course my brother and me will improve the design of that page a bit :)

Give me some days...
Parent - - By Charles (**) Date 2008-08-18 07:07
A very minor, insignificant thing, on this page

The link in the orange colored heading 'Rybka 3 opening book by Jeroen Noomen' points to the persistent hash page.

Parent - By Felix Kling (Gold) Date 2008-08-18 10:46
oh, how could that happen? another case of lazy copy paste errors ;)

Thanks for the information :)
Parent - - By peter carvalho (*) Date 2008-07-24 12:13
I had a difficulty with the tablebases in Rybka 2.3 and chess openings in that in evaluating the endgame position for six piece endgame the Rybka engine and the tablebases would give different evaluation FOr example a drwan position as per tablebases six piece would get an evalution of even +5.00 sometimes. Will this change in chess assistant 10 and Aquarium.
Parent - By Victor Zakharov (*****) Date 2008-07-24 13:47
+5.00 evaluation means that proper tablebases were not loaded or were not loaded properly. The exact steps may be discussed with support persons. I may offer to ask this question in Aquarium subforum. So this can be discussed what you need to check.
Parent - - By Axel Caro (**) Date 2008-07-24 13:49
Hi Vas,

good idea these FAQ! Some screenshots will be great and - if possible - some video-capturing (e.g. with adobe captivate or freeware) would be highly appreciated and could set new standards (setting new standards - that's what you're used to create, isn't it?!) ;-)

Some first ideas for general questions:

- How to play online?
- How to use positions from other resources (e.g. internet, pgn, epd, fen...)?
- Highlights of the Aquarium GUI?
- ... 

Thanks for your and your teams inspiring masterwork!

Best regards
Parent - By Victor Zakharov (*****) Date 2008-07-24 14:08
This is more questions to GUI. Yes, we can this FAQ separately.
Parent - By Felix Kling (Gold) Date 2008-07-24 14:14


- How to play online?
- How to use positions from other resources (e.g. internet, pgn, epd, fen...)?
- Highlights of the Aquarium GUI?"

Those are GUI questions. Maybe we can offer that, too, but links to the websites of Convekta or Chessbase may be best for now. We should wait for the release of the GUIs so that we know exactly what the GUIs offer.

Screenshots how to handle persistant hash in Aquarium or the Fritz GUI would be a good idea, but this is also for after the release when we have the final versions.
Parent - - By Kapaun (****) Date 2008-07-24 20:33 Edited 2008-07-24 20:53
How does persistent hash work: Will it add information just when analysing? Or when playing normal games, too? How does PH work together with trees from IDeA etc. in Aquarium? 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?

Obviously there are quite some differences between randomizer, CB's Monte Carlo option and Aquarium's Monte Carlo option - which?

Is the ply count different, and if so, in which way?
Parent - - By Dadi Jonsson (Silver) Date 2008-07-24 20:38

> How does persistent hash work?

Did you have a look at the Rybka 3 user area?
Parent - - By Kapaun (****) Date 2008-07-24 20:52
Yes, I just had.... Ooops :) Adapted now.
Parent - By Dhanish (***) Date 2008-07-28 10:12
Upstream propagation of Persistent Hash: How is it different from the old position learning?
Parent - By wajit (**) Date 2008-07-24 21:51
Vas now that you hit a code freeze.  For those of us that do not want to wait for the mail.  Are you going to have this software with aquarium downloadable from a website or FTP? or you can only get it on CD?
Parent - By Caissafan (***) Date 2008-07-25 15:05
That's a first step into the right direction now!  :-)

What about the usual engine options as Hash, Outlook, Rate Of Play etc.?
Thank  you.
Parent - - By Ricardo_dk (*) Date 2008-07-25 16:08
What is the difference between rybka aquarium and the rybka which is selling in
Parent - - By Victor Zakharov (*****) Date 2008-07-25 16:09
it is the same engines
Parent - - By Ricardo_dk (*) Date 2008-07-25 16:20
Thanks for the answerI have junior 10 in my pc, can I use rybka 3 as a engine in the junior 10 program??
Parent - - By Victor Zakharov (*****) Date 2008-07-25 16:28
I suppose that you can.

Check that you have Create UCI engine menu item.

Some Rybka 3 extensions will be un-accessible in old GUIs.
Parent - - By Ricardo_dk (*) Date 2008-08-10 11:58
Hi, what do you mean with some extensions??

Parent - By Vempele (Silver) Date 2008-08-10 12:05
Sampled search and hash browsing, for example.
Parent - - By Vempele (Silver) Date 2008-07-25 19:26

>Contempt Analyze: Similar to Contempt Play - the degree to which Rybka considers the side-to-move the stronger player during analysis.

Change 'side-to-move' to 'white', and it'll actually be usable. As it is, it's especially bad with automated analysis.
Parent - By lkaufman (*****) Date 2008-07-26 02:44
Yes, I like this suggestion very much. Normally you would not use contempt to analyze anyway, so zero is the default, but it might be useful if you want to analyze with the assumption that one particular side needs to try for the win or just for the draw, and you could input a negative number if you want Black to have contempt.
Parent - - By Vasik Rajlich (Silver) Date 2008-07-26 21:05
Excellent idea, thanks. I changed it in time for Rybka 3.

This is another good reason to split Contempt Play from Contempt Analysis.

Parent - By Uly (Gold) Date 2008-07-26 21:13
Wow, I also mentioned time management and it got fixed the next day, I wonder what will get added in the next days before release.
Parent - - By nine castles (**) Date 2008-07-25 22:23
Vas, what is the schedule for a release of a linux binary? Thanks!
Parent - - By Roland Rösler (****) Date 2008-07-26 00:08
Very soooooon! :-)
Parent - - By Fulcrum2000 (****) Date 2008-07-26 00:10
Spring-ish I guess ;)
Parent - - By nine castles (**) Date 2008-07-26 01:35
Spring has already passed here... do you mean spring 2009? :(
Parent - By Uly (Gold) Date 2008-07-26 01:45
A year hasn't been stated for a reason, it could be 2010 :-/
Parent - - By Roland Rösler (****) Date 2008-07-26 02:29
Please excuse our joking. We have some experience with schedule Vas has made in the past.
Parent - By nine castles (**) Date 2008-07-26 21:52
Well if the advertised strength increase has truly been achieved, then it seems Vas has done correctly to focus on that instead of other matters. But Linux and I think OSX users are hungry too :)
Parent - By Vempele (Silver) Date 2008-07-26 08:26

>Spring has already passed here...

Rybka 3 will be released first in the southern hemisphere. :-D
Parent - By Sesse (****) Date 2008-07-26 22:25
cat microwine Rybka.exe >> rybka.elf
chmod +x rybka.elf

Profit! *g*

Granted, there's been reports that microwine doesn't work with the latest Rybka 3 betas. I sincerely hope this is not due to some new encryption scheme (there's been rumors that there will be one); I'm pretty sure I won't be cracking Rybka to make it work with microwine...

/* Steinar */
Parent - - By Vempele (Silver) Date 2008-07-26 11:20 Edited 2008-07-26 11:24

>If anyone has any questions which are appropriate for a FAQ, please ask them here.

For the love of $Deity, no graphics card or gaming console is going run Rybka a hundred times faster! Or, in fact, any faster at all.

The next time anyone asks that question, I'm going to link to this post.
Parent - - By Ricardo_dk (*) Date 2008-07-27 18:40
what is the difference between rybka 3 and aquarium name?
I am living i Denmark, until now i cannot see in any chees store rybka 3, do you know when is rybka 3 coming to Danmark?

Parent - By Felix Kling (Gold) Date 2008-07-27 19:23
Aquarium is a GUI developed by Convekta for Rybka
1 2 3 4 5 Previous Next  

Powered by mwForum 2.27.4 © 1999-2012 Markus Wichitill