Skip to main content

Kstar Planner is an Automated PDDL based planner that includes planners for top-k and top-quality planning computational tasks.

Project description

Kstar Planner is an Automated PDDL based planner that includes planners for top-k and top-quality planning computational tasks.

The codebase consists of multiple planners, for multiple computational problems, roughly divided into two categories:

  1. Top-k planning
  2. Top-quality planning
    2.1. Top-quality planning
    2.2. Unordered top-quality planning

The planner implements

  • Pure K* search based top-k and top-quality planning
  • Symmetry based pruning: OK* search
  • Partial order reduction: RK* search Both symmetry based pruning and partial order reduction can be used together: ORK* search

Installation

pip install kstar-planner

Running (examples)

Top-k

OK* with lmcut heuristic

from kstar_planner import planners
from pathlib import Path

domain_file = Path("your/path/domain.pddl")
problem_file = Path("your/path/problem.pddl")

plans = planners.plan_topk(domain_file=domain_file, problem_file=problem_file, number_of_plans_bound=100, timeout=30)
print(plans)

Top-quality

OK* with iPDB heuristic (recommended)

from kstar_planner import planners
from pathlib import Path

domain_file = Path("your/path/domain.pddl")
problem_file = Path("your/path/problem.pddl")

heuristic = "ipdb(transform=undo_to_origin())"

plans = planners.plan_topq(domain_file=domain_file, problem_file=problem_file, quality_bound=1.0,number_of_plans_bound=100, timeout=30, search_heuristic=heuristic)
print(plans)

Unordered Top-quality

ORK* with iPDB heuristic (recommended)

from kstar_planner import planners
from pathlib import Path

domain_file = Path("your/path/domain.pddl")
problem_file = Path("your/path/problem.pddl")

heuristic = "ipdb(transform=undo_to_origin())"

plans = planners.plan_unordered_topq(domain_file=domain_file, problem_file=problem_file, quality_bound=1.0,number_of_plans_bound=100, timeout=30, search_heuristic=heuristic)
print(plans)

Citing

Top-k planning

@InProceedings{lee-et-al-socs2023,
  title =        "On K* Search for Top-k Planning",
  author =       "Junkyu Lee and Michael Katz and Shirin Sohrabi",
  booktitle =    "Proceedings of the 16th Annual Symposium on
                  Combinatorial Search (SoCS 2023)",
  publisher =    "{AAAI} Press",
  year =         "2023"
}

@InProceedings{katz-lee-ijcai2023,
  author =       "Michael Katz and Junkyu Lee",
  title =        "K* Search Over Orbit Space for Top-k Planning",
  booktitle =    "Proceedings of the 32nd International Joint
                  Conference on Artificial Intelligence (IJCAI 2023)",
  publisher =    "{IJCAI}",
  year =         "2023"
}

Top-quality planning

@InProceedings{katz-lee-socs2023,
  title =        "K* and Partial Order Reduction for Top-quality Planning",
  author =       "Michael Katz and Junkyu Lee",
  booktitle =    "Proceedings of the 16th Annual Symposium on
                  Combinatorial Search (SoCS 2023)",
  publisher =    "{AAAI} Press",
  year =         "2023"
}

Licensing

Kstar Planner is an Automated PDDL based planner that includes planners for top-k and top-quality planning computational tasks. Copyright (C) 2023 Junkyu Lee, Michael Katz, IBM Research, USA. The code extends the Fast Downward planning system. The license for the extension is specified in the LICENSE file.

Fast Downward

Fast Downward

Fast Downward is a domain-independent classical planning system.

Copyright 2003-2022 Fast Downward contributors (see below).

For further information:

Tested software versions

This version of Fast Downward has been tested with the following software versions:

OS Python C++ compiler CMake
Ubuntu 20.04 3.8 GCC 9, GCC 10, Clang 10, Clang 11 3.16
Ubuntu 18.04 3.6 GCC 7, Clang 6 3.10
macOS 10.15 3.6 AppleClang 12 3.19
Windows 10 3.6 Visual Studio Enterprise 2017 (MSVC 19.16) and 2019 (MSVC 19.28) 3.19

