vive wrote:
> This does not work because (IMHO) you confuse location on the circle with
> location in the network. Kleinbergs model gives efficient greedy routing
> since there is a good balance between #connections going to different parts
> of the graph.

I understand the difference; when I use the word "location" I'm usually
talking about routing location, ie position on the circle - if I mean
position in the network I try to use the word "topology", but I probably
forget often enough to make it unclear.

What I'm claiming is that if you replace (not add) nodes using the
Kleinberg model, ie remove a node, add a new node, and connect it to
each existing node with probability inversely proportional to the
distance between their current locations on the circle, then eventually
you will get a Kleinberg graph, regardless of what you started with,
because eventually the graph you started with will have been completely
replaced.

This isn't true for all graph models, only those where the connection
probabilities are independent.

> But something similar that is exactly how I've been doing it: for a number
> of steps add a small fraction of nodes. These new nodes randomize their
> positions after getting links according to distribution on the "original"
> locations in the topology. Then all nodes in the network swap for a while,
> and then these new nodes leave again. The topology is still the same, but
> the positions taken by nodes left in the network may have changed since
> nodes that leave bring out some of the positions..
> 
> This scenario corresponds roughly to many nodes that are alive in the
> network and a small flow through of positions by nodes joining but decide
> to leave for good. Some results soon...

OK, I guess we have different ideas about churn - in your model it's
always the new nodes that leave, whereas in my model every node leaves
eventually (though not necessarily after an equal amount of time).

> My point with the experiment was: even if we dont shuffle positions then
> it will still degrade the network if too many nodes are added.

True, but there's a difference between adding 1000 nodes at once and
replacing 1000 nodes one by one. I don't need to be convinced that
routing would break if 1000 people joined at once!

> Yes, if you dont shuffle anything and just replace nodes then you will move
> between instantiations if you use the original positions.
> 
> This is not the same as adding edges based on the current /positions/ that
> nodes take after randomizing and swapp

If swapping has restored the network to approximately the right
distribution of edge lengths, then I suggest that using the current
locations is approximately the same as using the original locations. But
even if it's not the same, churn will eventually make the network
navigable anyway, as long as the new edges have the right length
distribution.

> I understand what you mean, but to let nodes use other node locations on the
> /circle/ to base their decisions on who in the /network/ to link to, then the
> other node locations need to reflect the network. This is not preserved when
> randomizing, and swapping can only bring it back to an approximation.

That would apply if you were adding one node to a shuffled network and
then waiting for swapping to restore the network to navigability. In
that case I completely agree that you should use the original locations
when connecting the new node, otherwise the new connections will be
essentially random and won't be useful for navigation.

But if you're constantly adding *and removing* nodes, then it's not
necessarily important for the new links to be navigable using the old
locations: what's important is for the new links to be navigable using
the new locations, because eventually all the old links that were
navigable using the old locations will be removed, and only the new
locations will be relevant. In other words, make the node findable in
the network that's being created, not in the network that's being destroyed.

But again I guess this comes down to a difference of opinion about the
nature of churn: does churn replace old nodes, or just add and remove
new nodes?

Cheers,
Michael

Reply via email to