Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save wolfram77/6cb231a9ee2a2d3a55ab97340fa48123 to your computer and use it in GitHub Desktop.

Select an option

Save wolfram77/6cb231a9ee2a2d3a55ab97340fa48123 to your computer and use it in GitHub Desktop.
Fast parallel constraint satisfaction : NOTES

Fast parallel constraint satisfaction; Kirousis (1993)

A Constraint Satisfaction Problem (CSP) involves searching for an assignment of values to a given set of variables so that the values assigned satisfy a given set of constraints. The general CSP is NP-complete. To confront the intractability of the general CSP, relaxation procedures have been devised: instead of searching for a globally consistent assignment of values to the variables, try to restrict the domain of values of each variable in a way that ensures local consistency only. The relaxation procedures are efficient, but have been proved to be inherently sequential. In this paper, we define a class of CSPs for which a global solution can be found by a fast parallel algorithm. No relaxation preprocessing is needed for the parallel algorithm to work. The result is motivated from the problem of labelling a 2-D line drawing of a 3-D object by the Clowes-Huffman-Malik labelling scheme—an important application of CSP in computer vision. For such a labelling CSP, the constraint graph can be general, but the constraint relations are usually of the type we call implicational. It is shown here that a CSP with this type of constraint relations (and no restrictions on its graph) can be solved by an efficient (i.e., with polynomial time complexity) sequential algorithm. Also, it is shown that it can be solved by a fast parallel algorithm that executes in time O(log3 n) with O((m+n 3)/log n) processors on a Exlusive-Read-Exclusive-Write Parallel Random Access Machine (n is the number of variables and m is the number of constrain relations—the constraint relations may have arity more than two).

ORG

Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment