-
Notifications
You must be signed in to change notification settings - Fork 18
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
How can one get all the solutions from Bosphorus? #13
Comments
The solution is to:
In case the ANF contains helper variables that you don't want the solutions to be over, then do the following. If you want e.g. all the solutions over variables x1,x2, and x4, then add the line:
to the bottom of your CNF. This is called the sampling set (or sometimes the "independent set"). The SAT solver will then only print the solution over these variables, and will only give different solutions over these variables. |
Thanks for your reply. I am already using cryptominisat for all the solutions as follows: Can't I get all the solutions by just using bosphorus, I mean in the same command? Also yes, it gives the solutions for the helper variables too but adding "c ind 1 2 3 4 0" at the end of the out.cnf is not working. Am I missing something? |
Hi, Unfortunately, you can't get this purely from Bosphorus at the moment. You need to output to CNF and then use CryptoMiniSat. For me this system works. Here is an example.
Now, I add the line
Which seems correct to me. Maybe your ANF is incorrect? Can you please give us the example that doesn't work for you? Thanks, Mate |
I ran your example. It works as you described. I think I misunderstood it first.
but cryptominisat is giving me something like:
So, I have to ignore the solutions after 64th variable. This happens because the anf-to-cnf conversion increases the variables and cryptominisat doesn't know that those are extra variables for which I don't need a solution but bosphorus just prints what I want. |
Exactly! I'm glad it all works now! Good luck with your project, Mate |
Hey hey! A very-very new version has been released that can now do what you want, right out of the tool itself! Just add
Thanks for the issue you raised, it helped us make a better tool :) |
I really appreciate that. Thank you.
|
Glad to hear!
As for Docker -- either is fine. Docker can only help you in case you have
trouble compiling it. But you seem to be doing fine :)
…On Mon, Mar 9, 2020, 00:26 saadislamm ***@***.***> wrote:
I really appreciate that. Thank you.
I have never used docker, is there any advantage of using it or should I
keep running bosphorus as:
$ ./bosphorus
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
<#13?email_source=notifications&email_token=AAKF4ONFF7VJGCNNWUZ47ODRGQZRVA5CNFSM4LAQTYTKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEOFEVCI#issuecomment-596265609>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAKF4OMPUCX3536FBH6TYVTRGQZRVANCNFSM4LAQTYTA>
.
|
After the last update, getting the following error on make -j4: Copying bosphorus.hpp to /media/Ubuntu/bosphorus/build/include/bosphorus |
Ah, thanks, I have just fixed this in d45eea9 Thanks again, that was a good catch! Mate |
The question has been asked: "given an ANF, how can I find all the solutions to the system given Bosphorus?"
The text was updated successfully, but these errors were encountered: