Ejemplo n.º 1
0
        /// <summary>
        /// bevat een even aantal b’s en eindigt op aab
        /// </summary>
        /// <returns></returns>
        static public Automata <string> EvenbEindigaab()
        {
            char[]            alphabet = { 'a', 'b' };
            Automata <string> automata = new Automata <string>(alphabet);

            automata.AddTransition(new Transition <string>("0", 'a', "0"));
            automata.AddTransition(new Transition <string>("0", 'b', "1"));

            automata.AddTransition(new Transition <string>("1", 'a', "2"));
            automata.AddTransition(new Transition <string>("1", 'b', "0"));

            automata.AddTransition(new Transition <string>("2", 'a', "3"));
            automata.AddTransition(new Transition <string>("2", 'b', "0"));

            automata.AddTransition(new Transition <string>("3", 'a', "2"));
            automata.AddTransition(new Transition <string>("3", 'b', "4"));

            automata.AddTransition(new Transition <string>("4", 'a', "2"));
            automata.AddTransition(new Transition <string>("4", 'b', "0"));

            automata.DefineAsStartState("0");

            automata.DefineAsFinalState("4");

            return(automata);
        }
Ejemplo n.º 2
0
        static public Automata <string> GetExampleSlide8Lesson2()
        {
            char[]            alphabet = { 'a', 'b' };
            Automata <string> automata = new Automata <string>(alphabet);

            automata.AddTransition(new Transition <string>("q0", 'a', "q1"));
            automata.AddTransition(new Transition <string>("q0", 'b', "q4"));

            automata.AddTransition(new Transition <string>("q1", 'a', "q4"));
            automata.AddTransition(new Transition <string>("q1", 'b', "q2"));

            automata.AddTransition(new Transition <string>("q2", 'a', "q3"));
            automata.AddTransition(new Transition <string>("q2", 'b', "q4"));

            automata.AddTransition(new Transition <string>("q3", 'a', "q1"));
            automata.AddTransition(new Transition <string>("q3", 'b', "q2"));

            // the error state, loops for a and b:
            automata.AddTransition(new Transition <string>("q4", 'a'));
            automata.AddTransition(new Transition <string>("q4", 'b'));

            // only on start state in a dfa:
            automata.DefineAsStartState("q0");

            // two final states:
            automata.DefineAsFinalState("q2");
            automata.DefineAsFinalState("q3");

            return(automata);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// begint met abb of eindigt op baab
        /// </summary>
        /// <returns></returns>
        static public Automata <string> BeginabbOfEindingbaab()
        {
            char[]            alphabet = { 'a', 'b' };
            Automata <string> automata = new Automata <string>(alphabet);

            automata.AddTransition(new Transition <string>("0", 'a', "1"));
            automata.AddTransition(new Transition <string>("0", 'b', "4"));

            automata.AddTransition(new Transition <string>("1", 'a', "4"));
            automata.AddTransition(new Transition <string>("1", 'b', "2"));

            automata.AddTransition(new Transition <string>("2", 'a', "4"));
            automata.AddTransition(new Transition <string>("2", 'b', "3"));

            automata.AddTransition(new Transition <string>("3", 'a', "3"));
            automata.AddTransition(new Transition <string>("3", 'b', "3"));

            automata.AddTransition(new Transition <string>("4", 'a', "4"));
            automata.AddTransition(new Transition <string>("4", 'b', "5"));

            automata.AddTransition(new Transition <string>("5", 'a', "6"));
            automata.AddTransition(new Transition <string>("5", 'b', "5"));

            automata.AddTransition(new Transition <string>("6", 'a', "7"));
            automata.AddTransition(new Transition <string>("6", 'b', "5"));

            automata.AddTransition(new Transition <string>("7", 'a', "4"));
            automata.AddTransition(new Transition <string>("7", 'b', "8"));

            automata.AddTransition(new Transition <string>("8", 'a', "4"));
            automata.AddTransition(new Transition <string>("8", 'b', "5"));

            automata.DefineAsStartState("0");

            automata.DefineAsFinalState("3");
            automata.DefineAsFinalState("8");

            return(automata);
        }
Ejemplo n.º 4
0
        static public Automata <string> GetExampleSlide14Lesson2()
        {
            char[]            alphabet = { 'a', 'b' };
            Automata <string> automata = new Automata <string>(alphabet);

            automata.AddTransition(new Transition <string>("A", 'a', "C"));
            automata.AddTransition(new Transition <string>("A", 'b', "B"));
            automata.AddTransition(new Transition <string>("A", 'b', "C"));

            automata.AddTransition(new Transition <string>("B", 'b', "C"));
            automata.AddTransition(new Transition <string>("B", "C"));

            automata.AddTransition(new Transition <string>("C", 'a', "D"));
            automata.AddTransition(new Transition <string>("C", 'a', "E"));
            automata.AddTransition(new Transition <string>("C", 'b', "D"));

            automata.AddTransition(new Transition <string>("D", 'a', "B"));
            automata.AddTransition(new Transition <string>("D", 'a', "C"));

            automata.AddTransition(new Transition <string>("E", 'a'));
            automata.AddTransition(new Transition <string>("E", "D"));

            // only on start state in a dfa:
            automata.DefineAsStartState("A");

            // two final states:
            automata.DefineAsFinalState("C");
            automata.DefineAsFinalState("E");

            return(automata);
        }