예제 #1
0
파일: Tests.cs 프로젝트: Serpen/Serpen.Uni
 public static void TestDFAPumpbar() {
     var dfas = KnownAutomat.GetDFAModels();
     foreach (var dfa in dfas) {
         for (int i = 0; i < 10; i++) {
             var rnd = Serpen.Uni.Utils.RND.Next(1, 20);
             var pb = PumpingLemma.TestPumpbar(dfa, rnd);
             if (pb != PumpResult.Pumpable) {
                 System.Console.WriteLine($"Not {rnd}-pumpbar {pb} {dfa}");
             }
         }
     }
 }
예제 #2
0
파일: Tests.cs 프로젝트: Serpen/Serpen.Uni
        public static void TestMinimizedDeaIsMHCount() {
            var dfas = KnownAutomat.GetDFAModels();
            foreach (var dfa in dfas) {
                DFA dmin = ((DFA)dfa.PurgeStates()).Minimize();
                var mheqs = dfa.FindMNEqClasses();
                if (dmin.StatesCount != mheqs.Count) {
                    dmin.SaveAutomatImageToTemp();
                    Utils.DebugMessage($"DFA min {dmin.StatesCount} != MH {mheqs.Count}", dfa, Uni.Utils.eDebugLogLevel.Always);
                    dmin = null;
                }

            }
        }