To install click the Add extension button. That's it.

The source code for the WIKI 2 extension is being checked by specialists of the Mozilla Foundation, Google, and Apple. You could also do it yourself at any point in time.

4,5
Kelly Slayton
Congratulations on this excellent venture… what a great idea!
Alexander Grigorievskiy
I use WIKI 2 every day and almost forgot how the original Wikipedia looks like.
Live Statistics
English Articles
Improved in 24 Hours
Added in 24 Hours
What we do. Every page goes through several hundred of perfecting techniques; in live mode. Quite the same Wikipedia. Just better.
.
Leo
Newton
Brights
Milds

Hyperbolic geometric graph

From Wikipedia, the free encyclopedia

A hyperbolic geometric graph (HGG) or hyperbolic geometric network (HGN) is a special type of spatial network where (1) latent coordinates of nodes are sprinkled according to a probability density function into a hyperbolic space of constant negative curvature and (2) an edge between two nodes is present if they are close according to a function of the metric[1][2] (typically either a Heaviside step function resulting in deterministic connections between vertices closer than a certain threshold distance, or a decaying function of hyperbolic distance yielding the connection probability). A HGG generalizes a random geometric graph (RGG) whose embedding space is Euclidean.

YouTube Encyclopedic

  • 1/5
    Views:
    98 118
    4 372
    224 097
    1 527
    15 477
  • Hyperbolic functions and the unit hyperbola | Hyperbolic functions | Precalculus | Khan Academy
  • Graphing Hyperbolic Functions
  • Hyperbolic Functions - The Basics
  • Graphs of Hyperbolic functions : Sin, Cos and Tan
  • The Most Beautiful Theorem in Topology: Euler's Formula

Transcription

We know that if we take all of the points in the *X, Y plane<i>where</i>x^2 + y^2 = 1*, we get ourselves the unit circle. Let me draw the unit circle. That's my <i>y-axis</i>; this is my <i>x-axis</i>. And the unit circle has the circle with the radius one. So that's <i>x=1</i>, that's <i>x=-1</i>, that's <i>y=1</i>, that's <i>y=-1</i> the unit circle looks something... let me draw it... something like this, I think you get the point Let's see if I can fill it in a little bit better. So you realize that it's not a dotted circle. There. That's my best attempt at drawing the unit circle. And we also know that the traditional trig functions, or maybe we should call them the <i>circular</i> trig functions are actually defined so that if you parameterize so if you were to take *x=cos t* and *y=sin t* and you pick any <i>t</i>, right over here and by definition it's going to sit on the unit circle by definition, *x^2 + y^2 = 1* so if you pick any <i>t</i> it's going to sit some place on this unit circle. Or another way to think of it is if you vary <i>t</i> it's going to start tracing out this circle And we know that <i>t</i> corresponds to the angle with a positive <i>x-axis</i>, in this case, that right over there is <i>t</i>. Now wouldn't it be neat if there were a similar analogy for, not the unit circle, but something we could call the unit hyperbola? So that's our little review of trigonometry right there; our traditional trigonometry, now let's think about the unit <i>hyperbola</i>. Well, *x^2 + y^2 = 1* is a unit circle, I'll say that *x^2 - y^2 = 1<i>, I'm going to call this my</i>unit hyperbola*. Or a unit rectangular hyperbola. <u>Hyperbola</u>. This is just a little bit of review from *Conic Sections*, but it would look something like this: It would look... something... that's my <i>y-axis</i>, this is my <i>x-axis</i>, and then we can say, well if <i>y</i> is 0, <i>x</i> can be ±1, so you can think of that as the unit part where it intersects the <i>x-axis</i>; that's +1, that's -1 and it has asymptotes, <i>y=x</i> and <i>y=-x</i> We go through the intuition on that in the Conic Section videos, <i>y=x</i> is that dotted line, <i>y=-x</i> is that dotted line, right over there, and then this thing is going to look like this. It's going to have a right half that does something like this, and does something like this, all a review of *Conic Sections*, it gets closer to its asymptotes. To <i>y=x</i> or <i>y=-x</i> and the same thing on the left-hand side. It's going to do something like that. Wouldn't it be neat if we could parameterize <i>x</i> and <i>y</i> with analogous functions so that we get a similar type of property? And you might guess what those functions are, but let's actually try to verify it. What would happen if <i>x</i> is equal to our <i>hyperbolic</i> *cosine of t*, which is the same thing as *e^t + e^(-t)*, all of that over 2 and <i>y</i> were to be equal to *hyperbolic sine* of <i>t</i>, which is equal to *e^t - e^(-t)* over 2. Wouldn't it be neat if there were an analogy here; over here you pick any <i>t</i> based on our circular trig functions, you ended up with a point on the unit circle. Wouldn't it be amazing if for any point <i>t</i> you ended up with a point on our, what we're calling our *unit hyperbola*? Well, in order for that to be true, with this parameterization *x^2 - y^2* would need to be equal to one. Let's see if that <i>is</i> the case! So *x^2 - y^2* is equal to, well let's square this business it's equal to <i>e^(2t)</i> plus two times the product of these two things *2e^t • e^(-t)*, this is <i>e^0</i> here which is 1. Plus <i>e^(-2t)</i>, <i>e^(-t)^2</i>, all of that over 4 And then from that we will subtract <i>y^2</i>. Minus, so the numerator's going to be *e^(2t) - 2e^t • e^(-t) + e^(-2t)*, all of that over 4 So, immediately, a couple of simplifications here. *e^t • e^(-t)*, that's just <i>e^(t-t)</i> which is equal to <i>e^0</i>, which is equal to 1 This is going to be one, that's going to be one, so we're going to have a 2 in either of those cases and if we were to simplify it, all of this stuff over here I'll do a numerator, so this is going to be equal to over our [denominator] of 4 *e^(2t) + 2 + e^(-2t) - e^(2t)* just distributing the negative sign Plus two, and then minus <i>e^(-2t)</i> Well this is convenient! (Oh, I was writing it in black, a hard color to see) This cancels with this, This and this also add up to zero and you're left with two plus two over four which is indeed equal to one! So this is a pretty good reason to call these two functions hyperbolic trig functions. These are the circular trig functions, you give me a <i>t</i> on these parameterizations we end up on the unit circle! You vary <i>t</i>, you trace out the unit circle. Here, for any real <i>t</i>, we're going to assume we're dealing with real numbers, for any real <i>t</i> we're going to end up on the unit hyperbola right over here and in particular we're going to end up on the right so it's not exactly... over here pretty much <i>any</i> of these points could be parameterized right here over here we're going to end up on a point on the <i>right</i> side of the unit hyperbola. The reason why it's the right side is... you go straight to the definition of *cosh t*, this thing can only be positive This thing can only be positive. <i>e^t</i> can only be positive, <i>e^-t</i> can only be positive so this is only positive. But you give any <i>t</i> you will end up on this hyperbola! Specifically the right side, if you want points on the left hand side, you'd have to take the *-cosh t<i>and the</i>sinh t* to end up right over there. But it's a pretty neat analogy. We're looking at Euler's identity and we kind of said, "oh, let's just start playing with these things!" There seems to be a similarity here if we were to remove the <i>i</i> 's and, all of a sudden, we've discovered another thing! That there is this relationship here there is this relationship between <i>these</i> trig functions and the unit circle, here between our <i>newly</i> defined hyperbolic trig functions and the unit <u>hyperbola</u>. And you'd also find if you were to vary <i>t</i> it's going to trace out... just as if you were to vary <i>t</i> here it traces out the unit circle... if you trace <i>t</i> here it will trace out the right-hand side, the right-hand side of the unit hyperbola. For this parameterization right here.

