I would be interested to know exactly what algorithms D3 uses to achieve the force-directed graph feature in the library. Having read Kobourov\'s summary of the history of force
An overview of the Force-Layout algorithms can be found at https://github.com/mbostock/d3/wiki/Force-Layout