Skip to content
This repository was archived by the owner on Apr 22, 2020. It is now read-only.

Commit 153445e

Browse files
tomasonjojexp
authored andcommitted
Add documentation usecases (#249)
1 parent 09a9539 commit 153445e

File tree

5 files changed

+39
-2
lines changed

5 files changed

+39
-2
lines changed

doc/connected-components.adoc

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,14 @@ For example, consider the problem of identifying partitions in a set of items.
1313
We can represent each item by a node and add an edge between each pair of items that are deemed similar.
1414
The connected components of this graph correspond to different classes of items.
1515

16+
== When to use it / use-cases
17+
1618
Testing whether a graph is connected is an essential preprocessing step for every graph algorithm.
1719
Such tests can be performed so quickly and easily that you should always verify that your input graph is connected, even when you know it has to be.
1820
Subtle, difficult-to-detect bugs often result when your algorithm is run only on one component of a disconnected graph.
1921

20-
== When to use it / use-cases
22+
Connected components have other practical use cases, for example, if we are analysing a social network and we want to find all the disconnected groups of people that exist in our graph.
23+
2124

2225
== Constraints / when not to use it
2326

doc/label-propagation.adoc

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,10 @@ The simplicity and time efficiency of the LPA make it a popular graph partitioni
1515

1616
== When to use it / use-cases
1717

18-
18+
Label propagation is an algorithm for finding communities ( partitions ).
19+
It is one of the state-of-the-art methods, which estimates labels by propagating label information through a graph.
20+
Label propagation assumes that nodes connected in a graph should have similar labels.
21+
Consequently, the label estimation heavily depends on relationships in a graph which represent similarity of each node pair.
1922

2023
== Constraints / when not to use it
2124

doc/pagerank.adoc

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,22 @@ PageRank is now widely recognized as a way of detecting central nodes in a netwo
2727

2828
== When to use it / use-cases
2929

30+
The mathematics of PageRank are entirely general and apply to any graph or network in any domain.
31+
Thus, PageRank is now regularly used in bibliometrics, social and information network analysis, and for link prediction and recommendation.
32+
It's even used for systems analysis of road networks, as well as biology, chemistry, neuroscience, and physics.
33+
34+
In neuroscience, the PageRank of a neuron in a neural network has been found to correlate with its relative firing rate.
35+
36+
Personalized PageRank is used by Twitter to present users with other accounts they may wish to follow.
37+
38+
39+
PageRank has been used to rank spaces or streets to predict how many people (pedestrians or vehicles) come to the individual spaces or streets. In lexical semantics it has been used to perform Word Sense Disambiguation,Semantic similarity, and also to automatically rank WordNet synsets according to how strongly they possess a given semantic property, such as positivity or negativity.
40+
41+
In any ecosystem, a modified version of PageRank may be used to determine species that are essential to the continuing health of the environment.
42+
43+
For the analysis of protein networks in biology PageRank is also a useful tool.
44+
45+
Pagerank has recently been used to quantify the scientific impact of researchers. The underlying citation and collaboration networks are used in conjunction with pagerank algorithm in order to come up with a ranking system for individual publications which propagates to individual authors. The new index known as pagerank-index (Pi) is demonstrated to be fairer compared to h-index in the context of many drawbacks exhibited by h-index.
3046

3147
== Constraints / when not to use it
3248

doc/single-shortest-path.adoc

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,16 @@ At that time making long-distance calls in the U.S.A. was automatized, and alter
1414

1515
== When to use it / use-cases
1616

17+
Shortest path algorithms are applied to automatically find directions between physical locations, such as driving directions on web mapping websites like MapQuest or Google Maps.
18+
19+
If one represents a nondeterministic abstract machine as a graph where nodes describe states and relationships describe possible transitions, shortest path algorithms can be used to find an optimal sequence of choices to reach a certain goal state, or to establish lower bounds on the time needed to reach a given state.
20+
For example, if nodes represent the states of a puzzle like a Rubik's Cube and each directed relationship corresponds to a single move or turn, shortest path algorithms can be used to find a solution that uses the minimum possible number of moves.
21+
22+
In a networking or telecommunications mindset, this shortest path problem is sometimes called the min-delay path problem and usually tied with a widest path problem.
23+
For example, the algorithm may seek the shortest (min-delay) widest path, or widest shortest (min-delay) path.
24+
25+
Other applications, often studied in operations research, include plant and facility layout, robotics, transportation, and VLSI design.
26+
1727
== Constraints / when not to use it
1828

1929
== Algorithm explanation on simple sample graph

doc/strongly-connected-components.adoc

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,11 @@ The first linear-time algorithm for strongly connected components is due to Tarj
1212

1313
== When to use it / use-cases
1414

15+
_SCC_ algorithms can be used as a first step in many graph algorithms that work only on strongly connected graph.
16+
In social networks, a group of people are generally strongly connected (For example, students of a class or any other common place).
17+
Many people in these groups generally like some common pages or play common games.
18+
The SCC algorithms can be used to find such groups and suggest the commonly liked pages or games to the people in the group who have not yet liked commonly liked a page or played a game.
19+
1520
== Constraints / when not to use it
1621

1722
== Algorithm explanation on simple sample graph

0 commit comments

Comments
 (0)