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

General RDDL Improvements & Support #90

Open
mejrpete opened this issue Jun 10, 2020 · 3 comments
Open

General RDDL Improvements & Support #90

mejrpete opened this issue Jun 10, 2020 · 3 comments

Comments

@mejrpete
Copy link
Collaborator

As discussed on The Planning Community slack (with Guillem Francès and Emil Keyder). I am interested in extending the existing RDDL support in tarski (and want to do it as much as possible in consultation with the maintainers!). The goal of this issue is to discuss general improvements, identify which are relevant to the core tarski project, and make sure implementations of new features and support are appropriate in design and integration.

Examples include:

  • Support for IPPC-2018-style domain and instance files
  • Support for using boolean values as 0/1 integers in arithmetic (useful for standard patterns for reward, CPT, and constraint definitions)
  • Shared definitions of ConstraintType and Requirements types (defined and used in io.rddl.Writer, but needed in code which uses the Task API).
  • Possibly improved/additional Task API support for domain requirements

Simple bug reports and fixes are omitted since I assume those should be submitted as separate issues and submitted fixes in a normal workflow (please correct me if I'm wrong!)

Thanks!

@miquelramirez
Copy link
Member

Hello @mejrpete ,

thanks very much for your interest in tarski, and I welcome too your interest into RDDL.

discuss general improvements, identify which are relevant to the core tarski project, and make sure implementations of new features and support are appropriate in design and integration.

As far as I know, the only big use case of the current RDDL support in tarski are these benchmarks, which represent one of the three use cases @gfrances and me had in mind when we started this project:

  1. Support programmatic modelling of planning problems (i.e. "tarski problem generator library"
  2. Faciliate the transformation of planning problems across languages, bridging semantic gaps if any procedurally (i.e. "tarski as a translating library")
  3. Provide a platform to compile high level specifications of transition systems characterized with path and state constraints into "standard" planning languages (i.e. tarski as a compiler).

We have pursued these three goals mostly on an "as needed" basis to support our research. So I can't really guarantee that all the stuff in the codebase is relevant to these three aims :)

The three features you mention sound very useful to me.

The one feature I will be probably working on over the next months is to make sure that tarski can generate specifications of dynamical systems with perturbation correctly. Related to that, I would like at some point to explore several possible ways of compiling RDDL compliant specs into DBNs, analyze their structure and visualize them. Last in the TODO list is to verify to what extent RDDL can model uncertainty over states (i.e. having means and covariance matrices for numerical fluents, some other distributional representation for discrete variables).

A normal workflow where issues are created for each separate bug/problem and PRs to incorporate them sounds perfectly reasonable to me.

Thanks again for your interest, and looking forward to further discussion and inputs 👍

@mejrpete
Copy link
Collaborator Author

Great! Thanks very much. These benchmarks for code generation help a lot for context. I have a few specific questions/issues that are directly related to what I'm currently working on (specifically on the "tarski problem generator" use case) related to boolean-valued fluents and RDDL-style conditionals which can probably be pulled into a separate issue. I think that's probably the best place to start!

Thanks a lot!

@miquelramirez
Copy link
Member

No worries @mejrpete happy to hear that those problem generators illustrated use case #1 and provided some context.

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

2 participants