Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Phase saving, restarts, and heuristic performance logs #202

Open
wants to merge 39 commits into
base: master
Choose a base branch
from

Commits on Sep 29, 2019

  1. Add phase saving.

    - Assignment provides getLastValue (i.e. phase).
    - VSIDSWithPhaseSaving is VSIDS but uses saved phase from Assignment.
    - BranchingHeuristicFactory knows new VSIDSWithPhaseSaving heuristics.
    - HeapOfActiveAtoms polished, growForMaxAtomId added.
    - TrailAssignment saves the phase (last truth value) of variables.
    AntoniusW committed Sep 29, 2019
    Configuration menu
    Copy the full SHA
    8b69a7a View commit details
    Browse the repository at this point in the history

Commits on Oct 5, 2019

  1. Adding restarts (default disabled).

    - CommandLineParser and SystemConfig have option to enable restarts.
    - DefaultSolver runs restarts if enabled.
    - Add MixedRestartStrategy combining Luby and dynamic (EMA) restarts.
    - Enhanced performance logs for conflicts and restarts
    AntoniusW committed Oct 5, 2019
    Configuration menu
    Copy the full SHA
    2904653 View commit details
    Browse the repository at this point in the history

Commits on Oct 7, 2019

  1. Enhance performance logs to show quality of heuristic decisions.

    - ChainedBranchingHeuristics gives access to first-run heuristics.
    - HeapOfActiveAtoms reports activity increment for normalization.
    - VSIDSWithPhaseSaving logs
      * the overall, normalized decrease in activity of the seelected atoms,
      * the number of most-active choices thrown away because they were not
        active choice points at the time.
    - PerformanceLog prints heuristics information if DefaultSolver is
      runnning with VSIDSWithPhaseSaving
    AntoniusW committed Oct 7, 2019
    Configuration menu
    Copy the full SHA
    af19a14 View commit details
    Browse the repository at this point in the history

Commits on Oct 23, 2019

  1. Add options for initial phase settings; add atom dependency to VSIDS

    with phase saving.
    
    - CommandLineParser and SystemConfig accept initial phase settings.
    - AtomChoiceRelation stores relation between ordinary atoms and the
      choice points that influence them.
    - NaiveGrounder and ProgramAnalyzingGrounder provide AtomChoiceRelation.
    - NoGoodGenerator fills AtomChoiceRelation.
    - BranchingHeuristicFactory sets AtomChoiceRelation for
      VSIDSWithPhaseSaving.
    - PhaseInitializerFactory provides different initial phase settings.
    - VSIDSWithPhaseSaving uses AtomChoiceRelation for activity increments.
    - SolverFactory sets chosen phase initializer.
    - TrailAssignment considers initial phase value, if phase was not set.
    - Tests set a phase initializer if needed.
    AntoniusW committed Oct 23, 2019
    Configuration menu
    Copy the full SHA
    c3ac978 View commit details
    Browse the repository at this point in the history

Commits on Nov 7, 2019

  1. Add HeapOfRelatedChoiceAtoms recording only choice points, improve logs.

    - In HeapOfActiveAtoms several members/methods package-private now to
      allow overriding.
    - Add HeapOfRelatedChoiceAtoms using AtomChoiceRelation to only record
      and initialize choice points.
    - Moved ChoiceManager update in DefaultSolver to correctly know which
      atoms are choice points.
    - Improved logging in VSIDSWithPhaseSaving and PerformanceLog.
    AntoniusW committed Nov 7, 2019
    Configuration menu
    Copy the full SHA
    78b7e89 View commit details
    Browse the repository at this point in the history

Commits on Nov 12, 2019

  1. Configuration menu
    Copy the full SHA
    6143e82 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    cd6ea23 View commit details
    Browse the repository at this point in the history
  3. Make AtomChoiceRelation a mandatory Grounder component.

    - Move getAtomChoiceRelation() from NaiveGrounder to Grounder, implement
      method also in DummyGrounder and ChoiceGrounder.
    - HeapOfActiveAtoms keeps track of literals occurring in the heap.
    - More logging stats from VSIDSWithPhaseSaving.
    - ChoiceInfluenceManager: simplified callbackOnChange
    AntoniusW committed Nov 12, 2019
    Configuration menu
    Copy the full SHA
    e83c866 View commit details
    Browse the repository at this point in the history

Commits on Feb 12, 2020

  1. Merge branch 'master' into phase_saving_and_restarts_merge_master

    # Conflicts:
    #	src/main/java/at/ac/tuwien/kr/alpha/config/CommandLineParser.java
    #	src/main/java/at/ac/tuwien/kr/alpha/config/SystemConfig.java
    #	src/main/java/at/ac/tuwien/kr/alpha/grounder/NaiveGrounder.java
    #	src/test/java/at/ac/tuwien/kr/alpha/grounder/NaiveGrounderTest.java
    #	src/test/java/at/ac/tuwien/kr/alpha/solver/LearnedNoGoodDeletionTest.java
    rtaupe committed Feb 12, 2020
    Configuration menu
    Copy the full SHA
    ab122e3 View commit details
    Browse the repository at this point in the history
  2. Fix merge ab122e3

    rtaupe committed Feb 12, 2020
    Configuration menu
    Copy the full SHA
    a6ccf70 View commit details
    Browse the repository at this point in the history

Commits on Feb 15, 2020

  1. Merge pull request #222 from alpha-asp/phase_saving_and_restarts_merg…

    …e_master
    
    Merge master into phase_saving_and_restarts
    AntoniusW authored Feb 15, 2020
    Configuration menu
    Copy the full SHA
    a7e66ce View commit details
    Browse the repository at this point in the history

Commits on Feb 19, 2020

  1. Merge branch 'master' into phase_saving_and_restarts_merge_master

    # Conflicts:
    #	src/main/java/at/ac/tuwien/kr/alpha/config/CommandLineParser.java
    rtaupe committed Feb 19, 2020
    Configuration menu
    Copy the full SHA
    0fbb0e9 View commit details
    Browse the repository at this point in the history

Commits on Feb 21, 2020

  1. Merge pull request #224 from alpha-asp/phase_saving_and_restarts_merg…

    …e_master
    
    Merge master into phase_saving_and_restarts
    AntoniusW authored Feb 21, 2020
    Configuration menu
    Copy the full SHA
    f922794 View commit details
    Browse the repository at this point in the history

Commits on Apr 24, 2020

  1. Configuration menu
    Copy the full SHA
    689dd00 View commit details
    Browse the repository at this point in the history

Commits on May 1, 2020

  1. Better toString in ChoiceRecorder.

    - Extend Util.join with toString method parameter.
    AntoniusW committed May 1, 2020
    Configuration menu
    Copy the full SHA
    c944b7e View commit details
    Browse the repository at this point in the history

Commits on May 2, 2020

  1. Fix checkstyle.

    AntoniusW committed May 2, 2020
    Configuration menu
    Copy the full SHA
    3770706 View commit details
    Browse the repository at this point in the history
  2. Add initial phase setting rules true, rest false.

    - Change initial phase values from strings to enum.
    - Add PhaseInitializer for RULESTRUEATOMSFALSE.
    AntoniusW committed May 2, 2020
    Configuration menu
    Copy the full SHA
    f30057a View commit details
    Browse the repository at this point in the history

Commits on May 3, 2020

  1. Configuration menu
    Copy the full SHA
    0650096 View commit details
    Browse the repository at this point in the history

Commits on May 4, 2020

  1. Configuration menu
    Copy the full SHA
    d0229b4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7d992c2 View commit details
    Browse the repository at this point in the history

Commits on May 5, 2020

  1. Configuration menu
    Copy the full SHA
    48051e6 View commit details
    Browse the repository at this point in the history

Commits on May 6, 2020

  1. Configuration menu
    Copy the full SHA
    0589715 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d9180c4 View commit details
    Browse the repository at this point in the history

Commits on May 7, 2020

  1. Small polish.

    AntoniusW committed May 7, 2020
    Configuration menu
    Copy the full SHA
    4b8566a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e63651a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    2e26f69 View commit details
    Browse the repository at this point in the history
  4. Small polish.

    AntoniusW committed May 7, 2020
    Configuration menu
    Copy the full SHA
    340ae36 View commit details
    Browse the repository at this point in the history
  5. Merge pull request #253 from alpha-asp/phase_saving_and_restarts_fix_…

    …default_initial_phase
    
    Use enum instead of string for default initial phase
    AntoniusW authored May 7, 2020
    Configuration menu
    Copy the full SHA
    fdca492 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    4bb2cf8 View commit details
    Browse the repository at this point in the history

Commits on May 26, 2020

  1. Configuration menu
    Copy the full SHA
    7855224 View commit details
    Browse the repository at this point in the history

Commits on Sep 20, 2021

  1. Configuration menu
    Copy the full SHA
    e968afa View commit details
    Browse the repository at this point in the history

Commits on Sep 21, 2021

  1. Merge branch 'master' into phase_saving_and_restarts

    # Conflicts:
    #	src/main/java/at/ac/tuwien/kr/alpha/AnswerSetToXlsxWriter.java
    #	src/main/java/at/ac/tuwien/kr/alpha/Main.java
    #	src/main/java/at/ac/tuwien/kr/alpha/api/mapper/AnswerSetToWorkbookMapper.java
    #	src/main/java/at/ac/tuwien/kr/alpha/config/CommandLineParser.java
    #	src/main/java/at/ac/tuwien/kr/alpha/config/InputConfig.java
    #	src/main/java/at/ac/tuwien/kr/alpha/config/SystemConfig.java
    #	src/main/java/at/ac/tuwien/kr/alpha/grounder/NaiveGrounder.java
    #	src/main/java/at/ac/tuwien/kr/alpha/grounder/NoGoodGenerator.java
    #	src/main/java/at/ac/tuwien/kr/alpha/grounder/RuleGroundingOrders.java
    #	src/main/java/at/ac/tuwien/kr/alpha/grounder/transformation/CardinalityNormalization.java
    #	src/test/java/at/ac/tuwien/kr/alpha/AnswerSetToXlsxWriterTest.java
    #	src/test/java/at/ac/tuwien/kr/alpha/api/AlphaTest.java
    #	src/test/java/at/ac/tuwien/kr/alpha/grounder/DummyGrounder.java
    #	src/test/java/at/ac/tuwien/kr/alpha/grounder/NaiveGrounderTest.java
    #	src/test/java/at/ac/tuwien/kr/alpha/grounder/RuleGroundingOrderTest.java
    #	src/test/java/at/ac/tuwien/kr/alpha/solver/LearnedNoGoodDeletionTest.java
    AntoniusW committed Sep 21, 2021
    Configuration menu
    Copy the full SHA
    5d52555 View commit details
    Browse the repository at this point in the history
  2. Fix merge conflicts.

    AntoniusW committed Sep 21, 2021
    Configuration menu
    Copy the full SHA
    7257348 View commit details
    Browse the repository at this point in the history
  3. Merge branch 'phase_saving_and_restarts' of github:AntoniusW/Alpha in…

    …to phase_saving_and_restarts
    AntoniusW committed Sep 21, 2021
    Configuration menu
    Copy the full SHA
    a0f87e9 View commit details
    Browse the repository at this point in the history

Commits on Oct 4, 2021

  1. Configuration menu
    Copy the full SHA
    2fcf5d7 View commit details
    Browse the repository at this point in the history

Commits on Oct 6, 2021

  1. Refactor VSIDS implementations, extract common fields and methods.

    - Introduced AbstractVSIDS, bundling code common to all VSIDS implementations.
    - VSIDS refactored and extends AbstractVSIDS now.
    - VSIDSWithPhaseSaving refactored and extends AbstractVSIDS now.
    AntoniusW committed Oct 6, 2021
    Configuration menu
    Copy the full SHA
    af8a944 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    419b819 View commit details
    Browse the repository at this point in the history

