Author: Vincent Diepeveen
Date: 07:38:50 04/19/01
Go up one level in this thread
On April 19, 2001 at 01:45:32, Uri Blass wrote: >On April 18, 2001 at 17:48:01, Vincent Diepeveen wrote: > >>On April 18, 2001 at 06:03:34, Uri Blass wrote: >> >>>On April 18, 2001 at 05:20:03, Vincent Diepeveen wrote: >>> >>>>On April 17, 2001 at 15:40:58, Uri Blass wrote: >>>> >>>>>Suppose program X is playing against kramnik. >>>>> >>>>>I think that it may be a good idea to generate a program that generates a tree >>>>>and sends all the positions in the tree to people who want to help the computer >>>>>in the match(I will call it the main program). >>>>> >>>>>The people give program X to analyze the position and return score and depth to >>>>>the main program. >>>>> >>>>>The main program is using all the information about scores and depthes to decide >>>>>about the best move. >>>> >>>>So a beginner rated 600 is very happy about a certain move, >>>>and as a real patzer he returns infinite score for his move. >>> >>>Sorry but a beginner is not going to give information. >>>Only program X is going to give depthes and score for positions and program X is >>>a constant program. >>> >>>If program X is a preprocessor it should be changed to get not only a position >>>to analyze but also to get the root position otherwise it is not going to >>>analyze position from the same point of view. >> >>I see no advantages in parallellizing a true preprocessor, >>but if you talk about wanting to parallellize a program, then it's >>obvious that you need more as 1 cpu to speed it up! >> >>>Maybe you misunderstood me because you thought that program X is not a constant >>>program because X means a variable. >>>Maybe I should use the letter C to be more clear. >> >>If you talk about the same program which is going to get used to >>parallellize a search tree in an SMP way, so not in an assymmetric way, >>then you can look in some issues of ICCAJ and see a lot of different >>ways to parallellize the searchtree! >> >>I don't need to mention that parallellizing over networks is harder to >>generate a speedup as communications are more expensive, as that's very >>obvious. >> >>The vaste majority of all computers at www.top500.org are going to be >>slower as a 16 processor alpha with shared memory for sure, despite that >>the first few machines each costed several billion US$ to build. >> >>The bandwidth on those machines is huge, so definitely there are going >>to be algorithms that speed you up a lot after very hard work. >> >>You can of course also run parallel over the internet, but sometimes it >>takes for me 10 minutes to just get connected to the internet. > >I thought about running parralel over the internet. >> >>If my program would be part of a crucial search tree, then obviously >>sometimes you have 15 minutes delay for just a small part of the >>search tree if you would want to wait 15 minutes for answer. >> >>The more costly communication is the smaller the speedup in general, >>but in case of using internet connections the biggest problem isn't >>even communication SPEED. It is the uncertainty of the communication >>and the length of timeouts. >> >>How many plies must i let a program search? If i give each program 10 ply, >>what timeout do i give it to let it finish before giving someone >>else the same job? 1 minute? 2 minutes? Suppose this is a hard search tree >>and that no free node (remote machine in this case) is able to search >>the search tree in 2 minutes. > >I think that every program should get a task to search for a fixed time and not >number of plies. > >You start with a program that generate a tree of 1000 nodes when it takes a >short time(it may include the root position,all the positions 1 ply after the >root,a big part of the positions 2 plies after the root(not including positions >when a short search suggest that the line was illogical) and some extensions) > > >You give every computer to analyze one position for 3 minutes. >You get a score for every position and use the information of all the scores and >depthes to decide about the move. > >You may send every position for 3 different computers if you are afraid you are >not going to get a response because of connections problems. > >If the connection problems is on your side then it is a problem and you should >use a computer that usually does not have a connection problem. This is going to work to some extend uri, but your branching factor is going to be around 10 at least. just calculate for 20 ply what number of nodes it takes to get 20 ply. Now compare that with a dual 1 Ghz P3 or quad xeon which are running for a full day and then also have 20 ply because of a better branching factor. The other problem you are faced with is how you divide system time and nodes before knowing whether you need to search that space anyway? suppose we start a search and one line is 1.e4,a5 2.nf3 na6 Now if you divide that job: 10 ply search to node 1 for move d4, node 2 is going to search. If you divide system time then how am i going to divide the position anyway? Because other nodes only know what they search AFTER that few minutes of search is finished! In short, it's going to be a horrible minimax branching factor. The average branching factor of minimax in chess is 40. >Uri
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.