Mathematical formulation

Mathematically, a HGG is a graph with a vertex set V (cardinality ) and an edge set E constructed by considering the nodes as points placed onto a 2-dimensional hyperbolic space of constant negative Gaussian curvature, and cut-off radius , i.e. the radius of the Poincaré disk which can be visualized using a hyperboloid model. Each point has hyperbolic polar coordinates with and .

The hyperbolic law of cosines allows to measure the distance between two points and ,[2]

The angle  is the (smallest) angle between the two position vectors.

In the simplest case, an edge is established iff (if and only if) two nodes are within a certain neighborhood radius , , this corresponds to an influence threshold.

Connectivity decay function

In general, a link will be established with a probability depending on the distance . A connectivity decay function represents the probability of assigning an edge to a pair of nodes at distance . In this framework, the simple case of hard-code neighborhood like in random geometric graphs is referred to as truncation decay function.[3]

Generating hyperbolic geometric graphs

Krioukov et al.[2] describe how to generate hyperbolic geometric graphs with uniformly random node distribution (as well as generalized versions) on a disk of radius in . These graphs yield a power-law distribution for the node degrees. The angular coordinate of each point/node is chosen uniformly random from , while the density function for the radial coordinate r is chosen according to the probability distribution :

The growth parameter controls the distribution: For , the distribution is uniform in , for smaller values the nodes are distributed more towards the center of the disk and for bigger values more towards the border. In this model, edges between nodes and exist iff or with probability if a more general connectivity decay function is used. The average degree is controlled by the radius of the hyperbolic disk. It can be shown, that for the node degrees follow a power law distribution with exponent .

The image depicts randomly generated graphs for different values of and in . It can be seen how has an effect on the distribution of the nodes and on the connectivity of the graph. The native representation where the distance variables have their true hyperbolic values is used for the visualization of the graph, therefore edges are straight lines.

Random hyperbolic geometric graphs with N=100 nodes each for different values of alpha and R

Quadratic complexity generator

Source:[4]

The naive algorithm for the generation of hyperbolic geometric graphs distributes the nodes on the hyperbolic disk by choosing the angular and radial coordinates of each point are sampled randomly. For every pair of nodes an edge is then inserted with the probability of the value of the connectivity decay function of their respective distance. The pseudocode looks as follows:


for  to  do
    
    
    
