Skip to content

Latest commit

 

History

History
466 lines (367 loc) · 19.7 KB

CHANGES.md

File metadata and controls

466 lines (367 loc) · 19.7 KB

Release notes

Fast Downward has been in development since 2003, but the current timed release model was not adopted until 2019. This file documents the changes since the first timed release, Fast Downward 19.06.

For more details, check the repository history (https://github.com/aibasel/downward) and the issue tracker (https://issues.fast-downward.org). Repository branches are named after the corresponding tracker issues.

Changes since the last release

  • search and pruning module, for users: Fix performance regression introduced in issue1042 due to always measuring time spent in pruning methods. This is now only done in verbose verbosity level. To this end, the verbosity parameter was added to the pruning module. https://issues.fast-downward.org/issue1058

  • landmarks: Landmark costs for lmcount in the inadmissible settings are now always based on the cost of their achievers, and the cost for derived landmarks can now be set with a new option 'derived_lm_cost' (either 0 or 1, with 1 being the default). When using lmcount in satisficing search where we do not care about cost, experiments show that using 'transform=adapt_costs(ONE)' and 'derived_lm_cost=1' performs best, since a plan is usually found faster if we focus on its length rather than its cost. https://issues.fast-downward.org/issue1009

  • driver, for developers: skip pycache directory when collection portfolio aliases https://issues.fast-downward.org/issue1055

  • pruning module, for developers: we cleaned up the internal structure of stubborn set pruning. https://issues.fast-downward.org/issue1059

Fast Downward 22.06

Released on June 16, 2022.

Highlights:

  • We fixed a bug in the translator component that could lead to incorrect behavior in tasks where predicates are mentioned in the goal that are not modified by any actions.

  • Various speed improvements to landmark factories. This is part of a larger ongoing clean-up of the landmark code.

  • More informative output, and more control over the output. The driver now prints the total runtime of all components. For many planner components, including all heuristics, the verbosity level can now be configured individually.

Details:

  • translator: Fix a bug where the translator would not check goal conditions on predicates that are not modified by actions. https://issues.fast-downward.org/issue1055

  • driver: Print overall planner resource limits and overall planner runtime on Linux and macOS systems. https://issues.fast-downward.org/issue1056

  • logging: verbosity option for all evaluators https://issues.fast-downward.org/issue921 All evaluators and heuristics now have their own configurable logger and no longer use g_log. These loggers have a verbosity option, which allows choosing between silent, normal, verbose and debug for all instances of evaluators created on the command line.

  • landmarks: Speed up landmark generation time by 10-20% for lm_rhw, lm_zg, and lm_exhaust by avoiding unnecessary computations in the landmark exploration. https://issues.fast-downward.org/issue1044

  • landmarks: Speed up landmark generation time by 5-15% for lm_rhw, lm_zg, and lm_exhaust by computing reachability in the landmark exploration as boolean information instead of (unused) integer cost/level information. https://issues.fast-downward.org/issue1045

  • landmarks: Improve landmark dead-end detection so that relevant static information is only computed once, instead of at every state evaluation. https://issues.fast-downward.org/issue1049

  • infrastructure: Upgrade GitHub Actions to Windows Server 2019 (Visual Studio Enterprise 2019) and Windows Server 2022 (Visual Studio Enterprise 2022). Remove Windows Server 2016, because GitHub Actions no longer support it. https://issues.fast-downward.org/issue1054

  • infrastructure: Run GitHub Actions only for the following branches: main, issue*, release-*. https://issues.fast-downward.org/issue1027

Fast Downward 21.12

Released on February 16, 2022.

Highlights:

  • Fast Downward now has a logo!

  • We added new methods for generating patterns and pattern collections based on counterexample-guided abstraction refinement and a new highly random method for generating individual patterns based on the causal graph. These methods are due to Rovner et al. (ICAPS 2019).

  • The operator-counting heuristic now has an option to use integer operator counts rather than real-valued operator counts. This makes the heuristic more accurate at a vastly increased computational cost (not generally recommended, but very useful for targeted experiments). We added a new constraint generator for Imai and Fukunaga's delete relaxation constraints (JAIR 2015). With the right option settings, the operator-counting heuristic with this new constraint generator results in the optimal delete relaxation heuristic h+.

  • Pruning methods now have a different interface. The mechanism to disable pruning automatically after a number of expansions that resulted in little pruning is now implemented as its own pruning method that wraps another pruning method. Be careful that the old syntax is still accepted by the planner, but the options that limit pruning are ignored. (This is due to an option parser bug; a fix is in the works.)

  • In our ongoing efforts to improve the landmark code, the landmark factories and landmark-count heuristic received a major overhaul. We removed irrelevant options for landmark factories, decoupled the computation of reasonable orders from landmark generation, made many internal code and data structure changes to make the code nicer to work with and fixed several long-standing bugs.

  • All pattern generators and pattern collection generators now have controllable verbosity. Similar changes to other components of the planner are planned. This is part of a general effort to make logging more configurable.

  • For developers: The internal representation of states has been overhauled, resolving the confusion between the previous classes GlobalState and State.

Details:

Fast Downward 20.06

Released on July 26, 2020.

Highlights:

  • The Singularity and Docker distributions of the planner now include LP support using the SoPlex solver out of the box. Thank you to ZIB for their solver and for giving permission to include it in the release.

  • The Vagrant distribution of the planner now includes LP support using the SoPlex and/or CPLEX solvers out of the box if they are made available when the virtual machine is first provisioned. See https://www.fast-downward.org/QuickStart for more information.

  • A long-standing bug in the computation of derived predicates has been fixed. Thanks to everyone who provided bug reports for their help and for their patience!

  • A new and much faster method for computing stubborn sets has been added to the planner.

  • The deprecated merge strategy aliases merge_linear and merge_dfp have been removed.

Details:

Fast Downward 19.12

Released on December 20, 2019.

Highlights:

  • Fast Downward no longer supports Python 2.7, which reaches its end of support on January 1, 2020. The minimum supported Python version is now 3.6.

  • Fast Downward now supports the SoPlex LP solver.

Details:

Fast Downward 19.06

Released on June 11, 2019. First time-based release.