Skip to content

EGraph minimization with bisimulation #346

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

Closed
wants to merge 22 commits into from

Conversation

danieltherealyang
Copy link

Implemented bisimulation to convert egraph to dtfa, minimize the dtfa, then convert the dtfa back to egraph. There is quite a bit of overhead but the code is all self contained. If someone wants to try optimizing the minimization code they can do that too.

@oflatt
Copy link
Member

oflatt commented Jan 23, 2025

Very cool
I don't know if you've seen this repo: https://github.com/egraphs-good/egraph-serialize
It has a bunch of egraphs you could try your algorithm on, and see if you can improve the extraction results or performance

@oflatt
Copy link
Member

oflatt commented Jan 23, 2025

However, I'm guessing that we won't want to merge and maintain this algorithm in egg itself. You may have more luck adding it to the extraction gym

@mwillsey
Copy link
Member

This is very cool! But I don't currently think it should be merged. It seems all of this could be implemented outside off egg in a separate crate, which is my preference.

@mwillsey mwillsey closed this Apr 18, 2025
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

Successfully merging this pull request may close these issues.

3 participants