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
Add Philipp Jovanovic ANF to CNF converter #13558
Comments
comment:2
The code is not ready for inclusion in Sage yet:
|
comment:3
The conversion strategies are poorly documented. At least one docstring should describe all of the strategies, and all of the methods which accept a strategy as an argument should provide the list of strategies and a reference to the docstring that describes them. Additionally, I'm concerned that c_lin_cnf doesn't do anything for polynomials with length > 6. This doesn't currently seem to cause any bugs, but it might in the future. I'd rather see a generic implementation, or at the very least, |
comment:4
Made some modifications to the code:
What I want to do next is adding some error checking mechanisms for user parameters and re-implementing the |
comment:5
Replying to @daeinar:
Note that you misformated the doctest blocks: There's a
Lets remove it then :)
As far as I can see, no. |
comment:6
Replying to @malb:
Something that I think would be nice to have is some kind of mechanism which automatically selects (per polynomial?!) the "best suited" conversion strategy, as by now the user has to specify how all the polynomials get converted. But first one would have to find out what "best" means in this case before anything in that direction could be done. And even then I guess we would get very fast into NP complete areas. So a heuristic would be fine, too ... |
comment:7
Hi! Please add in the doc and ticket description what ANF and CNF mean; that will save some time for the non experts, and will help find them through searches. Thanks! |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
comment:10
Today I've added the generic implementation for |
comment:15
I think it was decided to drop it (I talked to Philipp ages ago) |
Reviewer: Martin Albrecht |
The converter is available here
https://github.com/Daeinar/anf2cnf-sage/blob/master/anf2cnf_sage.py
we should consider it for inclusion as it is more flexible than what we have now.
ANF
Algebraic Normal Form = Boolean polynomials = Square free polynomials over GF(2)
CNF
Conjunctive Normal Form = ANDs of OR clauses = form SAT-solvers understand
Component: misc
Keywords: SAT
Reviewer: Martin Albrecht
Issue created by migration from https://trac.sagemath.org/ticket/13558
The text was updated successfully, but these errors were encountered: