Pagerank is a well known graph algorithm that uses the links between nodes in a directed graph to determine a node’s reputation. Intuitively, if a node is linked to by many high-reputation nodes, it also will have a high reputation.

While the formulation of reputation is intuitive, it is hard to intuitively determine, given a graph structure, what the final Pagerank distribution will look like. We also don’t have a good sense of how adding links between pages will change the Pagerank distribution.

To understand and visualize how Pagerank changes when the underlying network changes, I implemented an interactive visualization of Pagerank. You can edit the graph and watch how Pagerank changes instantaneously. In addition, you can actually watch how the iterative algorithm actually computes the Pagerank for the network, as Pagerank “flows” along the edges between nodes.

### Editing the Graph

Create a random graph with nodes:

- If a node is too small, hover over it to display the pagerank value
- To add a node, double click anywhere away from an existing node or edge.
- To add an edge, click and drag from the source node to the destination node.
- To delete an edge or node, click on the edge or node and press "Delete" or "Backspace"
- To reposition a node, alt-click the node and drag to its new position

Iterations per second:

Alpha: