Examples of FiniteAutomaton


Examples of solver.constraints.nary.automata.FA.FiniteAutomaton

        int n = 13;
        IntVar[] vars = new IntVar[n];
        for (int i = 0; i < n; i++) {
            vars[i] = VariableFactory.enumerated("x_" + i, 0, 2, solver);
        }
        FiniteAutomaton auto = new FiniteAutomaton();
        int start = auto.addState();
        int end = auto.addState();
        auto.setInitialState(start);
        auto.setFinal(start);
        auto.setFinal(end);

        auto.addTransition(start, start, 0, 1);
        auto.addTransition(start, end, 2);

        auto.addTransition(end, start, 2);
        auto.addTransition(end, start, 0, 1);

        solver.post(IntConstraintFactory.regular(vars, auto));
        solver.set(IntStrategyFactory.lexico_LB(vars));

        solver.findAllSolutions();
View Full Code Here

Examples of solver.constraints.nary.automata.FA.FiniteAutomaton

    }

    @Test(groups = "1m")
    public void compareVersionSpeedNew() {
        int n = 14;
        FiniteAutomaton auto = new FiniteAutomaton("(0|1|2)*(0|1)(0|1)(0|1)(0|1|2)*");

        Solver solver = new Solver();
        IntVar[] vars = new IntVar[n];
        for (int i = 0; i < n; i++) {
            vars[i] = VariableFactory.enumerated("x_" + i, 0, 2, solver);
View Full Code Here

Examples of solver.constraints.nary.automata.FA.FiniteAutomaton

            vars[i] = VariableFactory.enumerated("x_" + i, 0, 2, solver);
        }
        IntVar cost = VariableFactory.bounded("z", 3, 4, solver);


        FiniteAutomaton auto = new FiniteAutomaton();
        int start = auto.addState();
        int end = auto.addState();
        auto.setInitialState(start);
        auto.setFinal(start);
        auto.setFinal(end);

        auto.addTransition(start, start, 0, 1);
        auto.addTransition(start, end, 2);

        auto.addTransition(end, start, 2);
        auto.addTransition(end, start, 0, 1);

        int[][][] costs = new int[n][3][2];
        for (int i = 0; i < costs.length; i++) {
            costs[i][0][1] = 1;
            costs[i][1][1] = 1;
View Full Code Here

Examples of solver.constraints.nary.automata.FA.FiniteAutomaton

        forbiddenRegExps.add("(0|1|2)*01(0|1)(0|1|2)*");
        // at most three 2 on consecutive even positions
        forbiddenRegExps.add("(0|1|2)((0|1|2)(0|1|2))*2(0|1|2)2(0|1|2)2(0|1|2)*");

        // a unique automaton is built as the complement language composed of all the forbidden patterns
        FiniteAutomaton auto = new FiniteAutomaton();
        for (String reg : forbiddenRegExps) {
            FiniteAutomaton a = new FiniteAutomaton(reg);
            auto = auto.union(a);
            auto.minimize();
        }
        auto = auto.complement();
        auto.minimize();
View Full Code Here

Examples of solver.constraints.nary.automata.FA.FiniteAutomaton

        forbiddenRegExps.add("(0|1|2)*01(0|1)(0|1|2)*");
        // at most three 2 on consecutive even positions
        forbiddenRegExps.add("(0|1|2)((0|1|2)(0|1|2))*2(0|1|2)2(0|1|2)2(0|1|2)*");

        // a unique automaton is built as the complement language composed of all the forbidden patterns
        FiniteAutomaton auto = new FiniteAutomaton();
        for (String reg : forbiddenRegExps) {
            FiniteAutomaton a = new FiniteAutomaton(reg);
            auto = auto.union(a);
            auto.minimize();
        }
        auto = auto.complement();
        auto.minimize();
View Full Code Here

Examples of solver.constraints.nary.automata.FA.FiniteAutomaton

            vars[i] = VariableFactory.enumerated("x_" + i, 0, 2, solver);
        }
        IntVar cost = VariableFactory.bounded("z", 10, 10, solver);


        FiniteAutomaton auto = new FiniteAutomaton();
        int start = auto.addState();
        int end = auto.addState();
        auto.setInitialState(start);
        auto.setFinal(start);
        auto.setFinal(end);

        auto.addTransition(start, start, 0, 1);
        auto.addTransition(start, end, 2);

        auto.addTransition(end, start, 2);
        auto.addTransition(end, start, 0, 1);

        int[][][] costs = new int[n][3][2];
        for (int i = 0; i < costs.length; i++) {
            for (int k = 0; k < 2; k++) {
                costs[i][0][k] = 1;
View Full Code Here

Examples of solver.constraints.nary.automata.FA.FiniteAutomaton

        for (int i = 0; i < n; i++) {
            vars[i] = VariableFactory.enumerated("x_" + i, 0, 2, solver);
        }
        IntVar cost = VariableFactory.bounded("z", 4, 6, solver);

        FiniteAutomaton auto = new FiniteAutomaton();
        int start = auto.addState();
        int end = auto.addState();
        auto.setInitialState(start);
        auto.setFinal(start);
        auto.setFinal(end);

        auto.addTransition(start, start, 0, 1);
        auto.addTransition(start, end, 2);

        auto.addTransition(end, start, 2);
        auto.addTransition(end, start, 0, 1);

        int[][][] costs = new int[n][3][2];
        for (int i = 0; i < costs.length; i++) {
            costs[i][0][1] = 1;
            costs[i][1][1] = 1;
View Full Code Here

Examples of solver.constraints.nary.automata.FA.FiniteAutomaton

    }

    @Test(groups = "10s")
    public void compareVersionSpeedNew() {
        int n = 14;
        FiniteAutomaton auto = new FiniteAutomaton("(0|1|2)*(0|1)(0|1)(0|1)(0|1|2)*");

//        int[][] c1 = new int[n][3];
        int[][][] c2 = new int[n][3][auto.getNbStates()];
        for (int i = 0; i < n; i++) {
            for (int k = 0; k < auto.getNbStates(); k++) {
//                c1[i][0] = 1;
//                c1[i][1] = 2;
                c2[i][0][k] = 1;
                c2[i][1][k] = 2;
            }
View Full Code Here

Examples of solver.constraints.nary.automata.FA.FiniteAutomaton

        this.bounds[0] = VariableFactory.bounded("z_0", 0, 80, solver);
        this.bounds[1] = VariableFactory.bounded("day", 0, 28, solver);
        this.bounds[2] = VariableFactory.bounded("night", 0, 28, solver);
        this.bounds[3] = VariableFactory.bounded("rest", 0, 28, solver);

        this.auto = new FiniteAutomaton();
        int idx = this.auto.addState();
        this.auto.setInitialState(idx);
        this.auto.setFinal(idx);
        idx = this.auto.addState();
        int DAY = 0;
View Full Code Here

Examples of solver.constraints.nary.automata.FA.FiniteAutomaton

                regexp.append('1');
            }
            regexp.append('0');
            regexp.append(i == m - 1 ? '*' : '+');
        }
        IAutomaton auto = new FiniteAutomaton(regexp.toString());
        solver.post(IntConstraintFactory.regular(cells, auto));
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.