18 using System.Collections.Generic;
21 using TraceLabSDK.Types;
23 namespace TraceLab.Components.DevelopmentKit.Postprocessors.CSTI
37 public static TLSimilarityMatrix
Compute(TLSimilarityMatrix sims, TLSimilarityMatrix relationships, TLSimilarityMatrix feedback)
40 TLSimilarityMatrix newMatrix =
new TLSimilarityMatrix();
44 TLLinksList links = sims.AllLinks;
49 while (links.Count > 0 && correct < feedback.Count)
52 TLSingleLink link = links[0];
54 if (feedback.IsLinkAboveThreshold(link.SourceArtifactId, link.TargetArtifactId))
58 for (
int i = 1; i < links.Count; i++)
60 if (link.SourceArtifactId.Equals(links[i].SourceArtifactId)
61 && relationships.IsLinkAboveThreshold(link.TargetArtifactId, links[i].TargetArtifactId))
63 links[i].Score += links[i].Score * delta;
68 newMatrix.AddLink(link.SourceArtifactId, link.TargetArtifactId, link.Score);