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

Develop a Library of Problem Generators #43

Open
gfrances opened this issue Jan 10, 2019 · 3 comments
Open

Develop a Library of Problem Generators #43

gfrances opened this issue Jan 10, 2019 · 3 comments
Labels
enhancement Enhances existing features

Comments

@gfrances
Copy link
Member

I should find time to port to Tarski some of the countless problem generators that I have written for different papers / projects. Having some generators submodule (again, no need for that to live under this repo) that is basically a user module of Tarski and its io module and provides off-the-shelf generators for standard problems (blocksworld, gripper, and so on) would be a great way of showcasing the capabilities of Tarski (in fact the change from my old python generator scripts to developing generators using Tarski has really saved me a lot of time), and eventually of having a good library of problem generators that fosters collaboration from the community, etc.

@gfrances gfrances added the enhancement Enhances existing features label Jan 10, 2019
@miquelramirez
Copy link
Member

I think this is a great idea - it would have certainly helped @emilkeyder quite a bit. I guess it is possible to have different pip packages correspoding to submodules (which we can then easily install with pip when needed).

@emilkeyder
Copy link
Collaborator

I think it would also be really nice to be able to automatically add common objects/attributes like counts (next ?c1 ?c2, less-than ?c1 ?c2, etc) and location graphs (adjacent ?x ?y, agent-at ?x). Doing that in a generic way that's easy to understand and write probably requires more thought though.

@miquelramirez
Copy link
Member

miquelramirez commented Jan 11, 2019

We could have special theories like ORDERED_SET and GRAPHS, defining predicates like that (and some helpful default sorts too).

One issue with the latter is that we dropped support for sorts (types) being defined as subsets of more than one sort (type) - i.e. there's no multiple inheritance in tarski. That complicate some of the "idioms" you can see in the IPC where multiple types are used to tag objects and help the grounding process to produce succinct representations.

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

No branches or pull requests

3 participants