Search in sources :

Example 11 with Solver

use of at.ac.tuwien.kr.alpha.api.Solver in project Alpha by alpha-asp.

the class SolverStatisticsTests method checkNoGoodCounterStatsByTypeUsingDummyGrounder.

@RegressionTest
public void checkNoGoodCounterStatsByTypeUsingDummyGrounder(RegressionTestConfig cfg) {
    Solver solver = buildSolverForRegressionTest(atomStore, new DummyGrounder(atomStore), cfg);
    assumeTrue(solver instanceof StatisticsReportingSolver);
    collectAnswerSetsAndCheckNoGoodCounterStatsByType(solver, 4, 0, 0, 0);
}
Also used : Solver(at.ac.tuwien.kr.alpha.api.Solver) StatisticsReportingSolver(at.ac.tuwien.kr.alpha.api.StatisticsReportingSolver) StatisticsReportingSolver(at.ac.tuwien.kr.alpha.api.StatisticsReportingSolver) DummyGrounder(at.ac.tuwien.kr.alpha.core.grounder.DummyGrounder) TestUtils.buildSolverForRegressionTest(at.ac.tuwien.kr.alpha.core.test.util.TestUtils.buildSolverForRegressionTest)

Example 12 with Solver

use of at.ac.tuwien.kr.alpha.api.Solver in project Alpha by alpha-asp.

the class SolverStatisticsTests method checkStatsStringZeroChoices.

@RegressionTest
public void checkStatsStringZeroChoices(RegressionTestConfig cfg) {
    Solver solver = buildSolverForRegressionTest("a.", cfg);
    assumeTrue(solver instanceof StatisticsReportingSolver);
    collectAnswerSetsAndCheckStats(solver, 1, 0, 0, 0, 0, 0, 0, 0);
}
Also used : Solver(at.ac.tuwien.kr.alpha.api.Solver) StatisticsReportingSolver(at.ac.tuwien.kr.alpha.api.StatisticsReportingSolver) StatisticsReportingSolver(at.ac.tuwien.kr.alpha.api.StatisticsReportingSolver) TestUtils.buildSolverForRegressionTest(at.ac.tuwien.kr.alpha.core.test.util.TestUtils.buildSolverForRegressionTest)

Example 13 with Solver

use of at.ac.tuwien.kr.alpha.api.Solver in project Alpha by alpha-asp.

the class SolverStatisticsTests method checkStatsStringOneChoice.

@RegressionTest
public void checkStatsStringOneChoice(RegressionTestConfig cfg) {
    Solver solver = buildSolverForRegressionTest("a :- not b. b :- not a.", cfg);
    assumeTrue(solver instanceof StatisticsReportingSolver);
    collectAnswerSetsAndCheckStats(solver, 2, 1, 1, 1, 1, 0, 0, 0);
}
Also used : Solver(at.ac.tuwien.kr.alpha.api.Solver) StatisticsReportingSolver(at.ac.tuwien.kr.alpha.api.StatisticsReportingSolver) StatisticsReportingSolver(at.ac.tuwien.kr.alpha.api.StatisticsReportingSolver) TestUtils.buildSolverForRegressionTest(at.ac.tuwien.kr.alpha.core.test.util.TestUtils.buildSolverForRegressionTest)

Example 14 with Solver

use of at.ac.tuwien.kr.alpha.api.Solver in project Alpha by alpha-asp.

the class AlphaImpl method prepareDebugSolve.

@Override
public DebugSolvingContext prepareDebugSolve(final NormalProgram program, java.util.function.Predicate<Predicate> filter) {
    final DependencyGraph depGraph;
    final ComponentGraph compGraph;
    final AnalyzedProgram analyzed = AnalyzedProgram.analyzeNormalProgram(program);
    final NormalProgram preprocessed;
    if (this.config.isEvaluateStratifiedPart()) {
        preprocessed = new StratifiedEvaluation().apply(analyzed).toNormalProgram();
    } else {
        preprocessed = program;
    }
    depGraph = analyzed.getDependencyGraph();
    compGraph = analyzed.getComponentGraph();
    final Solver solver = prepareSolverFor(analyzed, filter);
    return new DebugSolvingContext() {

        @Override
        public Solver getSolver() {
            return solver;
        }

        @Override
        public NormalProgram getPreprocessedProgram() {
            return preprocessed;
        }

        @Override
        public NormalProgram getNormalizedProgram() {
            return program;
        }

        @Override
        public DependencyGraph getDependencyGraph() {
            return depGraph;
        }

        @Override
        public ComponentGraph getComponentGraph() {
            return compGraph;
        }
    };
}
Also used : ComponentGraph(at.ac.tuwien.kr.alpha.api.programs.analysis.ComponentGraph) Solver(at.ac.tuwien.kr.alpha.api.Solver) AnalyzedProgram(at.ac.tuwien.kr.alpha.core.programs.AnalyzedProgram) NormalProgram(at.ac.tuwien.kr.alpha.api.programs.NormalProgram) DependencyGraph(at.ac.tuwien.kr.alpha.api.programs.analysis.DependencyGraph) DebugSolvingContext(at.ac.tuwien.kr.alpha.api.DebugSolvingContext) StratifiedEvaluation(at.ac.tuwien.kr.alpha.core.programs.transformation.StratifiedEvaluation)

Aggregations

Solver (at.ac.tuwien.kr.alpha.api.Solver)14 AnswerSet (at.ac.tuwien.kr.alpha.api.AnswerSet)8 StatisticsReportingSolver (at.ac.tuwien.kr.alpha.api.StatisticsReportingSolver)6 ASPCore2Program (at.ac.tuwien.kr.alpha.api.programs.ASPCore2Program)6 ProgramParserImpl (at.ac.tuwien.kr.alpha.core.parser.ProgramParserImpl)5 TestUtils.buildSolverForRegressionTest (at.ac.tuwien.kr.alpha.core.test.util.TestUtils.buildSolverForRegressionTest)5 DebugSolvingContext (at.ac.tuwien.kr.alpha.api.DebugSolvingContext)3 Alpha (at.ac.tuwien.kr.alpha.api.Alpha)2 AlphaConfig (at.ac.tuwien.kr.alpha.api.config.AlphaConfig)2 InputConfig (at.ac.tuwien.kr.alpha.api.config.InputConfig)2 SystemConfig (at.ac.tuwien.kr.alpha.api.config.SystemConfig)2 AlphaImpl (at.ac.tuwien.kr.alpha.api.impl.AlphaImpl)2 NormalProgram (at.ac.tuwien.kr.alpha.api.programs.NormalProgram)2 ComponentGraph (at.ac.tuwien.kr.alpha.api.programs.analysis.ComponentGraph)2 DependencyGraph (at.ac.tuwien.kr.alpha.api.programs.analysis.DependencyGraph)2 CommandLineParser (at.ac.tuwien.kr.alpha.app.config.CommandLineParser)2 DummyGrounder (at.ac.tuwien.kr.alpha.core.grounder.DummyGrounder)2 AnalyzedProgram (at.ac.tuwien.kr.alpha.core.programs.AnalyzedProgram)2 InputProgram (at.ac.tuwien.kr.alpha.core.programs.InputProgram)2 FileNotFoundException (java.io.FileNotFoundException)2