/// <summary> /// Creates the W matrix that contains probabilities that user visits POI l when l' has been visited. /// </summary> private void createWMatrix() { alglib.sparsecreate(idLocMapper.Keys.Max() + 1, idLocMapper.Keys.Max() + 1, out this.W); foreach (int id1 in ratings.AllItems) { try{ if (nearestNeighbors[id1].Count < k) { Console.WriteLine("Unter 100!!"); throw new Exception(); } foreach (int id2 in nearestNeighbors[id1]) { if (id1 == id2) { throw new Exception(); } alglib.sparseset(this.W, id1, id2, getDistanceProbability(id1, id2)); } }catch (Exception e) { } } alglib.sparseconverttocrs(W); W.normalize(ratings.AllItems, k); }