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

chunk singleton on everywhere by default #401

Open
garfieldnate opened this issue Oct 19, 2023 · 3 comments
Open

chunk singleton on everywhere by default #401

garfieldnate opened this issue Oct 19, 2023 · 3 comments

Comments

@garfieldnate
Copy link
Collaborator

Most of the time users want chunk singleton on to generate better chunks.

Add chunk singleton any topstate any to the default config file.

garfieldnate added a commit that referenced this issue Oct 24, 2023
This setting applied only to top-level WME's, not to all WME's recursively.

Reopens #401.
@garfieldnate garfieldnate reopened this Oct 24, 2023
@garfieldnate
Copy link
Collaborator Author

Relevant section of Mazin's thesis is 5.8, "Unnecessary Generality." The final quote from the section is what we'd like to solve now:

Practically speaking, this feature has proven to be powerful if not essential. In many agents, we find that we must define domain-specific singletons to achieve efficient matching of rules.

What will happen if we set everything to singleton by default and then chunking needs to summarize some WMEs that are not singletons, though? Won't the chunks be under-general? Or does chunk singleton make it impossible to create multiple values of the specified WME's?

@scijones
Copy link
Contributor

scijones commented Oct 30, 2023

This is not a systematic answer, just recollection of some of my experience. When I use "chunk singleton" to declare an attribute that I know is multi-valued as a singleton, the declaration is correctly ignored and the learned chunk tests multiple wmes.

@garfieldnate
Copy link
Collaborator Author

Note from scijones:

In the input, "chunk singleton any 1 any", the "1" is treated as a string. (We don't know how we would make it treat the integer attribute as a singleton.) However, if we change things to be singleton by default, this wouldn't be important to fix.

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