Author: Robert Hyatt
Date: 19:06:53 04/14/04
Go up one level in this thread
On April 14, 2004 at 19:05:25, martin fierz wrote: >On April 14, 2004 at 13:44:54, Robert Hyatt wrote: > >>On April 14, 2004 at 10:38:52, martin fierz wrote: >> >>>On April 14, 2004 at 10:33:42, Matthew Hull wrote: >>> >>>>On April 14, 2004 at 10:21:55, martin fierz wrote: >>>> >>>>>On April 13, 2004 at 17:00:24, Matthew Hull wrote: >>>>> >>>>>>On April 13, 2004 at 14:21:07, Christophe Theron wrote: >>>>>> >>>>>>>On April 13, 2004 at 01:29:02, Russell Reagan wrote: >>>>>>> >>>>>>>>On April 12, 2004 at 23:07:46, Christophe Theron wrote: >>>>>>>> >>>>>>>>>Further, wouldn't you just *hate* if I took the fun out of chess programming by >>>>>>>>>telling you everything? :) >>>>>>>> >>>>>>>>My gut feeling is that we would probably be disappointed for the most part. I >>>>>>>>bet a lot of us think all of you commercial authors are harboring lots of >>>>>>>>magical secrets that can turn an average program into a beast. Something similar >>>>>>>>to the improvements you get by going from minimax to alphabeta, or by adding >>>>>>>>null-move to an average program, and things like that. Those are very >>>>>>>>significant improvements. >>>>>>>> >>>>>>>>I have received the impression from you and other sources like Ed's webpage that >>>>>>>>this is not the case. There are some clever things on Ed's webpage, but for the >>>>>>>>most part, it is good ideas based on common sense, and then taking the time and >>>>>>>>effort to hammer out every last detail to make an idea work, followed by an >>>>>>>>efficient implementation. >>>>>>>> >>>>>>>>To illistrate the difference between what I think a lot of people would expect >>>>>>>>to hear from you if you divulged all of your secrets and what I think we would >>>>>>>>really get, consider null-move. Null-move is something that you can add to a >>>>>>>>program that uses no forward pruning, and once you spend a small amount of time >>>>>>>>getting it to work right, the program suddenly plays like it's on steroids >>>>>>>>(relatively speaking). However, if we took an average program and added in a few >>>>>>>>ideas from Ed's webpage, I wouldn't expect nearly as big of an improvement. I >>>>>>>>think you guys just take a lot of ideas and get small improvements here and >>>>>>>>there, and at the end of the decade, it amounts to a big improvement. 10% >>>>>>>>reduction in tree size here, 20% there, it adds up. >>>>>>>> >>>>>>>>Am I right? If we are expecting to see magical earth shattering secrets, would >>>>>>>>we be disappointed? >>>>>>> >>>>>>> >>>>>>> >>>>>>>I don't think you would be disappointed. >>>>>>> >>>>>>>But you are right in assuming that you would not see a dramatic improvement such >>>>>>>as the one you get from alpha-beta vs minimax. >>>>>>> >>>>>>>You know, one has to wonder where the difference in elo strength between Crafty >>>>>>>and the top commercial comes from. >>>>>> >>>>>> >>>>>>Compare this with your mileage at home. Many of the plus performance scores are >>>>>>against accounts running commercial programs. >>>>> >>>>> >>>>>this is irrelevant to the discussion - crafty on ICC is running on 4 processors. >>>>>big hardware difference... >>>>> >>>>>it's just what christophe was writing about: crafty is competitive because it >>>>>can use multiple processors (x4 = ~100 rating points). on single processor PCs, >>>>>it is not competitive with top commercials. >>>>> >>>>>the reason is that the commercial programmers write a program for the user who >>>>>buys it - and this user has 1 processor, with *very* few exceptions. if bob had >>>>>spent his time on eval, he would be quite competitive too on single processors >>>>>IMO, but that is not what he chose to do. >>>>> >>>>>i'm speculating here, but probably it's easier for him to focus on >>>>>multiprocessing than on knowledge&search for "political" reasons. when you're >>>>>paid by the university to do research, they want you to do something that the >>>>>people in charge perceive as "useful". tweaking an evaluation function would >>>>>probably sound less useful than accomplishing the parallelization of a complex >>>>>program. parallelization is also interesting for computer science students, >>>>>because the future will bring more multiprocessing systems - also because of >>>>>things like hyperthreading on one processor. >>>> >>>> >>>>I agree with all your points. That is why the ICC environment probably reflects >>>>much better the value of each programmer's emphasis, rather than the SSDF list, >>>>which unintentionally favors one programming emphasis over another. >>> >>>but you can't say that it's a coincidence! SSDF tests what 99% of all users >>>have. and that IMO is the right thing to do. a commercial programmer simply >>>can't emphasize multiprocessing to a big extent, because the time spent on that >>>is "wasted" in a commercial sense. >> >>How then do you explain: >> >>deep fritz >>deep shredder >>deep junior >>deep sjeng >> >>for starters. There are more SMP commercial engines than there are non-SMP >>commercial engines... > >i thought some of these could only use 2 processors? not sure about it though. i >also remember reading about absolutely pathetic speedups for dual processors for >some of the commercials. No idea. But I have seen 2 deep programs run on quads and 8-way boxes (Fritz and Junior). >that's what i mean with "they don't emphasize". perhaps they implement a quick >hack, and call it deep XY. but i don't think any of them has multiprocessing on >the top of the priority list like you do. > > >>Also care to make a bet about +5 years from now as to whether your statement >>will be true? > >no. it should be obvious that the statement is about today. and in fact, it will >still be true then: the statment is "commercial programs will be optimized for >whatever end-users have at home." if that is multiprocessor in 5 years, they >will all have it. > That is the point here. ANd they have to "pay the piper" and those of us already doing it gain some time to continue search or eval things... > >>AMD and Intel will only be selling chips with 2 (or 4) cpus on >>the single chip by then. Intel is _almost_ doing it now with SMT. AMD has >>already announced their intent that the next CPU will have two processor cores >>on a single chip. >> >>All the non-SMP guys will then be struggling to catch up... >> >>Those that look ahead architecturally will already "be there". > >why are you defending yourself? i didn't suggest that doing SMP was a bad idea. >i just said that it's natural that *you* are doing SMP as a university >professor, because it is an interesting field for academic research (as opposed >to tweaking evaluation functions), and it has practical applications for any >software engineer who wants to learn about using multiple processors for complex >tasks. and the commercials will follow suit once SMP is in everybodys PC. > I really wasn't trying to "defend myself". I was simply trying to explain why any of us have been doing SMP. I did it first on the PC platform. It was uniformly greeted with "neat, but who cares as no user will ever have a dual or quad cpu box." That was proven wrong _quickly_ as many users came up with duals. Students included. So a few scrambled to do parallel search because they saw an emerging market. They were right. >cheers > martin > > > > >>>and yes, it is great that on ICC you can show up with what you programmed your >>>beast to do. >>> >>>cheers >>> martin >>> >>> >>> >>>> >>>> >>>> >>>>> >>>>>cheers >>>>> martin >>>>> >>>>>>ICC Stats for Crafty since March 21, 2004 >>>>>> >>>>>>Blitz >>>>>> Account win loss draw pctg >>>>>>-- ------------ ----- ----- ----- ------ >>>>>>br Deveraux 0 1 0 0.00 >>>>>>br SinbadGonnaD 0 3 0 0.00 >>>>>>br giant 0 1 1 25.00 >>>>>>br glories 0 1 1 25.00 >>>>>>br Bitpusher 1 6 9 34.38 >>>>>>br BountyHunter 1 3 4 37.50 >>>>>>br ajop2 1 1 0 50.00 >>>>>>br allAdreamOfA 1 1 1 50.00 >>>>>>br bookbuilder 2 2 3 50.00 >>>>>>br Joecreek2004 0 0 1 50.00 >>>>>>br Lindisfarne 1 1 2 50.00 >>>>>>br NubianMagic 0 0 1 50.00 >>>>>>br Somnus 1 1 0 50.00 >>>>>>br TheBigChill 1 1 1 50.00 >>>>>>br Vangard 1 1 0 50.00 >>>>>>br pathologist 5 4 3 54.17 >>>>>>br X-Engine 12 5 13 61.67 >>>>>>br AmazingGrace 19 10 8 62.16 >>>>>>br Dhaka 2 1 1 62.50 >>>>>>br PostModernis 8 2 4 71.43 >>>>>>br stormx 4 0 5 72.22 >>>>>>br ajop 2 0 2 75.00 >>>>>>br SearcherX 3 0 3 75.00 >>>>>>br tlg 4 1 1 75.00 >>>>>>br muse-comp 7 1 2 80.00 >>>>>>br Amateur 2 0 0 100.00 >>>>>>br Clooby 7 0 0 100.00 >>>>>>br cro-magnon 1 0 0 100.00 >>>>>>br HangerOn 1 0 0 100.00 >>>>>>br Nutibara 1 0 0 100.00 >>>>>>br rigacombinat 2 0 0 100.00 >>>>>>br TAL9000 2 0 0 100.00 >>>>>> >>>>>>Standard >>>>>> >>>>>>sr SearcherX 0 1 0 0.00 >>>>>>sr Vangard 0 1 0 0.00 >>>>>>sr workuta 0 2 1 16.67 >>>>>>sr X-Engine 0 1 1 25.00 >>>>>>sr DIEP 1 1 0 50.00 >>>>>>sr Good-Boy 1 1 1 50.00 >>>>>>sr Kronos 0 0 2 50.00 >>>>>>sr RuffianY 1 1 1 50.00 >>>>>>sr Sukkubus 2 2 4 50.00 >>>>>>sr chepla 3 2 4 55.56 >>>>>>sr HangerOn 1 0 1 75.00 >>>>>>sr stormx 1 0 1 75.00 >>>>>>sr thebaron 3 0 1 87.50 >>>>>>sr BrassCube 1 0 0 100.00 >>>>>>sr SpiderChessX 1 0 0 100.00 >>>>>> >>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>>>On a related note, this brings up a question. If it is true that a lot of things >>>>>>>>that give your program improvements at this stage are very minor things, then it >>>>>>>>seems logical that those things would not necessarily result in improvements if >>>>>>>>they were implemented in other programs, because your ideas probably fit into an >>>>>>>>overall system. Do you think it is important to have a good overall system, >>>>>>>>where all components compliment one another? >>>>>>>> >>>>>>>>For instance, a simple example of a system: the job of the full width search is >>>>>>>>to hand off nodes to a qsearch, which has the job of handing off quiet positions >>>>>>>>to an evaluation function. Under that system, you only want to evaluate quiet >>>>>>>>positions, not all positions. If you acheive that, then you make sure your >>>>>>>>qsearch is really delivering quiet positions. If it is, you are probably getting >>>>>>>>accurate analysis from the engine. If someone took that beefed up qsearch that >>>>>>>>was required to make that system work successfully and implemented it in their >>>>>>>>program, it may only cause a qsearch explosion and result in weaker play. >>>>>>>> >>>>>>>>Am I right in believing that it is important to have an overall view of the >>>>>>>>system, and that ideas that resulted in improvements in your engine may not help >>>>>>>>other engines at all? >>>>>>> >>>>>>> >>>>>>> >>>>>>>It is really hard to answer to this question. >>>>>>> >>>>>>>One thing I am convinced of is that if the top chess programmers started to >>>>>>>exchange ideas, like Ed and I did, you would see a significant increase in the >>>>>>>strength of these top programs. Clearly some of them would benefit more. >>>>>>> >>>>>>> >>>>>>> >>>>>>> Christophe
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.