Index: /branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/substitution/FitchMargoliashMatrix.java
===================================================================
--- /branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/substitution/FitchMargoliashMatrix.java	(revision 1570)
+++ /branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/substitution/FitchMargoliashMatrix.java	(revision 1570)
@@ -0,0 +1,9 @@
+package de.ugoe.cs.autoquest.tasktrees.alignment.substitution;
+
+public class FitchMargoliashMatrix extends TriangleMatrix {
+
+	public FitchMargoliashMatrix(int size) {
+		super(size);
+	}
+
+}
Index: /branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/substitution/ObjectDistanceSubstitionMatrix.java
===================================================================
--- /branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/substitution/ObjectDistanceSubstitionMatrix.java	(revision 1569)
+++ /branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/substitution/ObjectDistanceSubstitionMatrix.java	(revision 1570)
@@ -1,22 +1,16 @@
 package de.ugoe.cs.autoquest.tasktrees.alignment.substitution;
 
-import java.util.ArrayList;
-import java.util.Collection;
+
 import java.util.HashMap;
 import java.util.Iterator;
 
-import de.ugoe.cs.autoquest.eventcore.guimodel.GUIModel;
+
 import de.ugoe.cs.autoquest.eventcore.guimodel.IGUIElement;
-
-import java.util.List;
-
-import de.ugoe.cs.autoquest.eventcore.Event;
 import de.ugoe.cs.autoquest.tasktrees.alignment.algorithms.AlignmentHelpers;
 import de.ugoe.cs.autoquest.tasktrees.treeifc.IEventTaskInstance;
 import de.ugoe.cs.autoquest.tasktrees.treeifc.ITask;
 import de.ugoe.cs.autoquest.tasktrees.treeifc.ITaskInstance;
-import de.ugoe.cs.autoquest.tasktrees.treeifc.IUserSession;
 import de.ugoe.cs.autoquest.usageprofiles.SymbolMap;
-import de.ugoe.cs.util.console.GlobalDataContainer;
+
 
 public class ObjectDistanceSubstitionMatrix implements SubstitutionMatrix {
@@ -92,5 +86,5 @@
 				}
 				float distance = -1*AlignmentHelpers.distanceBetween(first, second);
-				//meandistance += distance;
+			
 			
 				if(distance > maxDistance){
@@ -98,9 +92,7 @@
 				}
 				
-				distance += 5;
+				distance += positiveThreshold;
 				
-				//if (distance < positiveThreshold) {
-				//	distance = -1*distance;
-				//}
+
 				
 				matrix.set(tempindex1, tempindex2,distance);
Index: /branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/substitution/SubstitutionMatrix.java
===================================================================
--- /branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/substitution/SubstitutionMatrix.java	(revision 1569)
+++ /branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/substitution/SubstitutionMatrix.java	(revision 1570)
@@ -1,9 +1,4 @@
 package de.ugoe.cs.autoquest.tasktrees.alignment.substitution;
 
-import java.util.Collection;
-import java.util.List;
-
-import de.ugoe.cs.autoquest.eventcore.Event;
-import de.ugoe.cs.autoquest.tasktrees.treeifc.IUserSession;
 
 
Index: /branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/substitution/TriangleMatrix.java
===================================================================
--- /branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/substitution/TriangleMatrix.java	(revision 1569)
+++ /branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/alignment/substitution/TriangleMatrix.java	(revision 1570)
@@ -5,4 +5,6 @@
 	private double[] matrix;
 	private int size;
+	
+	
 	
 	public TriangleMatrix(int size) {
Index: /branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/SequenceForTaskDetectionRuleAlignment.java
===================================================================
--- /branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/SequenceForTaskDetectionRuleAlignment.java	(revision 1569)
+++ /branches/ralph/src/main/java/de/ugoe/cs/autoquest/tasktrees/temporalrelation/SequenceForTaskDetectionRuleAlignment.java	(revision 1570)
@@ -27,5 +27,4 @@
 import de.ugoe.cs.autoquest.tasktrees.alignment.algorithms.FengDoolittle;
 import de.ugoe.cs.autoquest.tasktrees.alignment.algorithms.NumberSequence;
-import de.ugoe.cs.autoquest.tasktrees.alignment.algorithms.SmithWaterman;
 import de.ugoe.cs.autoquest.tasktrees.alignment.algorithms.SmithWatermanRepeated;
 import de.ugoe.cs.autoquest.tasktrees.alignment.substitution.ObjectDistanceSubstitionMatrix;
@@ -163,4 +162,5 @@
 
 		TriangleMatrix sequenceDistances = new TriangleMatrix(numberseqs.size());
+		sequenceDistances.initialize(Double.POSITIVE_INFINITY);
 
 		for (int i = 0; i < numberseqs.size(); i++) {
@@ -190,5 +190,5 @@
 					
 					double score = twoSequences.getAlignmentScore();
-					// Scores of the sequence beeing aligned to itself
+					// Scores of the sequence being aligned to itself
 					double sSelf1 = sameSequence1.getAlignmentScore();
 					double sSelf2 = sameSequence2.getAlignmentScore();
@@ -198,9 +198,16 @@
 					double sMax = (sSelf1 + sSelf2) / 2;
 					double sEff = (score - sRand)/ (sMax - sRand);
+					if(sEff < 0) {
+						sEff = 0;
+					}
 					double distance = -Math.log(sEff);
-				
-					System.out.println("Score: " + score + " sRand: " + sRand + " sMax: " + sMax + " sEff: " + sEff + " distance: " + distance);
 					
-					sequenceDistances.set(i,j,distance );
+					
+					if(!Double.isInfinite(distance) && !Double.isNaN(distance)) {
+						//System.out.println("Score: " + String.format("%5.1f", score) + " sRand: " + String.format("%5.1f", sRand) + " sMax: " + String.format("%6.1f", sMax)  + " distance: " + String.format("%2.3f",distance));
+						if(distance < sequenceDistances.get(i, j)) {	
+							sequenceDistances.set(i,j,distance );
+						}
+					}
 
 					if (score > 0) {
@@ -227,9 +234,9 @@
 			}
 		}
-		//System.out.println(sequenceDistances.toString());
+		System.out.println(sequenceDistances.toString());
 		
 		do {
 			System.out.println();
-			FengDoolittle fd = new FengDoolittle();
+			//FengDoolittle fd = new FengDoolittle();
 
 			// appData.getStopWatch().start("whole loop");
