Пример #1
0
    static void FindOptimalAlignment(KeyValuePair <List <string>, int> trace, PetriNet minedNet, int transitionId, string alignment)
    {
        var optimal = minedNet.GetValidShortestPath(transitionId, minedNet.GetSinkPlace());

        for (int i = 0; i < optimal.Count; i++)
        {
            //  Console.WriteLine(minedNet.TransitionIdToName(optimal[i]));
            alignment = alignment + minedNet.TransitionIdToName(optimal[i]) + " - ";
        }
        var traceString = "";

        foreach (var step in trace.Key)
        {
            traceString = traceString + step + " - ";
        }
        Console.WriteLine("Deviating trace: " + traceString.Substring(0, traceString.Length - 3));
        Console.WriteLine("Optimal alignment: " + alignment.Substring(0, alignment.Length - 3));
        //Console.WriteLine(trace);
        //Console.WriteLine("Cost of the optimal alignment: ");
    }