for every pair   do
    if  then
        
return 

is the number of nodes to generate, the distribution of the radial coordinate by the probability density function is achieved by using inverse transform sampling. denotes the uniform sampling of a value in the given interval. Because the algorithm checks for edges for all pairs of nodes, the runtime is quadratic. For applications where is big, this is not viable any more and algorithms with subquadratic runtime are needed.

Sub-quadratic generation

To avoid checking for edges between every pair of nodes, modern generators use additional data structures that partition the graph into bands.[5][6] A visualization of this shows a hyperbolic graph with the boundary of the bands drawn in orange. In this case, the partitioning is done along the radial axis. Points are stored sorted by their angular coordinate in their respective band. For each point , the limits of its hyperbolic circle of radius can be (over-)estimated and used to only perform the edge-check for points that lie in a band that intersects the circle. Additionally, the sorting within each band can be used to further reduce the number of points to look at by only considering points whose angular coordinate lie in a certain range around the one of (this range is also computed by over-estimating the hyperbolic circle around ).

Using this and other extensions of the algorithm, time complexities of (where is the number of nodes and the number of edges) are possible with high probability.[7]

The hyperbolic graph is partitioned into bands such that each of them holds approximately the same number of points.

Findings

For (Gaussian curvature ), HGGs form an ensemble of networks for which is possible to express the degree distribution analytically as closed form for the limiting case of large number of nodes.[2] This is worth mentioning since this is not true for many ensembles of graphs.

Applications

HGGs have been suggested as promising model for social networks where the hyperbolicity appears through a competition between similarity and popularity of an individual.[8]

References

  1. ^ Barthélemy, Marc (2011). "Spatial networks". Physics Reports. 499 (1–3): 1–101. arXiv:1010.0302. Bibcode:2011PhR...499....1B. doi:10.1016/j.physrep.2010.11.002. S2CID 4627021.
  2. ^ a b c d Krioukov, Dmitri; Papadopoulos, Fragkiskos; Kitsak, Maksim; Vahdat, Amin; Boguñá, Marián (2010). "Hyperbolic geometry of complex networks". Physical Review E. 82 (3): 036106. arXiv:1006.5169. Bibcode:2010PhRvE..82c6106K. doi:10.1103/PhysRevE.82.036106. PMID 21230138. S2CID 6451908.
  3. ^ Barnett, L.; Di Paolo, E.; Bullock, S. (2007). "Spatially embedded random networks" (PDF). Physical Review E. 76 (5): 056115. Bibcode:2007PhRvE..76e6115B. doi:10.1103/PhysRevE.76.056115. PMID 18233726. Archived (PDF) from the original on 2023-02-04. Retrieved 2023-02-04.
  4. ^ Krioukov, Dmitri; Orsini, Chiara; Aldecoa, Rodrigo (2015-03-17). "Hyperbolic Graph Generator". Computer Physics Communications. 196: 492–496. arXiv:1503.05180. Bibcode:2015CoPhC.196..492A. doi:10.1016/j.cpc.2015.05.028. S2CID 8454036.
  5. ^ von Looz, Moritz; Meyerhenke, Henning; Prutkin, Roman (2015). "Generating Random Hyperbolic Graphs in Subquadratic Time". In Elbassioni, Khaled; Makino, Kazuhisa (eds.). Algorithms and Computation. Lecture Notes in Computer Science. Vol. 9472. Springer Berlin Heidelberg. pp. 467–478. doi:10.1007/978-3-662-48971-0_40. ISBN 9783662489710.
  6. ^ Meyerhenke, Henning; Laue, Sören; Özdayi, Mustafa; von Looz, Moritz (2016-06-30). "Generating massive complex networks with hyperbolic geometry faster in practice". arXiv:1606.09481. Bibcode:2016arXiv160609481V. {{cite journal}}: Cite journal requires |journal= (help)
  7. ^ Penschuck, Manuel (2017). "Generating Practical Random Hyperbolic Graphs in Near-Linear Time and with Sub-Linear Memory". Schloss Dagstuhl - Leibniz-Zentrum für Informatik GMBH, Wadern/Saarbruecken, Germany. Leibniz International Proceedings in Informatics (LIPIcs). 75: 26:1–26:21. doi:10.4230/lipics.sea.2017.26. ISBN 9783959770361. Archived from the original on 2023-02-04. Retrieved 2023-02-04.
  8. ^ Papadopoulos, Fragkiskos; Kitsak, Maksim; Serrano, M. Ángeles; Boguñá, Marián; Krioukov, Dmitri (12 September 2012). "Popularity versus similarity in growing networks". Nature. 489 (7417): 537–540. arXiv:1106.0286. Bibcode:2012Natur.489..537P. doi:10.1038/nature11459. PMID 22972194. S2CID 4424179.
This page was last edited on 11 February 2024, at 04:30
Basis of this page is in Wikipedia. Text is available under the CC BY-SA 3.0 Unported License. Non-text media are available under their specified licenses. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc. WIKI 2 is an independent company and has no affiliation with Wikimedia Foundation.