sbromberger / LightGraphs.jl

An optimized graphs package for the Julia programming language
Other
670 stars 184 forks source link

Add a function api random_geometric_graph #1509

Open ChasingZenith opened 3 years ago

ChasingZenith commented 3 years ago

Random geometric graph is a common graph generator which correspond to the function euclidean_graph in LightGraphs.jl. However it is difficult to find this API.

If we search the words "random geometric graph" in the documentation, we can't find any useful information. The Wikipedia page of random geometric graph also does not contain the words "euclidean graph", even though it will redirect "Euclidean graph" to this page

Do you think that the word random_geometric_graph might be a better name to use? I think that we should at least add descriptions into the documentation.

And the link given in the README.md in the github homepage for this repo directs to the dev branch documentation, which is incomplete. I think it might be more convenient to use the document for stable version.

sbromberger commented 3 years ago

I'm not sure they're equivalent. As far as I can see, a random geometric graph doesn't define its distance metric, where the euclidean graph defines it as the L2 norm. There may be other differences as well; if there aren't, it may be possible that the euclidean graph is a specialization of a random geometric.

Do you know of any literature that equates random geometric graphs with euclidean graphs?

As far as the docs go, I think we've fixed that issue.

ChasingZenith commented 3 years ago

Sorry for late reply. I think it is not exactly equivalent but many paper in communication network and control don't seem to be very sensitive to the distinction between the names of random geometric graph and Euclidean graph because they only care about l2 norm. Some beginners might not know the name Euclidean graph.

I notice that euclidean_graph work like random_geometric_graph now because it can specify a parameter p to use l_p norm as distance metric. Is it the time to change the name for it?

I think it would be better to improve the documentation or the docstring of the function to let people who only know one name find this functions easily.

Some reference:

1 Although they call it geometric random graph

2