Well if you always wanted to have all your 6 piece EGTB's available, here is a solution ... although expensive! Maybe a 4 x SATA III in RAID 0 setup is more cost effective, but this wins the cool factor!
http://www.newegg.com/Product/Product.aspx?Item=N82E16820227724
http://www.newegg.com/Product/Product.aspx?Item=N82E16820227724
Wow, who in their right mind would pay that for fast EGTBs?
Someone out there must be mental enough!
What percentage roughly of 7-man TBs exist?
What percentage roughly of 7-man TBs exist?
There is a sucker born everyday Nelson. :)
Yes is true is very expensive, but these things tend to show you what will be available cheap in a couple of years. I guess you could build a SSD RAID 0 drive with 4 x SSD's cheaper, but is nice to have this on one card. The thing is that some EGTB's are really necessary for an engine to win no matter how many cores it has or how powerful the software ... As engines improve and hardware improves, the solving of those EGTB's will remain constant. I could see this being used on a dedicated chess cluster such as the Rybka Cluster ... but most likely they are already using some kind of RAID 0 SSD array for their EGTB's. This type of hardware also might be useful if the engine is built around it by providing very fast access to built up persistent hash. Of course RAM will always be faster, but with hardware really improving, there might soon be a situation where the hardware just produces too much hash for the existing RAM. I can also see this in a situation where you want to build a large "real time" Monte Carlo database alongside a dedicated card to build the database (http://www.anandtech.com/show/6017/intel-announces-xeon-phi-family-of-coprocessors-mic-goes-retail/) ... in a cluster you could dedicate one node just for that purpose with an algo where if there is no improvement in evaluation on the horizon, it could give some "only" move to improve the situation or avoid situations where a fortress might be built.
Vas?
Nah. Lukas, maybe?
Vas? Who is famous for claiming that EGTBs are good for about 1 Elo?
I think it is more like 10 to 15 ELO ... but as Vas found out the hard way, that could be the difference between winning and losing a match! The way Vas was calculating the ELO difference was not accurate, as most of his games were super fast bullet time controls. I think if you manage to get 6 EGTB's working without causing a search hit it most definetly is more than 1 ELO gain! If Rybka had all 6 piece EGTB's in its match against Zappa, it would not have lost! I think an important thing to note is that these 10 to 15 ELO are constant and regardless of how strong the hardware is. So 10 to 15 ELO for a chess entity that is trying very hard to get even a tiny ELO gain could be a big gain!
The theory is that for that 10-15 ELO gain you are losing a roughly equivalent amount by slowing down the search in the endgame. I am not buying that. Besides, you're point about EGTBs being do-or-die in critical situations is the clincher. You can't know without a post-mortem that you blew an endgame because you had the tables, but it is public humiliation if you blow an endgame because you didn't have them!
Yes it is hard to quantify how much ELO the 6 pieces are worth. They must slow down search some, and probably the slowdown in super fast bullet games (the ones Vas uses to tune Rybka) is a much larger hit to the engine than in normal or tournament conditions. But in a cluster environment the 6 pieces can be setup independent of the main search algorithm ... it can be setup on a completely independent motherboard which only triggers communication with the master if there is a good hit ... thus you get the best of both worlds. I am sure Lukas knows that and would be surprised if he didn't have that area covered. With so many cores to go around there is plenty of redundant power to do just that.
I agree that EGTBs are important, but I wouldn't be anxiously waiting for Vas to sink thousands of dollars into a large, fast solid state drive to store them!
> Vas? Who is famous for claiming that EGTBs are good for about 1 Elo?
"An analysis tool is what I am (slowly) putting together.
Writing a chess engine is like building a house. First, you put down the foundation. Then the structure. Then the walls. Finally, you put flowers in the windows.
If you like flowers, you'll just have to be a little patient :)"
~Vas, on Endgames.
"I'm not really much of a flowers guy .. apparently it's a congenital defect :)"
~Vas, on Flowers.
Yes, this was one of many issues with Rybka that were never addressed because Vas didn't find them interesting...
> Yes, this was one of many issues with Rybka that were never addressed
To be fair, most top engines are in the same status when it comes to endgame knowledge, giving high evals to drawn positions where a human can instantly see a side can't make progress.
I guess no programmer found them interesting...
As a much better chess player than the average engine developer, Vas gets held to a higher standard.
You don't need to be a strong chess player for such positions, it's as easy as playing a game, seeing the variations, and figuring out that you can't make progress.
I don't think programmers have been taken the right approach for such endgames, what they do is adding special knowledge for known drawn positions of the board so the engine tags them as 0.00 instead of using normal evaluation. This works for the special positions but leaves huge gaps for similar positions where the knowledge doesn't apply (say, a pawn on a different file doesn't make a difference for a draw result, yet the engine thinks this is winning because here its knowledge doesn't apply.)
With so many possibilities the approach of adding cases one by one becomes impractical, instead, I think the chess engine should change its paradigm of how the positions are searched because the way it builds a tree of lines no longer works, because all the leaf nodes have the wrong winning evaluation. Also, if the position is actually winning, there will be leaf nodes with right evaluation and wrong evaluation, and the engine can't tell them apart, the chance that it picks the wrong move is high.
Instead, I propose that the engine should find ways to win the position, and tag them temporary as 0.00 the ones it can't win. It can be as simple as doing something that I'd call "super-extensions", where the mainline is extended out till the end of the game (at depth 1 this shouldn't be too costly for a single leaf) or till the fail low happens where the engine realizes it can no longer win, or until the score gets to a zenith (say, root eval+4.00 cp, means 4 pawns of progress which should be enough.)
In drawn endgames, the engine will not be able to do that, because eventually 50-move rule hits in, and then, the engine can tag the whole branch without pawn moves and captures, and all the moves that transpose to it as 0.00 (temporarily), and repeat the process somewhere else. It doesn't matter if the position is actually winning, because the engine will go back to it when the other alternatives hit the 0.00 tag. Eventually the engine will be left with positions that are really winning (at least the engine can see from current position to winning position, which means the endgame isn't "dead drawn"), will prune most of the drawish positions increasing speed significantly, or tag all lines 0.00 without deviation so it'll show the right score of the position.
Currently, the engine uselessly and hopelessly reaches very high depths in such positions giving the wrong score, and all that time is wasted, so a good endgame module that takes over, at say, depth 20 onwards, would make a better time spent.
As an example, here's a position Richard Vida posted recently:
It's an obvious draw a human can defend without engine assistance, but most engines think white is totally winning. Heh, I'd love to see the Rybka Cluster analyzing this and showing a wrong winning eval up to several hours of analysis.
Well, here, if the engine switched paradigms, it could see that its mainline can't be won and that there are not possible winning deviations and the position would show a right 0.00 very fast.
Critter is currently analyzing this position correctly but I guess it's knowledge based, or based on fortress recognition that would be something too specific to be useful on other kinds of positions Critter is still analyzing wrongly.
I think the right search approach could solve such positions on the fly, and perhaps it could be used in other stages of the games as well (i.e. when two top non-transposing moves are tied in score, the engine could see and search if one of them could lead to a bigger advantage with "super-extensions".)
I don't think programmers have been taken the right approach for such endgames, what they do is adding special knowledge for known drawn positions of the board so the engine tags them as 0.00 instead of using normal evaluation. This works for the special positions but leaves huge gaps for similar positions where the knowledge doesn't apply (say, a pawn on a different file doesn't make a difference for a draw result, yet the engine thinks this is winning because here its knowledge doesn't apply.)
With so many possibilities the approach of adding cases one by one becomes impractical, instead, I think the chess engine should change its paradigm of how the positions are searched because the way it builds a tree of lines no longer works, because all the leaf nodes have the wrong winning evaluation. Also, if the position is actually winning, there will be leaf nodes with right evaluation and wrong evaluation, and the engine can't tell them apart, the chance that it picks the wrong move is high.
Instead, I propose that the engine should find ways to win the position, and tag them temporary as 0.00 the ones it can't win. It can be as simple as doing something that I'd call "super-extensions", where the mainline is extended out till the end of the game (at depth 1 this shouldn't be too costly for a single leaf) or till the fail low happens where the engine realizes it can no longer win, or until the score gets to a zenith (say, root eval+4.00 cp, means 4 pawns of progress which should be enough.)
In drawn endgames, the engine will not be able to do that, because eventually 50-move rule hits in, and then, the engine can tag the whole branch without pawn moves and captures, and all the moves that transpose to it as 0.00 (temporarily), and repeat the process somewhere else. It doesn't matter if the position is actually winning, because the engine will go back to it when the other alternatives hit the 0.00 tag. Eventually the engine will be left with positions that are really winning (at least the engine can see from current position to winning position, which means the endgame isn't "dead drawn"), will prune most of the drawish positions increasing speed significantly, or tag all lines 0.00 without deviation so it'll show the right score of the position.
Currently, the engine uselessly and hopelessly reaches very high depths in such positions giving the wrong score, and all that time is wasted, so a good endgame module that takes over, at say, depth 20 onwards, would make a better time spent.
As an example, here's a position Richard Vida posted recently:
3k4/p7/Pp6/1Pp5/2P5/2P2K2/8/3B4 w - - 0 1
It's an obvious draw a human can defend without engine assistance, but most engines think white is totally winning. Heh, I'd love to see the Rybka Cluster analyzing this and showing a wrong winning eval up to several hours of analysis.
Well, here, if the engine switched paradigms, it could see that its mainline can't be won and that there are not possible winning deviations and the position would show a right 0.00 very fast.
Critter is currently analyzing this position correctly but I guess it's knowledge based, or based on fortress recognition that would be something too specific to be useful on other kinds of positions Critter is still analyzing wrongly.
I think the right search approach could solve such positions on the fly, and perhaps it could be used in other stages of the games as well (i.e. when two top non-transposing moves are tied in score, the engine could see and search if one of them could lead to a bigger advantage with "super-extensions".)
Too bad he used the wrong analogy! In point of fact he did plant the flowers of his labor, but failed to protect them from harmful mating pests by failing to mixing into the soil the control and prevention of endgame tablebases. I suppose he is a bad gardner at that. He missed out on some of the fruits of his labors!
I wonder how long it will take before other manufacturer come on board and start manufacturing these types of components? It might throw the door open for even more innovation, and make them more affordable as a regular desktop computing hardware staple.
6 months?
Newegg is questionable supplier because of the their policy of imposing a restocking fee on returns. It is difficult to get them to accept back a defective product without charging a restocking fee. And it is even harder to reach a person at Newegg.
Does anyone have a recommended source for system components other than Newegg?
Does anyone have a recommended source for system components other than Newegg?
TigerDirect?
[Edit] They get most of their suppliers from down south-like Florida and warehouses inbetween. Newegg seems to rely on Jersey - California- the mid west. I don't trust Tiger Direct.
I think Tiger Direct does some shady selling practices like - reselling returns.
I think Tiger Direct does some shady selling practices like - reselling returns.
I 've never had that problem in the 6 years I've dealt with them. I've returned computer hardware without ever paying a restocking fee. It might be on certain items. But I've never had to do it.
What about Amazon?
Price might average slightly higher than from Newegg, but Amazon is absolutely great on returns.
Price might average slightly higher than from Newegg, but Amazon is absolutely great on returns.
You will get me into trouble if I say anything there. Oddly, if I order anything from them it is small stuff and usually for photography!
Rybka discussion?
Think out of the box! 

No point; all you find is just another box.
This is simply a great product. Someone can now provide fast access of 6-man TB for analysis in CB cloud engine at a premium fee (ducats) of course.
how about this one
http://www.fusionio.com/platforms/iodrive2-duo/
http://www.fusionio.com/platforms/iodrive2-duo/
This drive is not so special. Basically it's a RAID 0 controller card with 2 SSDs on board. You can get better performance at a lower price if you buy a good RAID controller and some good SSDs (the new Samsung 830 is great).
The reason that it is only worth 10-15 ELO is that the vast majority of the time, Rybka does not have a wrong view of the position, it knows if it is drawn losing or winning. However there are times when it will be wrong, that small percentage of time it will most likely force draw a winning position, not knowing for sure.
There does seem to be an expensive way to do this which would be to shrink the TB to only those positions that Rybka gets wrong. You could probably start with the draws at the edge. Only the full six pieces, and only the likely positions... You could then instead of keeping these in a TB (if it is a small enough number), but in the Hash. And they would just have a draw for the evaluation... If you were to do this, you could greatly minimize the need for the TB, and maximize your speed advantage at late endgame compared to an engine that constantly drops into TB checks, and I bet those 10-15 ELO becomes a very small number indeed.
There does seem to be an expensive way to do this which would be to shrink the TB to only those positions that Rybka gets wrong. You could probably start with the draws at the edge. Only the full six pieces, and only the likely positions... You could then instead of keeping these in a TB (if it is a small enough number), but in the Hash. And they would just have a draw for the evaluation... If you were to do this, you could greatly minimize the need for the TB, and maximize your speed advantage at late endgame compared to an engine that constantly drops into TB checks, and I bet those 10-15 ELO becomes a very small number indeed.
> The reason that it is only worth 10-15 ELO is that the vast majority of the time, Rybka does not have a wrong view of the position
That's fine for games, yes, that's why developers may not care much about it.
On corr games and analysis, however, the positions where Rybka is good don't matter, as other engines will be good on them too. Showing 0.00 correctly or 5.00 correctly doesn't matter there, because the game has already been decided at that point. The positions that matter are those in where the engines have wrong evaluation, as they are the ones that will decide the game one way or the other.
That's why chasing elo is like a dog chasing its tail, if that's what the developer cares about, the true issues will never be resolved.
>There does seem to be an expensive way to do this which would be to shrink the TB to only those positions that Rybka gets wrong.
But this goes way before tablebase positions in 7men tablebases or 8men tablebases, or much more pieces, where even with tablebases Rybka will think it's winning because it avoids the TB positions, and chooses a wrong path that is drawn. That's another reason TBs aren't worth more, engines just avoid positions that lead to those bad endgames, but it's already too late to change game result due to previous mis-evaluations of positions (and curiously, most of the examples I've seen is of drawn positions being scored as wins, won positions scored wrongly as draws are extremely rare.)
While these ideas would be better than what we have (yes, it'd be nice to have "micro-6men TBs" only for positions where the engine needs them), a true breakthrough would be needed, maybe like FinalGen, but without game conclusions or solutions, just on-the-fly solving (at such positions stop focusing in the root in where having the knight at d2 or f3 doesn't make a difference!) to have better evals of positions.
(and curiously, most of the examples I've seen is of drawn positions being scored as wins, won positions scored wrongly as draws are extremely rare.)
I think we are saying the same thing, I take it back, I think I see your point. The basic engine problems would be accidentally believe it was winning through the engine, yet the TB shows a draw or loss. Or it thinks it is drawn but is actually lost. I honestly don't believe that it would be a problem if it is thought that it is drawn but it was actually winning, I see the problem now. The rarity is actually good for creating the micro TB's and putting it into hash so that the engine can run as full speed as possible. Its expensive because developing the micro TB would be very compute intensive and time consuming to create. But it should only need be done once, and it could be proprietary to Rybka or Chessbase. Unless it was reverse engineered by Crafty. And has anyone explained the difference between reverse engineering and copyright infringement?
Yes it would only be good for games and only for ELO, which at the end of the day is where all the money is. Knowing the truth at the late end game. Not as important, and not as important as beating your opponent and racking points. Not as important for spending developer time, though it would seem that this could easily just become a tuning setting. Knowing the winning answer in seconds, is different than knowing the truth in minutes or tens of minutes.
I think we are saying the same thing, I take it back, I think I see your point. The basic engine problems would be accidentally believe it was winning through the engine, yet the TB shows a draw or loss. Or it thinks it is drawn but is actually lost. I honestly don't believe that it would be a problem if it is thought that it is drawn but it was actually winning, I see the problem now. The rarity is actually good for creating the micro TB's and putting it into hash so that the engine can run as full speed as possible. Its expensive because developing the micro TB would be very compute intensive and time consuming to create. But it should only need be done once, and it could be proprietary to Rybka or Chessbase. Unless it was reverse engineered by Crafty. And has anyone explained the difference between reverse engineering and copyright infringement?
Yes it would only be good for games and only for ELO, which at the end of the day is where all the money is. Knowing the truth at the late end game. Not as important, and not as important as beating your opponent and racking points. Not as important for spending developer time, though it would seem that this could easily just become a tuning setting. Knowing the winning answer in seconds, is different than knowing the truth in minutes or tens of minutes.
Powered by mwForum 2.27.4 © 1999-2012 Markus Wichitill