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

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

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.12 macOS 11.0+ ARM64

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

Uploaded CPython 3.12 macOS 10.9+ x86-64

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

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.11 macOS 11.0+ ARM64

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

Uploaded CPython 3.11 macOS 10.9+ x86-64

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

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.10 macOS 11.0+ ARM64

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

Uploaded CPython 3.10 macOS 10.9+ x86-64

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

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.9 macOS 11.0+ ARM64

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

Uploaded CPython 3.9 macOS 10.9+ x86-64

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

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

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

Uploaded CPython 3.8 macOS 11.0+ ARM64

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

Uploaded CPython 3.8 macOS 10.9+ x86-64

File details

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

File metadata

File hashes

Hashes for kstar_planner-1.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 82465d2f489d63dcd9f53186a1a7283d2bf4f1337e28817e5b70fd1c68e6b0cf
MD5 5f8d8d2a7bc4dc39e3bf32248c5bf5e8
BLAKE2b-256 6f762fd888a4a5571d260bcf9cc837c9e1b06822b8341e25782ebe3beed06dc6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kstar_planner-1.4.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 df40e4b984d83c8057583b60c6b362b4d8beaee40cd8607904824a187902972b
MD5 23fa786b730fb0562ee907d768ccff3a
BLAKE2b-256 ee996509c6657941367af66375a12d0eadf81afcc12cf97204f76434865d6c31

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kstar_planner-1.4.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0610870a87a1f46d99162ee1201ab3c439530cf7febc7b78295789ca4c244240
MD5 01ce95a90e12a5bfb15d30fb887b80bd
BLAKE2b-256 9069eaa46dded6edd468ae81bfcd4414064a8fa1116ca1a4900145819d151204

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kstar_planner-1.4.2-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2fff71703d6551176294bdf4e9af19dec7492f0fc4a714999fc0ea1640f0311c
MD5 3600c82a0dd1b621acf4814c99588348
BLAKE2b-256 9297a1b4097778f423e331a5f8b5ce06c80a4d4cc3e964897fe38994279a95d2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kstar_planner-1.4.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5335a58f630a6e249b80c08e6e3bccee280ab98e37dcd20f5f67b8c43b60ebe0
MD5 6c581b9b125022ec4998341f825dd386
BLAKE2b-256 9c2df836dd12542d40b7d198d4e8aae2a55e0ede641dad7d4fd56ba384671a53

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kstar_planner-1.4.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b2c6ac0a0750ecd9f37197ebd773ffa444251c53d2854fc0983178ac7c7eeb01
MD5 e4d6e3907872e80d06c5d7fc216f4151
BLAKE2b-256 c14c1621bd269f43868419c51dfcdd850a25372b37e989c536f85f239916f9a3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kstar_planner-1.4.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 012c4694015c4fc04f0754977a00da0aaf5015a143199494af619115d65a3e07
MD5 44889c715334771bd45fb0663e1b7ffb
BLAKE2b-256 de0d20b2b5c351f797909da1bbd97e0d5af1b32773686b7e077d7f9011069164

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kstar_planner-1.4.2-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d564db79be92cb2aa685a4ef40a309955fa06e845f668db7928a6e0df03345fb
MD5 31cbe5adeb9a01d1adfe541f6082a035
BLAKE2b-256 4d3768e5deb75b0b9b6ad84f309a23932ff3caf0b32b843216db0504b6dc3a49

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kstar_planner-1.4.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 228e90810c0d084c61f0d9aa2d73dda67b568a46242c7b7cebe892249bc5282e
MD5 e4e88c438269ba4cfae4098e9f724d58
BLAKE2b-256 4b4a52ecfdb29aff5d2a598635e87406f26632117a6558c0b10dcf0422ac1ab0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kstar_planner-1.4.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7405f90142547bec6d50c65adae0358769cd38e5681e04628f4e723db2ae6c0b
MD5 4fd43a9d6344e0c90a3879d321799255
BLAKE2b-256 c558351f7d09f0f7f7ee6539d489cc2aa64bd52a2d9892bde52d9e24980db731

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kstar_planner-1.4.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 56f4ac4f2c881e7a551c6bd6b22a4ad14b4689b00ef58880cc404592e4298545
MD5 e481c9a2a9d79c82cc9c29dd48c688ab
BLAKE2b-256 c7e56e357bbc68f65b023ece13d00f077668e3b4e384000c6debf252d88c06e5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kstar_planner-1.4.2-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 fb2d7113af6454b98508c6521b870dc753d1fe1352b7b00658fbfd7d2edd106e
MD5 84e258ed497dd58f2c397dfce2f5cf8e
BLAKE2b-256 23d73fb34dc9edbcd6dcbb2a2c42674f6c0bdb5ddceba075e9bd57f16cad15f5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kstar_planner-1.4.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4eafb52d60ea8ff35271f62e4f6f5158d45e72858a7028422783d19bba1f5314
MD5 a0b58fb1aa01874be29a973bf0518e26
BLAKE2b-256 73d3fa1d48935a69789204ffe2fe118faa5924d0ece60421886a17377bc971f0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kstar_planner-1.4.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c77e3afd72497b3279a3f11f1a6ba6c7783191b8eb5685ee1333cb0812c6df07
MD5 efd2697a315da013cbada7462784cb63
BLAKE2b-256 91db07f39c3bacb5af50434fe9b86358592092525e85e53533f8e53a9ad82ae2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kstar_planner-1.4.2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 45e509cc50448cb799a7de3a55f19d90000631eabdecb062ac17eef48cf8ed12
MD5 c07960af9d31308a5646afe13efd9178
BLAKE2b-256 d4733a6397322badcea5d9a26f582ac260eeb374811dd93e9992809ccab6238c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kstar_planner-1.4.2-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 add52e3a1863610517513a69e3d8199c18062919c45f07be0c33ed98d81a8f42
MD5 65f4cec834ad85ca61daeb3294753b41
BLAKE2b-256 7d32cf4f536c669ca316932566b691d5fc3d7eb6447278c6a7f50c29dc8c85bf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kstar_planner-1.4.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3ac83a952fc0c84893390aea7bc09bf54d4903f2045cb937d15729c4036c01bf
MD5 a92008781ab2e8503ba989bfbc286338
BLAKE2b-256 06a67e2ad052b283e2e91b7c7699d68987b5481a8a8f0e6c5d53d8e7083a3983

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kstar_planner-1.4.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5e688ea801e50d5f95451aa22700d271ffa81dfaa57e27e7103bfe7b6f8d7e89
MD5 c26ab6bb76f066999b7cb0d9247e23d0
BLAKE2b-256 3b13ab17d8d20ff0d36b1d658e6de2084bbbb98eaa496fe3abf10277220068b2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kstar_planner-1.4.2-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e8997a772773160421580287684af363a0cdb16197c37543b3575a43eec609b6
MD5 3d87a6ac6fe6212b88f571272bf92247
BLAKE2b-256 dd6bfb3b298ef94fd5f50ab651d7d8eed162af493cce79fe2b50a5a1be1cb6cf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kstar_planner-1.4.2-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 19fe792ae99cd687b6c2df3cbc3ec12654129ad5f108dbb7c174f3378390f358
MD5 1cfd8c56ea3d3e23b292ae763fb2d2bc
BLAKE2b-256 fd8b04df43fce35b7b87edd64a151291f3123a69dc9c47766c40c14ae3015a91

See more details on using hashes here.

Supported by

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