Code Monkey home page Code Monkey logo

Comments (3)

jmacglashan avatar jmacglashan commented on July 18, 2024

Okay. A couple of questions. (1) Have you updated to the version that has the planner throw an exception if there is no valid plan? (2) If so, since the planner should have thrown a runtime exception if it didn't find a plan to the goal, I'm guessing the policy is being invoked somewhere where it is undefined. Which Policy object specifically are you using? Is it a SDPlannerPolicy? That specific policy implementation would definitely cause the problem if you query a state for which the planner has no plan (returns null), whereas DDPlannerPolicy will call the planner again for any states for which there is no plan.

I can do two things; (1) make sure the followAndRecordPolicy method throws a more meaningful exception (e.g., policy undefined) and (2) make SDPlannerPolicy throw a similar exception instead of returning null. However, I want to make sure I have it tracked in the right place.

from burlap.

brawner avatar brawner commented on July 18, 2024

Switching to DDPlannerPolicy helped! And if there is an instance where it can't plan, it will throw the planner exception.

I think gratuitous exceptions will help, especially for people like me who aren't experienced in designing domains.

from burlap.

jmacglashan avatar jmacglashan commented on July 18, 2024

Awesome :)

So that does probably mean it was queried for a state not in the original plan. I've added the additional exceptions to the Policy followAndRecordPolicy method as well as the getAction method (and corresponding distribution method) for the SDPlannerPolicy. I'll merge with master in a minute.

from burlap.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.