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

Issue with Infinite Planning Time in Todolist Application using PandaPI #16

Open
AlexDmr opened this issue Jan 17, 2024 · 0 comments
Open

Comments

@AlexDmr
Copy link

AlexDmr commented Jan 17, 2024

Context:
I have been conducting research on using planners to generate test cases, specifically for modeling a todolist application. The application consists of a list of items, each with the ability to be marked as done or undone. Users can add, mutate, or delete items from the list. Initially, I attempted to model this system using mere PDDL, but found HDDL to be more "natural" for representing such a system.

I've successfully modeled the domain using HDDL, employing recursive tasks implemented by methods. Some of these methods call back the task to enable the possibility of adding, editing, or removing several items before completing the task. The problem is modeled with an initial application state (a list with or without items) and a goal state (the list with additional items and/or items in different states).

Problem:
I incrementally built the domain for the todolist application and tested it successfully. Plans to transition from the initial todolist state to the goal state were computed in less than 1 second. However, when I added a new method for managing the todolist—specifically, the ability to remove an item—the planner failed to find a solution. Parsing and grounding were completed without errors, but the planner spent an "infinite" amount of time searching for a plan (more than 300 seconds).

I attempted to use the problemSolver.sh script and the pandaPIengine program on the SAS file, but the results were consistent. Interestingly, if I comment out the "MtdEditItem_remove" method (lines 211-226), a plan can be found in less than 1 second.

Files:
I am attaching the domain and problem files that trigger the infinite search. If I comment the "MtdEditItem_remove" method, a plan can be found quickly (less than 1s).

Question:
I suspect that I am missing something, and despite spending several days searching, I haven't been successful in identifying the issue. I must also mention that I tested the remove action in other domain/problems, and it seems correct with plans found in those contexts. Is it normal for planning time to explode when adding a method? Is there a better way to model such a problem to avoid time explosion?

Thank you for your assistance.

problem.hddl.txt

domain.hddl.txt

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant