Title: A Parallel Algorithm for Approximate Regularity,
1A Parallel Algorithm for Approximate
Regularity, by Laurence Boxer and Russ Miller,
Information Processing Letters, to appear
Or Recognizing Patterns Amidst Seeming Chaos
A presentation for the Niagara University
Research Council, Nov., 2000
2Areas of investigation
- Mathematical theory of computing
- Algorithms solutions of problems study
resources (chiefly time also memory, accuracy of
approximations) required - Computational geometry algorithms to compute
solutions to questions of geometric nature - Parallel algorithms algorithms for parallel
computers
3Growth of relevant functions
n size of sample set
Regard these functions as measures of time
Time units not given. They rely on factors like
speed of computer - important, but irrelevant to
analysis of algorithms.
4Example analysis of 2 algorithms
Problem given n unsorted real numbers, find
their span maximum - minimum
Solution 1
Solution 2
5The Problem
Given a finite set S of points in the Euclidean
plane, identify all maximal subsets of S that
consist of at least 3 (approximately) collinear
points that are (approximately) equally spaced.
- Applications (aerial photos)
- Military recognizing land mines from infrared
hot spots photos - Surveying recognizing property boundaries (fence
posts) - Urban recognizing street lights
6PRAM - Parallel Random Access Machine
- Shared memory yields fast communications
- Fast communications make this model theoretical
ideal for fastest possible parallel algorithms
for given of processors - Impractical - too many wires if lots of processors
- Source processor writes data to memory
- Destination processor reads data from memory
7Mesh architecture
- Square grid of processors
- Each processor connected by communication link to
N, S, E, W neighbors
- Next slide illustrates how the communication
diameter is an important limitation on the speed
of a mesh (or any parallel computer based on
networked processors).
8Semigroup operation (e.g., total) in mesh
2. Roll up last row to get total in a corner.
1. Roll up columns in parallel, totaling each
column in last row by sending data downward.
This takes time.
3. Broadcast total from corner to all processors.
This takes time.
This takes time.
9Versions of our problem Exact version
Exploit fact that no pair of input points can
appear as consecutive points in more than 1
maximal equally-spaced collinear subset of input
set
10The exact version is discussed in the following
book (available in fine brickmortar online
bookstores)
11Versions of our problem Approximate version
- More useful (practical) version
- An error tolerance parameter specifies the margin
of approximation. - A segment determined by input points may appear
in multiple maximal approximately equally-spaced
collinear subsets.
- Therefore, there may be more output than in the
exact version of the problem.
12Our Solution
We developed an architecture-independent
algorithm, then considered its implementation on
various parallel architectures. Ours was NOT a
straightforward adaptation of the Robins, et al.,
algorithm, which seems inherently sequential.