We test LP support with CPLEX 12.9, SoPlex 3.1.1 and Osi 0.107.9. On Ubuntu, we test both CPLEX and SoPlex. On Windows, we currently only test CPLEX, and on macOS, we do not test LP solvers (yet).

Contributors

The following list includes all people that actively contributed to Fast Downward, i.e. all people that appear in some commits in Fast Downward's history (see below for a history on how Fast Downward emerged) or people that influenced the development of such commits. Currently, this list is sorted by the last year the person has been active, and in case of ties, by the earliest year the person started contributing, and finally by last name.

  • 2003-2022 Malte Helmert
  • 2008-2016, 2018-2022 Gabriele Roeger
  • 2010-2022 Jendrik Seipp
  • 2010-2011, 2013-2022 Silvan Sievers
  • 2012-2022 Florian Pommerening
  • 2013, 2015-2022 Salomé Eriksson
  • 2018-2022 Patrick Ferber
  • 2021-2022 Clemens Büchner
  • 2021-2022 Dominik Drexler
  • 2022 Remo Christen
  • 2015, 2021 Thomas Keller
  • 2016-2020 Cedric Geissmann
  • 2017-2020 Guillem Francès
  • 2018-2020 Augusto B. Corrêa
  • 2020 Rik de Graaff
  • 2015-2019 Manuel Heusner
  • 2017 Daniel Killenberger
  • 2016 Yusra Alkhazraji
  • 2016 Martin Wehrle
  • 2014-2015 Patrick von Reth
  • 2009-2014 Erez Karpas
  • 2014 Robert P. Goldman
  • 2010-2012 Andrew Coles
  • 2010, 2012 Patrik Haslum
  • 2003-2011 Silvia Richter
  • 2009-2011 Emil Keyder
  • 2010-2011 Moritz Gronbach
  • 2010-2011 Manuela Ortlieb
  • 2011 Vidal Alcázar Saiz
  • 2011 Michael Katz
  • 2011 Raz Nissim
  • 2010 Moritz Goebelbecker
  • 2007-2009 Matthias Westphal
  • 2009 Christian Muise

History

The current version of Fast Downward is the merger of three different projects:

  • the original version of Fast Downward developed by Malte Helmert and Silvia Richter
  • LAMA, developed by Silvia Richter and Matthias Westphal based on the original Fast Downward
  • FD-Tech, a modified version of Fast Downward developed by Erez Karpas and Michael Katz based on the original code

In addition to these three main sources, the codebase incorporates code and features from numerous branches of the Fast Downward codebase developed for various research papers. The main contributors to these branches are Malte Helmert, Gabi Röger and Silvia Richter.

License

The following directory is not part of Fast Downward as covered by this license:

  • ./src/search/ext

For the rest, the following license applies:

Fast Downward is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or (at
your option) any later version.

Fast Downward is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

kstar_planner-1.3.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (59.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

kstar_planner-1.3.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (58.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

kstar_planner-1.3.5-cp312-cp312-macosx_11_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

kstar_planner-1.3.5-cp312-cp312-macosx_10_9_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.12macOS 10.9+ x86-64

kstar_planner-1.3.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (59.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

kstar_planner-1.3.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (58.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

kstar_planner-1.3.5-cp311-cp311-macosx_11_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

kstar_planner-1.3.5-cp311-cp311-macosx_10_9_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

kstar_planner-1.3.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (59.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

kstar_planner-1.3.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (58.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

kstar_planner-1.3.5-cp310-cp310-macosx_11_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

kstar_planner-1.3.5-cp310-cp310-macosx_10_9_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

kstar_planner-1.3.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (59.3 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

kstar_planner-1.3.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (58.9 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

kstar_planner-1.3.5-cp39-cp39-macosx_11_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

kstar_planner-1.3.5-cp39-cp39-macosx_10_9_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

kstar_planner-1.3.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (59.3 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

kstar_planner-1.3.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (58.9 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

kstar_planner-1.3.5-cp38-cp38-macosx_11_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

kstar_planner-1.3.5-cp38-cp38-macosx_10_9_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

File details

Details for the file kstar_planner-1.3.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for kstar_planner-1.3.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 62c77ac6258628246880863a99359b4f476514a6682460ebca108d53b945893c
MD5 eba6fb19c3b8083bea01fe2b5080453e
BLAKE2b-256 489e9b7f29381c7d4b56ab3eabd4749b1a0a7eea8c5ac02723c4b4cdce7acded

See more details on using hashes here.

File details

Details for the file kstar_planner-1.3.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for kstar_planner-1.3.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c61e3059e1c30f4f37b5671dd58aa25606f6e06be692b25c698b9618580b7d7d
MD5 e7009e4f650b820ea1e33894c3d27c5f
BLAKE2b-256 d73ce8e4c98903e0d940fc205f5b0b4b450ff3ae5bbfb1d195b51c4d3d8be716

See more details on using hashes here.

File details

Details for the file kstar_planner-1.3.5-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for kstar_planner-1.3.5-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 662812aa9c5033af4c8082b7bfb5300f25c6d3893f36e32929d18b1cc59ca041
MD5 eed81b1036d10a6f2064920bfb7ff24c
BLAKE2b-256 28177f4a8104f511e1b378b8c167ddcce091460bb78a4d9c52561ed5e4c8138f

See more details on using hashes here.

File details

Details for the file kstar_planner-1.3.5-cp312-cp312-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for kstar_planner-1.3.5-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 55a6b2cd4796ccb205ad232e7b731aa364f7e64ff4defd0e1b6f79bfba3166d5
MD5 4b67bf56247ffe6b057f950e8f343aa5
BLAKE2b-256 600097b458265c7d6b7c9a1ceb0c8fa7d1582b1e9da5b94b5945e3d0f1937ffb

See more details on using hashes here.

File details

Details for the file kstar_planner-1.3.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for kstar_planner-1.3.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 89b41a0ecb1c86b749fb6499ca22fa0353d5d2a912d309bcb1e149ba618f0c43
MD5 35a1cd03433b08bf775cf871d660e36a
BLAKE2b-256 bc24500ddf4ea261930de6c54e85a729cd96ddb6851466764663ea4a87c6987a

See more details on using hashes here.

File details

Details for the file kstar_planner-1.3.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for kstar_planner-1.3.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a24aea01406588318b7a4820f857d559c94abf83e48065b02b6f7496eb596e39
MD5 f19cecda344e17643bb8926e9940aa00
BLAKE2b-256 80a2fb0dc54f9cf223cd0b1214d42f27343cce4fa706c7831565c67cc6e7a220

See more details on using hashes here.

File details

Details for the file kstar_planner-1.3.5-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for kstar_planner-1.3.5-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9da40e1848f03ffd569d1e0d190fd90efbab64ec4a88c7549c887ea768835853
MD5 c8d245a221ba7cc9e8ff24ede0ed8321
BLAKE2b-256 db6c2a76d36a68e396ff663ccdb46a1eade03fb48a82e3e60530838c5794d9ee

See more details on using hashes here.

File details

Details for the file kstar_planner-1.3.5-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for kstar_planner-1.3.5-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e72fef8ed870c4010d383d480beaf3068922db30e12560e29b48fdcf9d815c9e
MD5 f49cbf8ed10b0b858cd5acc33701c4b6
BLAKE2b-256 4a5d49129288b1ac76475753f2729eadda7423a2d60bd82a7eca5bc410c90288

See more details on using hashes here.

File details

Details for the file kstar_planner-1.3.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for kstar_planner-1.3.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0149612a0fc08c96a98a272fd003c888da4464cf75c606c87a09f53d1183dc33
MD5 32131a33ff17c20ca35dea20f2e3b2d4
BLAKE2b-256 ea572cb0b64e34b2cd43585d16fc768a6d0f0f6346f33c73f8266f4ef9dc62ac

See more details on using hashes here.

File details

Details for the file kstar_planner-1.3.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for kstar_planner-1.3.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 eafa44bd282ec2c1959ccfc368ea39c56a10942926429591627d9394a0a90877
MD5 7bf04e63ec17204f8562dee491876a9c
BLAKE2b-256 76ae8735e43eb97d5392c173993beb41c1484ad27773a09641799a5324b140ea

See more details on using hashes here.

File details

Details for the file kstar_planner-1.3.5-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for kstar_planner-1.3.5-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 feacc0470c6bced2ceb6de4d03a9c676fb5a736dd013e02aa3c33d5d6ded87dd
MD5 0566eaadc6f9d75832a9ee8c438d8a93
BLAKE2b-256 98370bf67db5be839c46112cd6b8fc05da75acc137feb027be122fa7080f5f4b

See more details on using hashes here.

File details

Details for the file kstar_planner-1.3.5-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for kstar_planner-1.3.5-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6de99b2e8e3312f8be342c333f2183632bb53c4502d6037efa78797e21d2d399
MD5 772e5341b6db4bdb3154a9624d8d5172
BLAKE2b-256 76cd22bb572899ea05352538590ea1c5c7648cd5da298fb37a85c4ff9690cffe

See more details on using hashes here.

File details

Details for the file kstar_planner-1.3.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for kstar_planner-1.3.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6762ec073b47b4b356f15ec30e049aab22c405cb0d870895f3f2a574bb7057fe
MD5 90b51a0b7d7f4aa44a56cfecc46ad130
BLAKE2b-256 0f30dbf21fa5bdff6362795d143251ff8e52d24ea41a8e4842b9b7e380d6cc6d

See more details on using hashes here.

File details

Details for the file kstar_planner-1.3.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for kstar_planner-1.3.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 54f5b35ebf42b19a62beebde24a4cee49b5a388f090ea217a474a2dd5680b623
MD5 69cd228e0f9d0007eb2a74cee53669e7
BLAKE2b-256 424ddcdc4b1c5b7c6d1e1df2d9d5e4160a3ca50391d9028fc7445f0e042195d4

See more details on using hashes here.

File details

Details for the file kstar_planner-1.3.5-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for kstar_planner-1.3.5-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d153e8d1aeb14ad52ebd55ae8ed0580926041b6639e84cbfdaee8f1d99944c93
MD5 564e9d3b833a1487c5da84f4a97aa6a8
BLAKE2b-256 6541697c0fc9321860211440f3477fbe4a8f9668c2f696d77a3490f9f835fca4

See more details on using hashes here.

File details

Details for the file kstar_planner-1.3.5-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for kstar_planner-1.3.5-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 82c4de4c068204f5d9079519a5352620d80b6d5a115e69d6b0e0f6cb03772bb2
MD5 5cd1e1609e2bed7fd330cd920b785380
BLAKE2b-256 bd1f5274008b8e07cfa2d0724c80b5094af0bcd6332d63a548f1f5d148815f97

See more details on using hashes here.

File details

Details for the file kstar_planner-1.3.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for kstar_planner-1.3.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 646d11e6db7b9b4ea253eca4d455a0ea27da25421483b89b2610516e61c6883f
MD5 877e280e5b6753decf4f9c88bd4a7385
BLAKE2b-256 dc46c90e934836ecf92a669eafa2b90fc533574598c911323ee4b1aa9b51aee7

See more details on using hashes here.

File details

Details for the file kstar_planner-1.3.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for kstar_planner-1.3.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1bfae3427d8be9457b66ac8ce08aca6adba517e55845fdc3a2a5947c3295082c
MD5 2211ac05eeb62bc06710c6e4222410e7
BLAKE2b-256 22c84b7bdaa1fece7640f26b879ffbe490b371181fea90782fcd9c160485439f

See more details on using hashes here.

File details

Details for the file kstar_planner-1.3.5-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for kstar_planner-1.3.5-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 325bbd9df6e87ddb78bbaef216868201be55f31b4389c15b181a5477f26fbd50
MD5 19c5e6a7588c71f6c1b3be81e5a8cdad
BLAKE2b-256 74f058fdaacfb13a728df173b2c67ab1a89bae38baf728e3ea6d168d2f7170d9

See more details on using hashes here.

File details

Details for the file kstar_planner-1.3.5-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for kstar_planner-1.3.5-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 0834ac9d77989b696d323c7c41cb029a0c4e57dca4c6a828104638e76ad54aa3
MD5 557886c6df66772817c318c003e069a8
BLAKE2b-256 0d72e536a036e8714d3b11e349408f2f4c29eca1d8deeef5299c740347e6b6b1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page