CS860 (Spring 2007) - Adaptive, Output Sensitive, Online and Parameterized Algorithms
Ideas for Research Projects
|
The idea given here are preliminaries, most students should find their
own project, potentially in relation with their own area of research.
Each project should result in a paper of at most 10 pages not counting
the sections on Previous Work, Bibliography & Appendices.
Grouped submissions are welcome, provided every author contributed to
the work.
A shorter paper with highly interesting results is totally acceptable
and even recommanded.
This "publication" does NOT count as a "publications in a refereed
workshop or conference". The goal is to give to the students an
idea of the publication process, to motivate them to write and present
well, and to allow them to later submit to a peer-reviewed conference.
New Adaptive Sorting Algorithm
(Alejandro Salinger?)
David Arthur described in "Fast
Sorting and Pattern-avoiding Permutations" [ANALCO07] how to sort
faster an array if it is known to avoid some patterns, i.e. if the
number of occurences of the pattern in zero.
On the other hand, the number of occurences of the pattern "(2,1)" is
the number of inversions in the array, and it is a good difficulty
measure for sorting (see Estivil-Castro's review).
Combine those two approaches, and show that for pattenrs more complex
than (2,1) the number of occurences of the pattern is a good
difficulty measure for sorting.
Potentially,
cooperate with David
Arthur and Jeremy Barbay.
Adaptive Compression of Planar Graphs
(Raju?)
Read the paper Canonical Triangulation
of a Graph, with a Coding Application, from Luca Castelli Aleardi
and Olivier Devillers, and represent their compression algorithm as an
adaptive one, where this time the quality of their compression
is studied in an adaptive way depending on a measure of difficulty (as
opposed to the time complexity of the algorithm).
Potentially, cooperate with Luca Castelli
and Jeremy Barbay.
Redundancy Analysis of path subset queries and Threshold set
Generalize the redundancy analysis of the intersection problem to path
subset queries, to the threshold set problem of sorted arrays, and to
the threshold set of path subset queries.
Arash mentionned an interesting reduction between intersection and
path subset queries, making it explicit is a good exercise already,
and adapting the algorithm and analysis is not too difficult.
Adaptive Analysis of the "Small Adaptive" Intersection algorithm
Both the "Adaptive" and "Sequential" algorithms are optimal for their
own difficulty measure, and are outperformed by the algorithm "Small
Adaptive" in practice. There is no known adaptive analysis for which
"Small Adaptive" is optimal. Find a difficulty measure to describe the
instances on which "Small Adaptive" performs well, and express its
complexity in function of it. Show that neither "Adaptive" nor
"Sequential" are optimal for this measure.
Also, the two difficulty measures "gap encoding" and "redundancy" can
be combined to form a new measure of difficulty, and a new adaptive
analysis, the worst case among all instances of fixed size, gap
encoding and redundancy, but no known algorithm is optimal for this
new measure.
Adaptive Parallel Intersection
- There is a trivial lower bound of Omega(n1+n2+...+nk) comparisons
required to compute the intersection of an instance of k sets of size
(n1,...,nk) in the worst case with one processor: consider the
instance where k=2 and the sets are (1,3,5,7,....) and (2,4,6,8,....),
any algorithm has to perform n1+n2 comparisons to check the
intersection.
With p processors, this implies directly a lower bound of
Omega((n1+n2+...+nk)/p). And the particular instance used for the
worst case in the previous paragraph can be solved easily in
O((n1+n2+...+nk)/p) comparisons by p processors. Is there an algorithm
performing at most O((n1+n2+...+nk)/p) comparisons when given p
processors, or is there a better lower bound?
- We saw quickly in class lower bounds on the number of comparisons
needed to compute the intersection *with one processor* in the worst
case over instances of signature (k,n1,...,nk) and various difficulty
measure (such as the nb of comparisons required to check the validity
of the answer).
Some intersection instances are easier to solve in parallel than some
others. For instance, the worst case instance of the previous
question where k=2 and the sets are (1,3,5,7,....) and (2,4,6,8,....),
is **easy** to solve p times faster with a parallel algorithm using p
processors. Is there a difficulty measure d to measure this
"easiness", so that one could prove upper and lower bounds on the
complexity of any parallel algorithm using p processors, among
instances of signature and difficulty fixed?
Potentially, cooperate with Mike Mc Cool and
Jeremy Barbay.
Paralel Adaptive Sorting
We saw in class many difficulty measures and algorithms for sorting on
one single processor. Sorting using several processors at once, or
optimizing the use of the cache, is a well studied problem in the
worst case for the size fixed, using quite different techniques:
Can those approaches be combined to produce an adaptive parallel
sorting algorithm? An adaptive cache-friendly sorting algorithm?
Potentially, cooperate with Mike Mc Cool and
Jeremy Barbay.
Adaptive Topological Sweep
Read the paper "Topological
Sweep in Degenerate Cases" by Eynat Rafalin, Diane Souvaine and Ileana Streinu [Alenex 2002].
(Eventually search for the other papers mentioned at Tuft)
Generalize their algorithm to make it adaptive to some difficulty
measure.
Adaptive Matrix Multiplication
Search the bibliography about matrix multiplication: many classes of
matrices are known on which matrix multiplication is easier (sparse
matrices, boolean matrices, triangular matrices). Is there a
difficulty measure on matrices such that an adaptive algorithm can
take advantage of it?