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

Parallel #3

Open
tomsib2001 opened this issue Apr 14, 2016 · 3 comments
Open

Parallel #3

tomsib2001 opened this issue Apr 14, 2016 · 3 comments

Comments

@tomsib2001
Copy link

Hi,
This is very nice work, I have used it to test a combinatorics tiling conjecture and it gave impressively fast results. I was wondering if there could be a way to make the algorithm parallel?

@backtracking
Copy link
Owner

Hi,

Thanks for the nice words.

Backtracking enumerations on all solutions (based on algorithm such as
DLX) are indeed quite easy to parallelize: it suffices to make to make
the first decisions ``manually'', and then, run the algorithm for each
starting configuration.

In the N-queens problem, for instance, this amounts to place queens on
the first rows. If for instance N is 16, then placing queens on the
first 2 rows gives you 210 problems that you can then solve with the
algorithm of your choice, independently, and then sum the results.

In a tiling problem, for instance, that would mean picking some
particular tile(s), considering all their positions, and then solving
the remaining tiling problem.

To answer your question, Combine does not do this. It is up to you to
implement the above. If you are considering implementing this in OCaml
as well, note that there is an OCaml library for distributing computing
that you may find useful:

http://functory.lri.fr/About.html

Hope this helps,

Jean-Christophe

On 14/04/2016 15:30, tomsib2001 wrote:

Hi,
This is very nice work, I have used it to test a combinatorics tiling
conjecture and it gave impressively fast results. I was wondering if
there could be a way to make the algorithm parallel?


You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
#3

@tomsib2001
Copy link
Author

tomsib2001 commented Apr 15, 2016

Thank you very much for this very detailed answer! I will definitely look into it.
EDIT: removed comment about four color theorem, it seems to already be there, just need to figure out how to make it work.

@backtracking
Copy link
Owner

On an unrelated topic, I was thinking of making a pull request to color
tiles using the four color theorem

That's a nice idea.

As you have already found by yourself, 4-coloring a map is an
application of Combine itself!

Jean-Christophe

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