Systolic algorithms, example: sorting networks
We take a simple model of parallel computation that is, most of the operations are executed simultaneously. The sorting network is made up of parallel wires on which the numbers travel from left to right. At places pointed by a vertical line, a comparator gate guides smaller (or lighter) number to the upper output wire and the bigger (or heavier) number to the lower output wire. Clearly, adequate comparators in right positions will cause the network to sort correctly - however how many gates does it take, where must they be positioned?
Lemma: Given that f monotonic, that is, x ≤ y ⇒ f(x) ≤ f(y).
When a network of comparators transforms x = x1, .., xn to y = y1, .., yn, then it transforms the f(x) to the f(y).
Theorem (0-1 principle): When a network S with n input lines sorts all the 2n vectors of 0s and 1s to non-decreasing order, then S sorts any vector of n arbitrary numbers properly.
Proof by contraposition: If S fails to sort some of the vector x = x1, .., xn of arbitrary numbers, the it as well fails to sort some of the binary vector f(x). Assume that S transform x into y with a ‘sorting error’, that is, yi > yi+1 for some index i. Made a binary-valued monotonic function f: f(x) = 0 for x < yi, f(x) = 1 for x ≥ yi. S transforms f(x) = f(x1),.., f(xn) to f(y) = f(y1), .., f(yn). As f(yi) = 1 > f(yi+1) = 0, S fails to sort binary vector x. QED.
Theorem (testing proves correctness): When a sorting network S which uses adjacent comparisons just sorts the ‘inverse vector’ x1 > x2 > ... > xn, then it sorts any arbitrary vector.
Note: Serial and parallel computation lead to completely distinct resource characteristics.
Example: Prove that a sorting network using just adjacent comparisons should have ≥ n-choose-2 comparators.
Solution: The transposition in a sequence x1, x2, ... , xn is a pair (i, j) with i < j and xi > xj . The inverse vector consists of n-choose-2 transpositions. Each and every comparator decreases the number of transpositions by utmost 1.
Latest technology based Theory of Computation Online Tutoring Assistance
Tutors, at the www.tutorsglobe.com, take pledge to provide full satisfaction and assurance in Theory of Computation help via online tutoring. Students are getting 100% satisfaction by online tutors across the globe. Here you can get homework help for Theory of Computation, project ideas and tutorials. We provide email based Theory of Computation help. You can join us to ask queries 24x7 with live, experienced and qualified online tutors specialized in Theory of Computation. Through Online Tutoring, you would be able to complete your homework or assignments at your home. Tutors at the TutorsGlobe are committed to provide the best quality online tutoring assistance for Theory of Computation Homework help and assignment help services. They use their experience, as they have solved thousands of the Theory of Computation assignments, which may help you to solve your complex issues of Theory of Computation. TutorsGlobe assure for the best quality compliance to your homework. Compromise with quality is not in our dictionary. If we feel that we are not able to provide the homework help as per the deadline or given instruction by the student, we refund the money of the student without any delay.
Start Excelling in your courses, Ask an Expert and get answers for your homework and assignments!!