// get the average edge weight of the graph
double avgEdgeWeight = GetAverageEdgeWeightSqrt();
for (String vName : this._vertices.keySet()) {
Vertex2 v = this._vertices.get(vName);
TObjectDoubleIterator nIter = v.GetNeighbors().iterator();
while (nIter.hasNext()) {
nIter.advance();
String nName = (String) nIter.key();
// we assume that the currently set distances are distance squares
double currWeight = v.GetNeighborWeight(nName);
double sigmaSquarred = Math.pow(sigmaFactor * avgEdgeWeight, 2);
double newWeight = Math.exp((-1.0 * currWeight) / (2 * sigmaSquarred));