Commits on Dec 4, 2021

  1. Merge branch 'master' into phase_saving_and_restarts

    # Conflicts:
    #	alpha-api/src/main/java/at/ac/tuwien/kr/alpha/api/config/SystemConfig.java
    #	alpha-cli-app/src/main/java/at/ac/tuwien/kr/alpha/app/config/CommandLineParser.java
    #	alpha-cli-app/src/test/java/at/ac/tuwien/kr/alpha/app/config/CommandLineParserTest.java
    #	alpha-cli-app/src/test/java/at/ac/tuwien/kr/alpha/app/mappers/AnswerSetToWorkbookMapperTest.java
    #	alpha-commons/src/main/java/at/ac/tuwien/kr/alpha/commons/literals/ComparisonLiteralImpl.java
    #	alpha-core/src/main/java/at/ac/tuwien/kr/alpha/core/common/NoGood.java
    #	alpha-core/src/main/java/at/ac/tuwien/kr/alpha/core/grounder/ChoiceRecorder.java
    #	alpha-core/src/main/java/at/ac/tuwien/kr/alpha/core/grounder/Grounder.java
    #	alpha-core/src/main/java/at/ac/tuwien/kr/alpha/core/grounder/NaiveGrounder.java
    #	alpha-core/src/main/java/at/ac/tuwien/kr/alpha/core/grounder/NoGoodGenerator.java
    #	alpha-core/src/main/java/at/ac/tuwien/kr/alpha/core/programs/structure/AtomChoiceRelation.java
    #	alpha-core/src/main/java/at/ac/tuwien/kr/alpha/core/solver/DefaultSolver.java
    #	alpha-core/src/main/java/at/ac/tuwien/kr/alpha/core/solver/MixedRestartStrategy.java
    #	alpha-core/src/main/java/at/ac/tuwien/kr/alpha/core/solver/NaiveNoGoodStore.java
    #	alpha-core/src/main/java/at/ac/tuwien/kr/alpha/core/solver/NoGoodCounter.java
    #	alpha-core/src/main/java/at/ac/tuwien/kr/alpha/core/solver/PerformanceLog.java
    #	alpha-core/src/main/java/at/ac/tuwien/kr/alpha/core/solver/SolverFactory.java
    #	alpha-core/src/main/java/at/ac/tuwien/kr/alpha/core/solver/TrailAssignment.java
    #	alpha-core/src/main/java/at/ac/tuwien/kr/alpha/core/solver/heuristics/AbstractVSIDS.java
    #	alpha-core/src/main/java/at/ac/tuwien/kr/alpha/core/solver/heuristics/BranchingHeuristicFactory.java
    #	alpha-core/src/main/java/at/ac/tuwien/kr/alpha/core/solver/heuristics/ChainedBranchingHeuristics.java
    #	alpha-core/src/main/java/at/ac/tuwien/kr/alpha/core/solver/heuristics/HeapOfActiveAtoms.java
    #	alpha-core/src/main/java/at/ac/tuwien/kr/alpha/core/solver/heuristics/HeapOfRelatedChoiceAtoms.java
    #	alpha-core/src/main/java/at/ac/tuwien/kr/alpha/core/solver/heuristics/PhaseInitializerFactory.java
    #	alpha-core/src/main/java/at/ac/tuwien/kr/alpha/core/solver/heuristics/VSIDS.java
    #	alpha-core/src/main/java/at/ac/tuwien/kr/alpha/core/solver/heuristics/VSIDSWithPhaseSaving.java
    #	alpha-core/src/test/java/at/ac/tuwien/kr/alpha/core/grounder/ChoiceGrounder.java
    #	alpha-core/src/test/java/at/ac/tuwien/kr/alpha/core/grounder/DummyGrounder.java
    AntoniusW committed Dec 4, 2021
    Configuration menu
    Copy the full SHA
    8adbd2a View commit details
    Browse the repository at this point in the history

Commits on Dec 5, 2021

  1. Modularize phase saving and fix merge.

    - Extract InitialAtomPhase from PhaseInitializerFactory.
    - Fix missing/wrong imports.
    AntoniusW committed Dec 5, 2021
    Configuration menu
    Copy the full SHA
    fcd2436 View commit details
    Browse the repository at this point in the history