public static void Main(String[] args) { var X = "INTENTION"; var n = X.Length; var Y = "EXECUTION"; var m = Y.Length; // Edit distance between X and Y is thus D(n,m); //var LSD1 = new Levenshtein(X, Y); //LSD1.CalculateMinimumEditDistance(); //Console.WriteLine(LSD1); //var LSD2 = new Levenshtein("comb", "love"); //LSD2.CalculateMinimumEditDistance(); //Console.WriteLine(LSD2); //var LSD3 = new Levenshtein("bike", "back"); //LSD3.CalculateMinimumEditDistance(); //Console.WriteLine(LSD3); var LSD4 = NeedlemanWunsch.Create("ACGTC", "AGTC"); LSD4.CalculateMinimumEditDistance(); Console.WriteLine(LSD4); var LSD5 = NeedlemanWunsch.Create("ATC", "AATC", 1, (c1, c2) => { return (c1 == c2) ? 0 : -2; }); LSD5.CalculateMinimumEditDistance(); Console.WriteLine(LSD5); var LSD6 = new Levenshtein("ATCAT", "ATTATC", MatrixInitWordA: (character, position) => 0, MatrixInitWordB: (character, position) => 0, InsertionCostFunc: (character) => -1, DeletionCostFunc: (character) => -1, SubstitutionCostFunc: (c1, c2) => { return (c1 == c2) ? 1 : -1; }, BorderCosts: 0, LevenshteinGoal: Levenshtein.LevenshteinGoals.Maximize); LSD6.CalculateMinimumEditDistance(); Console.WriteLine(LSD6); Console.WriteLine(Levenshtein.CreateAndCalc("bane", "barn")); Console.WriteLine(Levenshtein.CreateAndCalc("vase", "cave")); var _TA = new GlypheGraph(); _TA.ReadFile("TestText.txt"); }
/// <summary> /// Setup a Levenshtein matrix for the given words. /// </summary> /// <param name="WordA">The first word.</param> /// <param name="WordB">The second word.</param> public static Levenshtein CreateAndCalc(String WordA, String WordB) { var _Levenshtein = new Levenshtein(WordA, WordB); _Levenshtein.CalculateMinimumEditDistance(); return _Levenshtein; }