|
| |
Maximum Adjacency Search
Dual MAS Version
CSE 7350/5350
David W. Matula
Total Points: 400
Updated: June 2000
1 Introduction
In this project, you are asked to implement an algorithm for determining a maximum
adjacency search (MAS) vertex ordering of a graph
along with an arc labeling. You are further asked to display associated properties of the
search and arc labeling particularly related to appropriate edge connectivity pairs,
cutsets, and vertex clustering. Regarding algorithm efficiency, you are asked to verify a
linear time bound O (|V|+|E|) for determining the MAS and forward arc labeling, and
to analyze the efficiency of your implementation of the reverse partial arc labeling. You
are furthermore asked to select one of several subprojects to pursue in greater detail.
2 Basic Terminology
A search of a graph G = (V,E) denotes an ordering of the vertices, v1,
v2, ..., vn, determined by the order in which vertices are
selected to be scanned. A maximum adjacency search (MAS) is a search where vi
is selected from the unscanned vertices, V - {v1,v2,..,vi-1}
on the basis of having a maximum number of adjacencies with the previously scanned
vertices,{v1,v2,...,vi-1}.
An ordering of the vertices, v1, v2, ..., vn, induces
an ordering of the arcs associated with the edges of a graph. Each edge (vi,
vj) has two associated arcs: for i < j, the arc a(i,j) is the
forward arc, and a(j,i) is the reverse arc. The arc a(i,j)
lexicographically precedes the arc a(k,l) if either i < k, or i = k and j
< l (lexicographic order). When a(i,j) precedes a(k,l) then a(k,l)
is said to lexicographically succeed a(i,j).
For the vertex ordering v1, v2, ..., vn,
a minimum acyclic arc labeling assigns a unique minimum label (color) from
{1,2,...,n-1} to every forward arc such that the arc does not form a cycle with preceding
forward arcs having the same label, and a unique minimum label (color) from { 1,2,...,n-1}
to a subset of reverse arcs such that the arc does not form a cycle with succeeding
reverse arcs having the same label. The forward arcs of the same color form a forest for
each color, and similarly for the colored reverse arcs.
Given the MAS vertex ordering v1, v2,
, vn ,
a dual MAS (DMAS) denotes the vertex ordering v1,
v2,
, vn, along with a reverse edge set ER
, where ER is a maximum subset of E having the property that the reverse
search vn, vn-1,
v1, is an MAS vertex
ordering of the subgraph G = (V, ER).
A Dual MAS is total when | ER | = | E | . A total DMAS allows a
minimum acyclic arc labeling to be efficiently determined on-the-fly for forward arcs
during the forward search and for reverse arcs during the reverse search.
A Dual MAS is partial when | ER | < | E |.
In this case the ratio | ER | / | E | provides an effectiveness
measure for the DMAS.
3 Benchmark
You will be provided with ten benchmarks graphs with which to test your program. Five
of these graphs were created using a graph generation program developed by Paul
Bartholomew. Your program must find a dual maximum adjacency search and minimum acyclic
arc labeling for each of the ten benchmark graphs.
The graphs are available in both adjacency list and adjacency matrix representations.
The graphs are available as ASCII files on the SEAS UNIX network in the directory:
/users/project/cse/CSE5350.
4 Project Format
Your project submission should be equivalent to an 8-12 page word-processor-composed
report for the project description and walkthrough text plus pages for summarizing and
presenting the results using figures and tables. The report should be oriented towards a
technical manager with a wide perspective, say in Scientific American magazine
style. Grading partition:
4.1 Introduction (30 points)
Give a brief description, in layman's terms, of the project, including your major
result. Consider this section to be a professionally worded marketing effort. That
is, would the competent technical manager (your audience) be likely to want to read on and
try to understand your claimed good results. Describe the strongest features of your
implementation. State which subproject you pursued and focus on your original work in this
selected area. Summarize your use of illustrations, figures, tables, or computer graphics
employed that will reveal your results effortlessly to the reader. Give clear citations to
your sources including downloaded programs and previous student's projects that most
influenced your work.
4.2 Programming Environment Description (20
points)
Give a description of the environment you used to develop the program including both
hardware and software components, i.e., the specific type and brand of computer, the
computer's processing speed, the amount of memory, the operating system, the language, any
special libraries, etc. The description should include metrics on the program resource
utilization allowing judgement of "was the total used respectable or an
overkill"? The purpose of this description is to allow comparisons and facilitate
reproduction. Consider: would a knowledgeable colleague be able to judge the scope of your
work from this description of the environment and resource utilization. The graphics
package used to present the report should also be described.
4.3 References (20 points)
Provide a list of publications, texts and programs in typical reference style at the
end of the descriptive text of your report and before the collection of output tables for
benchmarks and tests graphs.
4.4 Reduction to Practice (100 points)
This is the core of your report and should cover the five following topics
appropriately integrated.
- Data structure design (20 points.): Describe and illustrate the representation and
organization of data employed and discuss its relation to the algorithms employed.
- Algorithm descriptions (20 points): Provide a description of the Dual MAS algorithm
sufficient for your report to be self-contained to someone familiar with other graph
search algorithms. The description should clearly cover the distinctions between the
forward MAS search coloring all arcs, and the reverse MAS search coloring only an
appropriately described subset of reverse arcs.
- Algorithm engineering (20 points): Describe how the algorithm implementation is
engineered to achieve efficiencies in time and space and provide arguments for the
efficiencies. In particular, carefully substantiate the linear time bound for the Dual MAS
if your implementation realizes this bound.
- Verification Walk through (20 points): Present a walk through of an original graph
having 10 to 14 vertices and 20 to 30 edges. Choose the graph to expose challenging
aspects of the algorithm and your implementation.
- Algorithm effectiveness (20 points): Include here a summary table of results as an
overview of the benchmarks and test graphs. Give your conclusion on the strengths and
weaknesses of the algorithm on the one hand and your implementation on the other. Indicate
applications (clustering, routing, etc) where your implementation would be strongest and
what kind of input would be most difficult to handle. Your analysis and conclusions
relevant to your own test graphs can be a focal point of this topic.
4.5 Benchmark Result Summary (50 points)
You should provide a standard output for each benchmark graph including the following:
- The benchmark number and certain parameters on size and structure so the user may judge
the difficulty of each benchmark instance, e.g., number of vertices, and edges, minimum,
maximum, and average degree, the density (% non zero) of the adjacency matrix and length
of the adjacency list representations of the graph.
- The MAS vertex ordering, the number of edges receiving each color, the number and
proportion of edges given a reverse arc color.
- A table of results with n-1 lines for an n vertex graph, indexed by the
last-to-next vertices visited in MAS order, each line including the following:
1- Cut Vertex Pair
2 - Cut Size
3 - Forward Cut Coloring
4 - Reverse Cut Coloring
5 - Dual Coloring
6 - Connectivity Upper Bound (determined by the minimum of the cut size, the degree of
the last vertex and the degree of the next vertex of the visit pair)
7 - Connectivity Bound Gap (the difference in the colored path count and the upper
bound, zero indicating a “ maximum flow” identified between the visit
pair)
- The level Vs order graph showing forward and dual level plots, and the bound gap.
4.6 Verification Case Studies (40 points)
4.7 Subproject (60 points)
- MAS on-the-fly block reordering.
- Preprocessing adjacency list structure by smallest last vertex reordering.
- Graph drawing and adjacency matrix plotting to expose clusters.
- Cut tree and all pairs edge connectivity bounds.
- Thin cuts and clusters.
4.8 Display (80 points)
These points are awarded on the basis of your use of illustrations, figures, tables,
bar charts, and computer generated diagrams in your report. Hand drawn and/or computer
generated figures may be utilized as appropriate.
i) 30 points will be related to your displays associated with the algorithm and
data structure explanation, including the verification walkthrough.
ii) 50 points will be related to your displays associated with output results,
including the benchmark cases and the supplementary verification case studies you create.
Implementation Notes
|