Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

Lama first configuration unable to find a solution

87 views
Skip to first unread message

Nishanth Kumar

unread,
Jan 9, 2023, 5:34:14 AM1/9/23
to Fast Downward
Hi,

I have rather simple domain and problem PDDL files (included below the message) and am hoping to use FD using the `lama-first` search alias to solve these. However, when I run the planner with `--alias lama-first`, I get "Completely explored state space -- no solution!". Interestingly though, I am certain this domain has a solution, because changing the alias to `--alias seq-opt-lmcut` yields a valid plan. Upon some further inspection, I found that removing `hlm` from the search arguments that `lama-first` is an alias for also yields a solution (i.e, running: `python fast-downward.py --evaluator 'hlm=lmcount(lm_factory=lm_rhw(reasonable_orders=true),transform=adapt_costs(one),pref=false)' --evaluator 'hff=ff(transform=adapt_costs(one))' --search 'lazy_greedy([hff],preferred=[hff,hlm],cost_type=one,reopen_closed=false)'`).

I suspect that there is some issue with using landmark-based heuristics with my PDDL files, but am unsure what the precise cause could be. Any help or pointers are much appreciated!

Best,
Nishanth

Domain PDDL:

(define (domain mydomain)
  (:requirements :typing :equality :conditional-effects)
  (:types
    agent bed bucket pop room_floor - object
  )

  (:predicates
    (handempty)
    (holding ?x0 - pop)
    (inside ?x0 - pop ?x1 - bucket)
    (reachable-bucket ?x0 - bucket)
    (reachable-pop ?x0 - pop)
  )

  (:action Grasp
    :parameters (?x0 - pop)
    :precondition (and (handempty)
        (reachable-pop ?x0))
    :effect (and (holding ?x0)
        (not (handempty))
        (not (reachable-pop ?x0))
        )
  )

  (:action NavigateTo-bucket
    :parameters (?x0 - bucket)
    :precondition ()
    :effect (and (reachable-bucket ?x0)
        (forall (?x0 - pop) (not (reachable-pop ?x0)))
        )
  )

  (:action NavigateTo-pop
    :parameters (?x0 - pop)
    :precondition (and (handempty))
    :effect (and
        (forall (?y - pop) (when (not (= ?y ?x0)) (not (reachable-pop ?y))))
        (reachable-pop ?x0)
        (forall (?x0 - bucket) (not (reachable-bucket ?x0)))
        )
  )

  (:action PlaceInside
    :parameters (?x0 - bucket ?x1 - pop)
    :precondition (and (holding ?x1)
        (reachable-bucket ?x0))
    :effect (and (handempty)
        (inside ?x1 ?x0)
        (not (holding ?x1))
        )
  )
)



Problem PDDL:

(define (problem myproblem) (:domain mydomain)
  (:objects
    agent - agent
    bed1 - bed
    bucket1 - bucket
    floor1 - room_floor
    pop1 - pop
    pop2 - pop
  )
  (:init
    (handempty)
    (reachable-agent agent)
  )
  (:goal (and (inside pop1 bucket1)
    (inside pop2 bucket1)))
)


Clemens Büchner

unread,
Jan 9, 2023, 10:30:04 AM1/9/23
to fast-d...@googlegroups.com
Dear Nishanth,

your suspicions are correct, there are known issues regarding unsovlability claims in the code parts of Fast Downward used by the LAMA configurations. In particular, it is known that LAMA falsely claims some problems to be unsolvable due to axioms (see https://issues.fast-downward.org/issue247). However, when I ran the problem you provided to check whether this could be the issue here, I found that the alias lama-first solves the problem on my machine. Since I cannot reproduce the problem, can you maybe share which version of Fast Downward you use? I tried it with the official releases 21.12.0, 22.06.0, and 22.12.0 and it worked with all of them.

Best regards,
Clemens
--
You received this message because you are subscribed to the Google Groups "Fast Downward" group.
To unsubscribe from this group and stop receiving emails from it, send an email to fast-downwar...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/fast-downward/b2447732-82c0-47b6-b64b-1c2104d2349dn%40googlegroups.com.

Nishanth Kumar

unread,
Jan 9, 2023, 10:57:07 AM1/9/23
to Fast Downward
Hi Clemens,

Thanks for the speedy response. This is very helpful to know!

We were using official release 20.06 (which I realize now is somewhat outdated).

Clemens Büchner

unread,
Jan 11, 2023, 4:29:36 AM1/11/23
to fast-d...@googlegroups.com
Hi Nishanth,

unfortunately I'm not able to build release 20.06 out of the box on my system right now. From the list of fixed issues between release 20.06 and release 21.12, to me issue1004 looks most likely to have fixed what causes your version to not find a solution in this particular example. Since there were many other revisions in the landmark code since then, I strongly recommend to update to a newer version if you are interested in running aliases lama or lama-first. Note that there are further issues in that part of the code, both on the theory side and implementation wise. We are working on it, so it is worth to keep up with future releases as well. :-)

Best,
Clemens
Reply all
Reply to author
Forward
0 new messages