Instance generator #256
Replies: 7 comments 3 replies
-
Hi, |
Beta Was this translation helpful? Give feedback.
-
Good ("interesting", non-trivial, not over-constrained) instance generation
is very domain specific; I think it's something that each domain designer
has to provide per domain.
…On Sun, May 12, 2024 at 8:11 AM Christian Muise ***@***.***> wrote:
Kind of feels like this could be a nice addition to the next version of
RDDL. Initial state generation.
—
Reply to this email directly, view it on GitHub
<#256 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABRA3JDJPGBXGZCUGYNHZE3ZB5L73AVCNFSM6AAAAABG74YC5GVHI2DSMVQWIX3LMV43SRDJONRXK43TNFXW4Q3PNVWWK3TUHM4TIMBUHE3TM>
.
You are receiving this because you are subscribed to this thread.Message
ID: <pyrddlgym-project/pyRDDLGym/repo-discussions/256/comments/9404976@
github.com>
|
Beta Was this translation helpful? Give feedback.
-
I agree with Scott that generating instances on the fly is very domain specific, I am not sure the language will support it.
I like the idea of sampling the initial state and I think it will be useful, particularly for the RL community as many domains are defined with a random initial state in open-ai gym for example. This allows better evaluation of the generalization of agents and particularly when learning policies.
From language perspective it seems easy enough - just add a block to the domain that specifies how the state variables are initialized (or in the instance?) which supports expressions. however it means internally many things will need to change across the ecosystem to accommodate this: many solvers currently don’t handle it so they will need to be updated. This is a major change, and I’m not sure we want to push another major change given we have already done this going from 1.4 to 2.0 recently. If we do it, it might make sense to just bundle up everything we want to add to the language and call it version 3.0 in that case.
|
Beta Was this translation helpful? Give feedback.
-
Ya, I think we're all on the same page. Domain-specific instance generation. The recommendation would be to have dedicated syntax for making that sampling easy. Already there's a split between the domain/instance files -- if there's an "instance generator" file with some fancy RDDL syntax, then a stand-alone bit of software could take a domain/IG file and produce K instances. Then the solvers work as they always have. Instead of writing custom software in whatever language for instance generation, you'd have RDDL syntax at your disposal for instance generation. Elegant ;) |
Beta Was this translation helpful? Give feedback.
-
Well, here is one proposal nested entirely within RDDL. x-pos : { x1, x2, ... } declaration of objects with a randomizer block: x-pos : { Just an idea... The other ideas are in principle easy by just replacing the init-fluents and non-fluent blocks with expression support. |
Beta Was this translation helpful? Give feedback.
-
I see, leverage the expressive RDDL syntax to avoid the onerous problem of
generating all of the boilerplate RDDL instance file syntax. Indeed, this
discussion has come up before. I like the idea of a separate
instance-generator file in a RDDL syntax that could ideally generate
instances that are stored as explicit instance files. Generating explicit
instance files facilitates instance inspection during failure analysis and
reproducibility. We would need distributions for sampling objects
(shouldn't be too hard, though new), and we would need to explicitly sample
not just fluent initial states but also potentially nonfluent
configurations (e.g. network topologies). Let's put this on the wishlist.
…On Sun, May 12, 2024 at 11:29 PM Mike Gimelfarb ***@***.***> wrote:
But, I don't know that this would cover all the possible cases of
interest. Maybe instead of modifying the instance block as it already
exists, we introduce an instance-generator file as described above, which
follows the instance.rddl except for the required syntax changes. So it
will be possible to swap the fixed instance file with an instance generator
file for the given domain and it should run as it already does (just there
is an additional sampling layer right after parsing, and before the domain
and instance are stored internally as ASTs, that generates the instance
file).
—
Reply to this email directly, view it on GitHub
<#256 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABRA3JFIYGYAPKCV7HFZF23ZCAXSDAVCNFSM6AAAAABG74YC5GVHI2DSMVQWIX3LMV43SRDJONRXK43TNFXW4Q3PNVWWK3TUHM4TIMJTGA3TC>
.
You are receiving this because you commented.Message ID:
***@***.***
com>
|
Beta Was this translation helpful? Give feedback.
-
Hello everyone, I seem to be a bit late to this discussion but the discussion is too interesting to skip, In our recent paper we had to generate new instances for certain domains of IPPC variants. Here are my thoughts,
|
Beta Was this translation helpful? Give feedback.
-
Hi, is there a function to automatically generate multiple (unique) instances of a specific RDDL domain?
Beta Was this translation helpful? Give feedback.
All reactions