I am not a routing guru, nor am I a good Java programmer, but I had an idea I wanted to run by everyone...
Perhaps it would be beneficial instead of just routing a request to the "best" node to instead score the nodes and sample from a weighted distribution of scores. The proposed next-generating routing has the ability to score based on routing time and successful completions - Why not sample the 5 best scores then compute Boltzmann transition probabilities (example below)? This would ensure most routing requests go to the best node but there's a finite probability of selecting the second, third, 4th or 5th best... this may allow the node to discover new routing paths?? Or if the preferred path is slow maybe it would be able to find an alternate path? For example, node 1 gets a score of 15, node 2 gets a score of 5 (lower scores are better). We arbitrarily pick a "temperature" of 10K [what this does will become obvious in a little bit], and similar to a process found in statistical mechanics calculate a total partition function: q=sum (exp(-score/T)) [sum over all nodes considered] In this case: q=exp(-15/10)+exp(-5/10)=0.82966 And the probability of choosing a particular node is the Boltzmann factor over the partition function: p1=exp(-15/10)/q= 26.89% p2=exp(-5/10)/q= 73.10% The "temperature" is a user adjusted parameter which controls the width of the distribution. At higher "temperatures" the probability of picking a sub-optimal node increases (at 20K p1=37.754% p2=62.22%) -- the distribution widens. At lower temperatures the system reduces to the current routing scheme. Just a thought. It's loosely based on a technique called simulated annealing which uses a "temperature" quenching schedule to optimize either a structure or objective function, first introduced by Metropolis around 1951 to determine liquid structures. -- J _______________________________________________ Tech mailing list [EMAIL PROTECTED] http://hawk.freenetproject.org:8080/cgi-bin/mailman/listinfo/tech
