
Citation 
 Permanent Link:
 http://ufdc.ufl.edu/AA00004720/00001
Material Information
 Title:
 Efficient algorithms for electronic CAD
 Creator:
 Thanvantri, Venkat
 Publication Date:
 1995
 Language:
 English
 Physical Description:
 x, 100 leaves : ill. ; 29 cm.
Subjects
 Subjects / Keywords:
 Algorithms ( jstor )
Closed curves ( jstor ) Computer aided design ( jstor ) Dynamic programming ( jstor ) Experimental results ( jstor ) Linear programming ( jstor ) Mathematical procedures ( jstor ) Matrices ( jstor ) Run time ( jstor ) Wires ( jstor ) Computer and Information Science and Engineering thesis, Ph. D Computeraided design ( lcsh ) Dissertations, Academic  Computer and Information Science and Engineering  UF Integrated circuits  Very large scale integration  Design and construction ( lcsh )
 Genre:
 bibliography ( marcgt )
nonfiction ( marcgt )
Notes
 Thesis:
 Thesis (Ph. D.)University of Florida, 1995.
 Bibliography:
 Includes bibliographical references (leaves 9799).
 General Note:
 Typescript.
 General Note:
 Vita.
 Statement of Responsibility:
 by Venkat Thanvantri.
Record Information
 Source Institution:
 University of Florida
 Holding Location:
 University of Florida
 Rights Management:
 Copyright [name of dissertation author]. Permission granted to the University of Florida to digitize, archive and distribute this item for nonprofit research and educational purposes. Any reuse of this item in excess of fair use or other copyright exemptions requires permission of the copyright holder.
 Resource Identifier:
 002058179 ( ALEPH )
33849110 ( OCLC ) AKP6223 ( NOTIS )

Downloads 
This item has the following downloads:

Full Text 
EFFICIENT ALGORITHMS FOR ELECTRONIC CAD
By
VENKAT THANVANTRI
A DISSERTATION PRESENTED TO THE GRADUATE SCHOOL
OF THE UNIVERSITY OF FLORIDA IN PARTIAL FULFILLMENT
OF THE REQUIREMENTS FOR THE DEGREE OF
DOCTOR OF PHILOSOPHY
UNIVERSITY OF FLORIDA
1995
@Copyright 1995
by
Venkat Thanvantri
ACKNOWLEDGMENTS
My heartfelt appreciation geos to my advisor Professor Sartaj Sahni for giving
me continued guidance in my thesis work. I thank him for the help, patience and sup
port he provided throughout my stay in the University of Florida. Weekly meetings
and discussions with him have spawned many ideas, for which I am thankful.
Special thanks go to Dr Baba Vemuri for his interest in my research and for
serving on my supervisory committee. I would like to thank other members in my
superviory committee, Dr Tim Davis, Dr LiMin Fu and Dr John Harris, for their
interest and comments. I thank Dr Rajasekharan for agreeing to attend the thesis
defense on a very short notice.
Thanks go to Seonghun Cho for his willingness to discuss the general subject of
algorithms.
I thank Archana Nair for being a good friend and giving encouragement when I
needed it most.
Thanks go to my sister Lakshmi and brotherinlaw Anand for being there when
I wanted. Finally, I would like to thank my parents for the love and support, without
which I could not have pursued my doctoral studies. To them I dedicate this work.
TABLE OF CONTENTS
ACKNOWLEDGMENTS ................... .......... iii
LIST OF TABLES .................. ............... vi
LIST OF FIGURES .................... ............ viii
ABSTRACT ..................... .............. ix
CHAPTERS
1 INTRODUCTION .... ................. ......... 1
1.1 Background .. .. .. .. .. .. .. .. .. .. ... .. .. 1
1.2 Physical Design Automation .. ................... 3
1.3 Thesis Outline ........ ..... ..... .......... 5
2 FOLDING A STACK OF EQUAL WIDTH CO
2.1 Background .................
2.2 Introduction ... ...........
2.3 Normalization ...............
2.4 EqualWidth HeightConstrained ...
2.5 Parametric Search ..............
2.6 EqualWidth WidthConstrained .....
2.7 Experimental Results ............
2.8 Conclusions .................
3 STANDARD AND CUSTOM CELL FOLDING
3.1 Introduction .................
3.2 Standard Cell Folding (Problems 14) .
3.2.1 Width Constrained Case (Problems
3.2.2 Height Constrained Case (Problems
MPONENTS .
1 and 2)
34) .
3.3 Standard Cell Folding (Problems 57) .
3.3.1 Minimum Channel Height (Problem 5) .
3.3.2 Minimize Chip Area Subject to Width Constraint
6) . .
(Problem
.....
3.3.3 Minimize Chip Area Subject to Height Constraint (Problem
7) . . 47
3.4 Custom Cell Folding (Problems 8 and 9) .
3.4.1 Width Constrained Folding (Problem 8)
3.4.2 Height Constrained Folding (Problem 9)
3.5 Experimental Results .
3.6 Conclusions ....................
4 PLANAR TOPOLOGICAL ROUTABILITY .
4.1 Introduction . .
4.2 Prelim inaries .. .. .. .. .. .. .. .. .. ... .. .
4.3 The Algorithm ............................
4.4 Topological Routability of Multipin Nets .
4.5 Implementation of TwoPin Algorithm .
4.6 Experimental Results ... .
4.7 Conclusion . .
5 CONCLUSIONS AND FUTURE WORK. ..
REFERENCES ...................................
BIOGRAPHICAL SKETCH ........................... .
58
58
60
66
76
86
88
94
95
97
100
.
.
.
.
.
LIST OF TABLES
2.1 Summary of results of Paik and Sahni ..... 10
2.2 Comparison of equalwidth heightconstrained algorithms ...... 20
2.3 Run times of equalwidth widthconstrained algorithms ... 29
3.1 Heights produced by widthconstrained standard cell folding algorithms 56
3.2 Run times of widthconstrained folding algorithms for custom cells .. 57
4.1 Treelike Connected Circuits ..... 91
4.2 SixWay Connected Circuits .................. ...... 91
4.3 Random Circuit ................... .......... 92
4.4 Faster Termination for NonRoutable Circuits ... 92
4.5 Eightway Connected Circuits with Multipin Nets ... 93
4.6 Treelike Connected Circuits With Multipin Nets ... 93
4.7 Faster Termination for NonRoutable Circuits With Multipin Nets 93
LIST OF FIGURES
2.1 Stack of equal width components ..... ... 9
2.2 Routing space reserved .... ..................... 9
2.3 Case when hj + rj+l I rj ........................ 13
2.4 Case when hj + rj < rj+l ............. ......... 15
2.5 Normalizing a stack .................... .... 15
2.6 Procedure to obtain a minimum width folding .... 19
2.7 Procedure for parametric search ..... 22
3.1 Standard cell Architecture .................... .. 32
3.2 Procedure to obtain a minimum height folding ... 40
3.3 Procedure to obtain a minimum channel height folding ... 45
3.4 Procedure to obtain a minimum height folding for custom cells 48
3.5 Procedure to delete F(.) values as in Observation 3 ... 51
3.6 Procedure to Insert F(.) values ..................... 54
4.1 A planar routable and a nonplanar routable case ... 59
4.2 Augmentation .. ......................... .. 61
4.3 An example to illustrate some terminology ... 61
4.4 Two possibilities to connect a and b
4.5 Another not planar routable situation .... 64
4.6 Constructing the envelope of a component .... 65
4.7 Rerouting to free independent component ... 66
4.8 Topological routing.. ........................... 67
4.9 Exam ple RI ................... ............ 68
4.10 Illustration of the routing sequence ... 69
4.11 Trapped terminal and module . ... 70
4.12 To illustrate conflict ........................... 71
4.13 Algorithm to find routing path between pins r and s ... 73
4.14 Realization of a planar net using one Steiner point ... 78
4.15 Transformation from multipin to twopin nets ... 80
4.16 Topological routing of multipin net for restricted version ... 82
4.17 Example RI with a four pin net . ... 83
4.18 Illustration of the routing sequence with Multiterminal net 84
4.19 An possible situation where the RI is unroutable .... 86
4.20 Treelike connected circuits . ... 88
4.21 Sixway connected circuits ........................ 89
4.22 Treelike connected circuits with multipin nets ... 89
4.23 Eightway connected circuits with multipin nets .... 90
. .. .. 63
Abstract of Dissertation Presented to the Graduate School
of the University of Florida in Partial Fulfillment of the
Requirements for the Doctor of Philosophy
EFFICIENT ALGORITHMS FOR ELECTRONIC CAD
By
Venkat Thanvantri
August 1995
Chairman: Dr. Sartaj Sahni
Major Department: Computer and Information Science and Engineering
In this thesis, we develop efficient algorithms for three problems that arise in
electronic computer aided design (ECAD). (1) component stack folding, (2) standard
and custom cell folding, and (3) planar topological routing.
The component stack folding problem arises in the layout of bitslice architec
tures. We consider two versions of this problem. In both, the components have equal
width and when a stack is folded, a routing penalty is incurred at the fold. In the
first version, the height of the folded layout is given and we have to minimize the
width. In the second, the width of the folded layout is given and its height is to be
minimized. We develop a normalization technique that permits the first version to
be solved in linear time by a greedy algorithm. The second version can be solved
efficiently using normalization and parametric search.
In standard and custom folding, the component list is folded into rows and a
routing penalty is incurred between two rows. In the model we consider, the number
of wires that have to cross between two rows serves as the routing penalty. Nine
versions of the folding problem are formulated and efficient algorithms are developed
for each.
We develop a simple, fast linear time algorithm to determine if a collection of
twopin nets can be routed topologically in a plane. Topological routability testing
of a collection of multipin nets is shown to be equivalent to planarity testing, and a
simple linear time algorithm is developed for the case when the collection of modules
remain connected following the deletion of all nets with more than two pins.
Experimental results are presented.
CHAPTER 1
INTRODUCTION
1.1 Background
With current technology, a single chip can have several million transistors. De
sign and fabrication of such chips is made possible by the automation of the steps
involving the development of the chip. Starting with the formal specifications, the
VLSI design cycle goes through a series of steps to produce the final product, a fully
packaged chip. The VLSI design cycle consists of the following steps [24]:
1. System Specification: In this step the high level representation of the system is
created. Performance, functionality, the physical dimensions, the choice of the
design techniques and the fabrication technology are considered in this step.
2. Functional Design: The output of this step is a timing diagram which is ob
tained by considering the behavioral aspects of the system.
3. Logic Design: The logic design, in general, is represented by Boolean expres
sions. The logic design that represents the functional design is obtained in
this step. The boolean expressions are minimized to obtain the smallest logic
design. Correctness of the logic design is also asserted in this step.
4. Circuit Design: A circuit which represents the logic design of the system is
developed in this step by taking into consideration speed and power require
ments, and electrical behavior of the components used in the development of
the circuit.
5. Physical Design: This is the most time consuming step in the VLSI design
cycle. In this step, the components and the interconnections are represented by
geometric patterns. The objective of this step is to obtain an arrangement of
these geometric patterns which minimizes the area and power and satisfies the
timing requirements of the chip. Due to its high complexity this step is broken
down into smaller substeps. We will look into this step in detail later in this
chapter.
6. Design Verification: In this step design rule checking and circuit extraction are
done to verify that the circuit layout from the physical design step satisfies the
system specfication and design rules.
7. Fabrication: The verified layout is used in the fabrication process to produce
the chip.
8. Packaging, Testing and Debugging: The fabricated chip is packaged and tested
to ensure proper functioning.
Each step in the design cycle can be viewed as a change in representation of the
system. The steps in the VLSI design cycle iteratively improve the representation to
meet the specifications.
1.2 Physical Design Automation
The physical design step maps a circuit design into a physical circuit. The input
to this step is a circuit design which is represented by a set of modules, a set of nets,
a chip carrier and the design rules. The modules and the chip carrier are usually
rectangular. The output of the physical design step is a layout for modules and
interconnections which has the desired functionality.
There are several objective functions that are used in the physical design step.
If the chip size is not fixed then the objective is to find a minimum area layout. When
the circuit speed is a consideration, the objective may be to minimize the critical net
length or minimize the sum of connection lengths.
The field of physical design automation involves developing algorithms and data
structures which can be used in the layout process. The algorithms are used to obtain
solutions which satisy the objective functions and which meet the design rules. Large
designs and the iterative improvements by the physical design engineers require that
the algorithms developed be very fast.
Physical design is an extremely complex process that is usually broken down
into smaller problems such as partitioning, floorplanning and placement, routing and
compaction.
In the partitioning step, the components of a large circuit are divided into a
collection of smaller subcircuits/modules according to some criteria. The factors that
are considered may be the size of the modules, number of modules and the number of
interconnections between the modules. At the end of the partitioning step, we have
a set of modules and a set of interconnections required between modules.
Selecting areas, power consumption, aspect ratios, and I/O pin locations of the
modules forms the floorplanning step. The floorplanning step optimizes design quality
in terms of chip area, power consumption, timing performance and wire density.
Floorplanning is an important step as it lays the foundation for the final layout.
The precise locations of the components are determined during the placement step
to optimize area and timing.
The routing phase completes the interconnections between the modules. Rout
ing is usually divided into three smaller subproblems which are global routing, de
tailed routing and specialized routing. The global router decomposes a larger routing
problem into small and manageable problems. Steiner trees and spanning trees are
the commonly used approaches for net connection in global routing. Detailed routing
includes switchbox, channel and planar. Planar routing is a problem in which inter
connection topology of the nets is planar. That is, all connections can be realized
on a single layer. Single layer routing is not always possible. In MCM technology
with many routing layers, a subset of nets that is planar routable is preferred. Planar
routing is usually preferred as no via is needed for the interconnections. Vias reduce
the reliability and performance of a circuit. Routing clock nets and powerground
nets are specialized routing problems.
During the compaction phase, the components and the interconnections are
moved so as to further optimize the layout in terms of area and delay. By compress
ing the chip, the components come closer thereby reducing the delay between the
components. This step must also ensure that by compressing the chip, design rules
are not violated.
1.3 Thesis Outline
One of the placement methods is to obtain a linear list of components mini
mizing some criteria and then folding this list into a given height or width so as to
minimize the area. The objective functions that can be used when forming the linear
list of components may be minimizing the maximum density of wires between adja
cent components; minimizing the total number of wire segments between adjacent
components; and minimizing maximum net length [1].
In the bitsliced placement model introduced by Paik and Sahni [21], compo
nent reordering is not permitted. That is, the components are ordered by some
objective function to obtain a component stack. This stack is folded into a layout
which is either heightconstrained (layout height is given) or widthconstrained (lay
out width is given). In Chapter 2, we look into two problems considered by Paik and
Sahni [21]. We introduce a normalization technique which in combination with the
greedy method and parametric search helps develop linear time algorithms for these
problems.
In Chapter 3, we develop optimal algorithms to fold a linearly ordered list of
standard and custom cells under various optimization constraints. A total of nine
problems are formulated and their solutions provided.
In Chapter 4, we look into the planar topological routability problem. We
develop a linear time algorithm for planar topological routability for the case when
all nets are 2pin nets. This algorithm determines the topological routability of the
given problem instance and the loose route of wires when the instance is topologically
routable. We also consider the case when there are multipin nets. For this case, we
prove that (a) the topological routability problem is equivalent to the graph planarity
problem, and (b) the problem of finding the maximum number of nets that are
topologically routable is NPHard. A linear time algorithm is developed for the case
when the circuit modules remain connected following the deletion of all nets that
have more than two pins.
Finally, we present conclusions and some future directions for this research.
CHAPTER 2
FOLDING A STACK OF EQUAL WIDTH COMPONENTS
2.1 Background
Wu and Gajski [31] introduced a new slicedlayout architecture to alleviate the
problems of the general bitsliced layouts. Most fabricated chips can be described
by registertransfer schematics. In addition to gates, latches, and flipflops, schemat
ics include registertransfer components such as registers, counters, adders, ALUs,
shifters, multiplexers, and register files. Standard cell methodology decomposes the
components into basic gates, latches, and flipflops before layout. Wu and Gajski [31]
suggest that greater layout density can be achieved if registertransfer components
are laid out in a bitsliced layout architecture.
For each microarchitectural component there is a layout generator that includes
bitslice generators. All generated bit slices are of the same width. If a component has
a width w, then it has w slices. Each microarchitectural component has a different
height. The component includes the cellabutment, overthecell routing, and inter
slice switch box to alleviate the problems of the previous approaches. Intracell routing
in done on metal 1 and Inter cell routing on metal 2. All regular components in a
design are stacked (stack of components) and routed in metal 2. Component stack
folding, in the context of bit sliced architectures introduced by Larmore, Gajski, and
Wu [14], is to fold this stack into itself in a way that minimizes the wasted area.
Stack folding (stack partioning) is also done in case there are too many components
in a single stack. In this paper [14], they used this model to compile layout for cmos
technology. Further applications of the model were considered by Wu and Gajski
[31].
In the model of Larmore et al. [14] and Wu and Gajski [31] the component stack
can be folded at only one point. In addition, it is possible to reorder the components
on the stack. These folding schemes begin by reordering the components by width.
They also show that the folding problem using this model is NPcomplete.
A related, yet different, folding model was considered by Paik and Sahni [21].
In this, no limit is placed on the number of points at which the stack may be folded.
Also, component reordering is forbidden. They point out that this restriction is
realistic as the component stack is usually ordered so as minimize inter component
routing requirements and optimize performance. They also point out that this model
may be used in the application cited by Larmore et al. [14] and Wu and Gajski
[31]. Furthermore, it accurately models the placement step of the standard cell and
seaofgates layout algorithms of Shragowitz et al. [26, 25]. In the case of standard
cell designs, all modules have the same width while in the case of seaofgates designs
module widths and heights vary from module to module.
2.2 Introduction
A stack of equal width components is comprised of variable height components
C1,C2,...,Cn stacked one on top of the other. C, is at the top of the stack and
U i I
Cl cC+
stack Ci C.
stack stack2A stack3l
C.
(a) Component Stack
(b) Folded into three stacks
Figure 2.1. Stack of equal width components
C, Cn
LIIiIE
Interstack Routing
Figure 2.2. Routing space reserved
C1
C0
CG
LJu t^VAY
LuuuV'l.
Table 2.1. Summary of results of Paik and Sahni
Routing area at stack ends
No Yes
Equal width, height constrained O(n) O(n2)
Equal width, width constrained O(n) O(n3)
Equal height, height constrained O(n4 log n) O(n4 log n)
Equal height, width constrained O(n4 log2 n) O(n4 log2 n)
Variable heights and widths, height constrained O(n5 log n) O(n5 log n)
Variable heights and widths, width constrained O(n5 log2 n) O(n5 log2 n)
(Source : Paik and Sahni
[21])
C, at the bottom (Figure 2.1(a)). If the stack is realized, physically, in this way,
the area needed is Ehi w where hi > 0 is the height of Ci and w > 0 is the width
of each component. If the component stack is folded at C; we obtain two adjacent
stacks C1,C2,...,Ci and Cn, Cn1,...,Ci+l. The folding also inverts the left to
right orientation of the components C,,.. ., Ci+. Figure 2.1(b) shows the stack of
Figure 2.1(a) after folding at C,, Ci,. Notice that folding results in a snakelike
rearrangement. While not apparent from the figure, each fold flips the lefttoright
orientation of a component. As can be seen from Figure 2.1(b), pairs of folded
stacks may have nested components, components in odd stacks are left aligned; and
components in even stacks are right aligned. The area of the folded stack is the area
of the smallest rectangle that bounds the layout. To determine this, depending on
the model, we may need to add additional space at the stack ends to allow for routing
between components Ci, and Ci,, where Ci, is a folding point. If so, let ri > 0,
2 < i < n, denote the height of the routing space needed if the stack is folded at Ci1
(Figure 2.2).
In practical situations, the height (width) of the rectangle into which the stack
is to be folded may be limited (and known in advance) and we are to minimize the
width (height). Several versions of folding into height (width) constrained rectangles
were considered by Paik and Sahni [21]. Their results are summarized in Table 1.
In this chapter we consider two of the problems considered in Paik and Sahni [21]:
(1) Equalwidth, heightconstrained with routing area at stack ends. In this problem,
we are to fold a stack of equal height components into a rectangle of given
height so as to minimize the width (and hence area) of the rectangle. For this
problem, the algorithm [21] runs in O(n2) time. We develop an O(n) algorithm.
(2) Equalwidth, widthconstrained with routing area at stack ends. Here the width
of the rectangle into which the folding occurs is given and we are to mini
mize its height (and hence area). Four algorithms with complexity O(n log n),
O(n log log n), O(n log* n), and O(n) respectively are obtained. Experimental
results indicate that the O(n log n) algorithm is fastest in practice. This is due
to the fact that this algorithm has least overhead.
Our algorithms employ two techniques. The first is normalization in which an
input instance is transformed into an equivalent normalized instance that is relatively
easy to solve. The second technique is parameterized searching. In Section 2.2 we
describe our normalization technique and then in Section 2.3, we show how this
results in a linear time algorithm for the equalwidth heightconstrained problem.
Parameterized searching is described in Section 2.4 and then used in Sections 2.5 to
obtain the algorithms for the equalwidth widthconstrained problem. Experimental
results comparing the relative performance of the various algorithms for the equal
width widthconstrained problem are given in Section 2.6.
2.3 Normalization
Let hi be the height of the component Ci, 1 < i < n. Let ri be the routing height
needed between Ci, and Ci if the component stack is folded at Ci1,2 < i < n; and
let rx = rn+l = 0. The defined component stack is normalized if the conditions Cl
and C2 given below are satisfied for every i, 1 < i < n.
S S2 S1 52
*
hj1 hj1
hjI hij+l
rj rj rj+l rj+1
(a) (b)
Figure 2.3. Case when hj + rj+l < r
Cl : hi + ri+l > ri
C2: hi + ri > ri+l
An unnormalized instance I may be transformed into a normalized instance I
with the property that from a minimum height or minimum width folding of I, one
can easily construct a similar folding for I. To obtain i, we identify the least value of
i at which either Cl or C2 is violated. Let this value of i be j. By choice of j, either
hj + rj+1 < rj, or
hj + rj < rj+l.
We first note that (since hj > 0) it is not possible for both of these inequalities to
hold simultaneously. Suppose that hj + rj+l < rj. Now j > 1 as hi + r2 > 0 while
ri = 0. Also, hj + rj > rj+l. Consider any folding of I in which Cj1 is a fold
point (Figure 2.3(a)). Let the height of the stack S1 be h(S1) and that of S2, h(S2).
Consider the folding obtained from Figure 2.3(a) by moving Cj from S2 to S1. Let
the height of the stacks now be h'(S1) and h'(S2). We see that
h'(SI) = h(S1) rj + hj + rj+ <5 h(S1)
and
h'(S2) = h(S2) rj hj + rj+l < h(S2).
So, the height and width of the folding of Figure 2.3(b) is no more than that of
Figure 2.3(a). Hence, the instance I' obtained from I by replacing the component
pair ((hji_, r3._), (hj, rj)) with the single component (hj, + hi, rj,) has the same
minimum width/height folding as does I. From a minimum width/height folding for
I' one can obtain one for I by replacing the component (hj1 + hj,rj1) with the two
components of I.
If hi + rj < rj+l, then I' is obtained by replacing the component pair
((hj, rj), (hj+1, rj+,)) with the single component (hj + hj+,, rj). The proof is similar
to the previous case.
The component pair replacement scheme just described may be repeated as often
as needed to obtain a normalized instance I. Note that the scheme terminates as
each replacement reduces the number of components by one and every one instance
component is normalized.
The preceding discussion leads to the normalization procedure Normalize of
Figure 2.5. The input to this procedure is a component stack C[1]... C[n] and the
output is a normalized stack C[1]... C[n] (the input n (say n") will be generally
larger that the output n (say n')).
C[i].h, C[i].r, C[i].f, and C[i].l, respectively, give the height, routing height needed
if the stack is folded at C[i 1], index of first input component represented by C[i],
S S2 S1 S2
1 hj+
hj h j+l
hj_1 hj
rj+i r+ r
(a) (b)
Figure 2.4. Case when hj + rj < rj+l
Procedure Normalize(C,n)
{ Normalize the component stack C[1]... C[n]}
i := 1; next := 2;
while next < n + 1 do
case
: C[i].h + C[next].r < C[i].r:
{Combine with C[i 1]}
C[i 1].h := C[i 1].h + C[i].h;
C[i 1].l:= C[i].l;
i:=i1;
: C[i].h + C[i].r < C[next].r:
{Combine with C[next]}
C[i].h:= C[i].h + C[next].h;
C[i].l:= C[next].l;
next := next + 1;
:else: C[i + 1] := C[next];
i := i +1;next := next + 1;
end;
n := i 1;
end; {Normalize}
Figure 2.5. Normalizing a stack
and index of the last input component represented by C[i]. At input, we have
C[i].h = hi
C[i].r = ri
C[i].f = C[i].l = i
1 < i < n, and C[n + l].r = 0. Note that, by definition, C[1].r = rn = 0. On
output, component C[i] is the result of combining together the input components
f, f + 1,...,. The heights and the r values are appropriately set. The correctness
of procedure Normalize is established in Theorem 1. Its complexity is O(n) as each
iteration of the while loop takes constant time; the first two case clauses can be
entered atmost a total of n 1 times as on each entry the number of components is
reduced by 1. The else clause can be entered atmost n 1 times as on each entry
next increases by 1 and this variable is never decreased in the procedure.
Theorem 1 : Procedure Normalize produces an equivalent normalized component stack.
Proof : The procedure maintains the following invariant at the start of each itera
tion of the while loop:
Invariant: Normalizing conditions Cl and C2 are satisfied by all components C[j],j <
1.
This is clearly true when i = 1 as there is no component C[j] with j < 1. If
the invariant is true at the start of some iteration, then it is true at the end of that
iteration. To see this, note that if we enter the first clause of the case then following
the execution of this clause, C[j].h, C[j].r, C[j + 1].r,j < i', where i' is the value of
i following execution of the clause, are unchanged. So, the execution does not affect
C1 and C2 for j < i'. If the second caseclause is entered, then again Cl and C2
are unaffected by the execution for j < i as C[j].h, C[j].r, and C[j + l].r, j < i are
unchanged. When the third clause is entered the validity of C1 and C2 for j < i'
follows from the fact that the conditions for the first two clauses are false.
On termination, next = n+2. The last iteration of the while loop could not have
entered the first clause of the case statement as in this clause, next is not increased.
While in the second clause, next is increased, the condition C[i].h+C[i].r < C[next].r
cannot be true in the last iteration as now next = n" + 1 (n" is the input value of
n), C[i].h + C[i].r > 0, C[n"].r = 0. So, the last iteration caused execution of the
third clause of the case statement. As a result, C[n"' is moved to position n" + 1 of
C. From the invariant, it follows that Cl and C2 are satisfied for j < i' = n" + 1
(note i' is the final value of i). Hence the output component stack C[1]... C[n'] is
normalized. 0
Theorem 2 establishes an important property of a normalized stack. This prop
erty enables one to obtain efficient algorithms for the two folding problems considered
in this chapter.
Theorem 2 : Let (hi,ri), 1 < i < n define a normalized component stack. Assume
that ro = rn+l = 0. The following are true:
I I
P1 : rk + E hj + r1+1 < rkl + E hj + ri+,,1
j=k j=k1
1 1+1
P2: rk + hj + r1+l < rk+ hj + rl+2,1 < k < l < n
j=k j=k
Proof : Direct consequence of C2 and C1, respectively. 0
Intuitively, Theorem 2 states that the height needed by a contiguous segment
of components from a normalized stack increases when the segment is expanded by
adding components at either end.
2.4 EqualWidth HeightConstrained
The height of the layout is limited to h and we are to fold the component stack so
as to minimize its width. This can be accomplished in linear time by first normalizing
the stack and then using a greedy strategy to fold only when the next component
cannot be accommodated in the current stack segment without exceeding the height
bound h. The algorithm is given in Figure 2.6.
From the correctness of procedure Normalize, it follows that a minimum width
folding of the normalized instance is also a minimum width folding of the initial
instance. So, we need only to show that the for loop generates a minimum width
folding of the normalized instance generated by the procedure Normalize. This follows
from properties P1 and P2 (Theorem 2) of a normalized instance. Since a segment
size cannot decrease by adding more components at either end, the infeasibility test
is correct. Also, there can be no advantage to postponing the layout of a component
to the next segment if it fits in the current one.
Procedure Minimize Width(C, n, h, width)
{ Obtain a minimum width folding whose height is atmost h}
Normalize(C, n);
used := h; width := 1;
for i:= 1 to n do
case
: used C[i].r + C[i].h + C[i + 1].r < h :
{ assign C[i] to current segment }
used := used C[i].r + C[i].h + C[i + 1].r;
: C[i].r + C[i.h + C[i+ 1].r > h:
{infeasible instance }
output error message; terminate;
:else:{start next segment, fold at C[i 1] }
width := width + 1;
used:= C[i].r + C[ij.h + C[i + 1].r
end;
end; {Minimize Width}
Figure 2.6. Procedure to obtain a minimum width folding
Table 2.2. Comparison of equalwidth heightconstrained algorithms
n [7] Figure 5
16 0.11 0.05
64 1.80 0.14
256 24.85 0.52
Times are in milliseconds
Note that while we are able to solve the equalwidth heightconstrained prob
lem in linear time using a combination of normalizing and the greedy method, the
algorithm of Paik and Sahni [21] uses dynamic programming on the unnormalized
instance and takes O(n2) time. In Table 2, we give the observed run times of the two
algorithms. These were obtained by running C programs on a SUN 4 workstation.
As is evident, our algorithm is considerably superior to that of [21] even on small
instances.
2.5 Parametric Search
In this section, we provide an overview of the parametric search method of
Frederickson [4], which uses developments by Frederickson and Johnson [5, 6] and
Frederickson [3]. This overview has, however, been tailored to suit our application
here and is not as general as that provided by Frederickson and coworkers [3, 4, 5, 6].
Assume that we are given a sorted matrix of O(n2) candidate values M,,, 1 <
i,j < n. By sorted, we mean that
Mi < Mij+, < i
and Mij 5 Mi+lj, 1 < i < n, 1
The matrix is provided implicitly. That is, we are given a way to compute Mij,
in constant time, for any value of i and j. We are required to find the least MAj
that satisfies some criterion F. The criterion F has the property that if F(x) is not
satisfied, then F(y) is not satisfied (i.e., it is infeasible) for all y < x. Similarly, if
F(x) is satisfied (i.e., it is feasible), then F(y) is feasible for all y > x. In a parametric
search, the minimum Mij that satisfies F is found by trying out some of the Mijs.
As different Mijs are tried, we maintain two values A1 and A2, A1 < A2 with the
properties:
(a) F(A1) is infeasible.
(b) F(A2) is feasible.
Initially, A1 = 0 and A2 = oo (we assume F is such that F(0) is infeasible, F(oo)
is feasible, and Mij > 0 for all candidate values). To determine the next candidate
value to try, we begin with the matrix set S = {M}. At each iteration, the matrices
in S are partitioned into four equal sized matrices (assume, for simplicity, that n
is a power of 2). As a result of this, the size of S becomes four times its previous
size. Next, a set T comprised of the largest and smallest elements from each of the
matrices in S is constructed. The median of T is the candidate value x to try next.
The following possibilities exist for x and F(x):
(1) x < A1. Since F(A1) is infeasible, F(y) is infeasible for all y < A,. So, F(x) is
infeasible.
Procedure PSEARCH(S,A ,A2,dimension,finish);
repeat
if dimension > 1 then [ replace each matrix in S by
four equal sized submatrices;
dimension := dimension/2 ]
for i := 1 to 3 do
begin
if dimension = 1 then
[ Let T be the multiset of values in all matrices of S; ]
else
[ Let T be the multiset obtained by selecting the largest
and smallest values from each matrix of S; ]
x := median(T);
if(AX < x < A2) then
if F(x) is feasible then A2 := x
else A1 := a;
Eliminate from S all matrices that have no values
such that AI < x < A2;
end;
until dimension2 IS\ < finish;
end; {PSEARCIIJ
Figure 2.7. Procedure for parametric search
(2) x > A2. Now, F(x) is feasible.
(3) A1 < x < A2. F(x) may be feasible or infeasible. This is determined by
computing F(x). If x is feasible, A2 is set to x. Otherwise, AX is set to x.
Following the update (if any) of A1 or A2 resulting from trying out the candidate
value x, all matrices in S that do not contain candidate values y in the range Ax <
y < A2 may be eliminated from S.
A more precise statement of the search process is given by procedure PSEARCH
(Figure 2.7). This procedure may be invoked as PSEARCH({M},0,oo,x,O). dimension
is the current number of rows or columns in each matrix of S and finish is a stopping
rule. The search for the minimum candidate that satisfies F is terminated when the
number of remaining candidates is < finish. If A2 = oo when PSEARCHterminates,
then none of the candidate values is feasible. If A2 is finite, then it is the smallest
candidate that is feasible.
Since we have assumed n is a power of 2, each time a matrix is divided into
four, the submatrices produced are square and have dimension that is also a power
of 2. Since M is provided implicitly, each of its submatrices can be stored implicitly.
For this, we need merely record the matrix coordinates (indices) of the top left and
bottom right elements (actually, the latter can be computed from the former using
the submatrix dimension). The multiset T required on each iteration of the for loop
is easy to construct because of the fact that M is sorted. Note that since M is
sorted, all of its submatrices are also sorted. Consequently, the largest element of
each submatix is in bottom right corner and the smallest is in the top left corner.
These elements can therefore be determined in constant time per matrix of S.
Theorem 3 : [4] The number of feasibility tests F performed by procedure PSEARCH
when started with S = {MI), AM an n x n sorted matrix that is provided implicitly
is O(log n) and the total time spent obtaining the candidates for feasibility test is
0(n). O
Corollary 1 : Let t(n) be the time needed to determine if F(x) is feasible. The
complexity of PSEARCH is O(n + t(n) log n). 0
For some of the algorithms we describe later, PSEARCH will be initiated with
IS > 1 (i.e., S will contain more than one M matrix initially; all matrices in S will
still be of the same size). To analyze the complexity of these algorithms, we shall use
the following theorem and corollary.
Theorem 4 : [4] If PSEARCH is initiated with S containing m sorted matrices, each
of dimension n, then the number of feasibility tests is O(logn) and the total time
spent obtaining the candidate values for these tests is O(mn). 0
Corollary 2 : Let t(n) be as in Corollary 1. The complexity of PSEARCH under the
assumptions of Theorem 4 is O(mn + t(n) log n). 0
While we have described PSEA RCII under the assumption that the matrices of
candidate values are square and of dimension a power of 2, parametric search easily
handles other matrix shapes and sizes. For this, we can add more rows at the top and
columns to the left so that the matrices become square and have a dimension that is
a power of 2. The entries in the new rows and columns are 0. This does not affect
the asymptotic complexity of PSEARCII. Alternatively, we can modify the matrix
splitting process to partition into four roughly equal submatrices at each step. The
details of these generalizations are given in the literature [3, 4, 5, 6].
Procedure PSEARCH is a restricted version of procedure MSEARCHof [4]. An
alternative search algorithm in which the for loop is iterated twice, once with T
being the multiset of the largest values in S and once with T being the multiset of
the smallest values in S is given in Frederickson and Johnson [5, 6]. We experimented
with both the formulations and found that for our stack folding application, the three
iteration formulation of Figure 2.7 is faster by approximately 43%.
2.6 EqualWidth WidthConstrained
To use parametric search to determine the minimum height folding when the
layout width is constrained to be < w, we must do the following:
(1) Identify a set of candidate values for the minimum height folding. This set must
be provided implicitly as a sorted matrix with the property that each matrix
entry can be computed in constant time.
(2) Provide a way to determine if a candidate height h is feasible; i.e., can the
component stack be folded into a rectangle of height h and width w ?
In this section, for (1), we shall provide an n x n sorted matrix M (n is the
number of components in the stack) of candidate values. For the feasibility test of (2),
we can use procedure Minimize Width of Figure 2.6 by setting h equal to the candidate
height value being tested and then determining if width < w following execution of
the procedure. Since the component stack needs to be normalized only once and since
Minimize Width will be invoked for O(log n) candidate values, the call to Normalize
should be removed from the procedure Minimize Width and normalization done before
the first invocation of this procedure. Also, the remaining code may be modified to
terminate as soon as w folds are made.
Since feasibility testing and normalization each take linear time, from Corol
lary 1, it follows that the complexity of the described parametric search to find the
minimum height folding is O(n + t(n) log n) = O(n + n log n) = O(n log n).
To determine the candidate matrix M, we observe that the height of any layout
is given by
ri + E hq + rj+1
q=i
for some i,j, 1 < i < j < n. This formula just gives us the height of the segment
that contains components Ci through Cj. Define Q to be the n x n matrix with the
elements
ri+ i hq + rj+,,l I < j < n
Qij =
O,i >j
Then for every value of w, Q contains a value that is the height of a minimum height
folding of the component stack such that the folding has width < w. From Theorem
2, it follows that
Qij < Qi,j+l,1 < i < n, 1 < j < n
Qij Qi+,j, 1 < i < n, 1 < j < n
Let Mij = Qni+l,j,1 < i < j < n. So, M is a sorted matrix that contains all
candidate values. The minimum Mij for which a width w folding is possible is the
minimum height widthw folding. We now need to show how the elements of M may
be computed efficiently given the index pair (i,j). Let
Hi= Yh, 1
j=1
and let Ho = 0. We see that
Sri + [, Ilii + rj+,i < j
Qil =>
0,i >j
and so,
Sri+l + llj fln; + rj+, i + j n + 1
Mi, =
0,i+j
So, if we precompute the His each Mij can be determined in constant time. The
precomputation of the His takes O(n) time. Hence, the overall complexity of the
parametric search algorithm to find the minimum height folding remains O(n log n).
We note that our O(n log n) algorithm is very similar to the O(n log n) algorithm
of [5] to partition a path into k subpaths such that the length of the shortest subpath
is maximized. The differences are that
(1) We need to normalize the component stack before parametric search can be
used. and,
(2) The definition of Mij needs to be adjusted to account for the routing heights ri
and rj+l needed at either end of the stack.
[5, 6, 3, 4] present several refinements of the basic parametric search technique.
These refinements apply to the equalwidth widthconstrained problem just as well
as to the path partitioning problem provided we start with a normalized instance and
use the candidate matrix M defined above. These refinements result in algorithms of
complexity O(n log log n), O(n log* n), and O(n) for our component stack problem.
2.7 Experimental Results
The four parametric search algorithms for the equalwidth heightconstrained
problem were programmed in C and run on a SUN 4 workstation. For comparison
purposes, the O(n3) dynamic programming algorithm of Paik and Sahni [21] was also
programmed. The run time performance of these five algorithms is given in Table 3.
These times represent the average time for ten instances of each size.The component
heights were obtained using a random number generator. The four parametric search
algorithms did not exhibit much run time variation among instances with the same
number of components. The algorithm of Paik and Sahni [21] takes much more time
than each of the parametric search algorithms. Within the class of parametric search
algorithms, the O(n log n) one is fastest in the tested problem size range. This may
be attributed to the increased overhead associated with the remaining algorithms.
The O(n log n) algorithm is recommended for use in practice unless the number of
components in a stack is very much larger than 4096.
Table 2.3. Run times of equalwidth widthconstrained algorithms
n [7] O(nlogn) O(nloglogn) O(nlog*n) O(n)
16 4.9 1.47 2.28 1.49 1.52
64 314.7 8.84 15.75 27.14 26.71
256 23255 45.96 76.55 169.58 169.42
4096 1041.90 2148.60 2597.75 2760.25
Times are in milliseconds
2.8 Conclusions
We have shown that the equalwidth heightconstrained and equalwidth width
constrained stack folding problems can be solved by applying the greedy method and
parametric search, respectively, if the input is first normalized. Normalization can be
done in linear time. Hence the overall complexity is determined by that of applying
the greedy method or parametric search to the normalized data.
We have developed a linear time algorithm for the equalwidth heightconstrained
problem. This compares very favorably (both analytically and experimentally) with
the O(n2) dynamic programming algorithm of Paik and Sahni [21].
For the equalwidth widthconstrained problem we have developed four algo
rithms of complexity O(n log n), O(n log log n), O(n log*n), and O(n), respectively.
All compare very favorably with the O(n3) dynamic programming algorithm of Paik
and Sahni [21]. Experimental results indicate that the O(nlogn) algorithm performs
best on practical size instances.
CHAPTER 3
STANDARD AND CUSTOM CELL FOLDING
3.1 Introduction
Standard cell and gate array design styles are characterized by a row (column)
organization of the layout. The layout area is divided into a number of parallel rows
separated by routing channels as shown in Figure 3.1. The layout problem is generally
divided into two independent subtasks: placement and routing. In the placement step
the appropriate locations and orientations of the standard cells are decided. In the
routing step, the required connections are added.
One approach to placement is linear ordering with folding [26, 13, 2]. In this
approach, the placement is divided into two distinct steps. The first is linear ordering
in which an order of the modules is determined so as to minimize the connection
length or minimize maximal density of connections for modules positioned in one
line. The folding step maps the linear order into the row structure of the chip.
The linear ordering problem is NPhard and heuristic strategies are discussed in [26]
to minimize the connection length as well as maximal density of connections. The
greedy strategy is adopted in [26] for folding the ordered modules.
In this paper, we consider only the second step of the placement approach just
described. We begin with an ordered component list C1, C2,..., C and develop
I I I I
cl
I Ok
Ck+1
C ftc+1)
C  Standard cell row
Ci+1
Routing channel
Channel Height
Cn
Figure 3.1. Standard cell Architecture
algorithms to fold this list into rows. If the list is folded at Ci, then the component
Ci is in one row and Ci+l is in the next. If the list is folded at Ci and Cj and
at no component Ck for i < k < j, then components Ci+i,...,Cj are in the same
row. Suppose the list is folded at Ci. The channel height needed between the rows
containing Ci and Ci+1 may be estimated [8] using the number of nets that have a pin
in one of the components CI,..., Ci as well as in one of the components Ci+1,..., Cn
Let this height estimate be li, 1 < i < n. Let 1, = 0.
We study the following folding problems:
1. Standard cell folding to minimize total routing channel area subject to a chip
width constraint W. Since each routing channel has the same width, the chip
area assigned for routing is minimized when the sum of the channel heights is
minimized. This problem is solved in O(n) time using dynamic programming
(Section 3.2.1). Note that whenever we use the term chip area, we could instead
use subchip area.
2. Standard cell folding to minimize chip area subject to a chip width constraint
W. In this problem both routing area. and the area assigned for the components
is considered. Since the chip width is fixed at W, area minimization is equivalent
to minimizing chip height. In Section 3.2.1, we use dynamic programming to
obtain an O(n) algorithm for this problem.
3. Standard cell folding to minimize total routing area subject to a total routing
channel height constraint Ii. This problem differs from problem 1 only in that
the total height of the routing channels is fixed at H, and their width is variable
rather than the routing channels having variable total height and fixed width
W. In Section 3.2.2, we show how to solve this problem in O(n log n) time.
4. Standard cell folding to minimize chip area subject to a chip height constraint
H. This problem is solved in O(n log n) time in Section 3.2.2.
5. Standard cell folding using equal height channels of width W. We are to find
a folding that uses channels of minimum height. Among all such foldings, one
that uses the fewest number of routing channels (and hence fewest number of
component rows) is to be found. In Section 3.3.1, we develop an O(n log n) ex
pected time algorithm for this problem. However, for most practical instances,
the algorithm has run time O(n).
6. Standard cell folding using equal height routing channels of width W. Find a
folding that minimizes the total chip area. This can be done in O(n2) time (see
Section 3.3.2).
7. Standard cell folding using equal height channels and a chip of height H. The
folding should minimize the total chip area. Our algorithm for this problem
can be found in Section 3.3.3. Its complexity is O(n2).
8. Custom cell folding to minimize total chip area subject to a chip width W.
Note that in standard cell layout, all cells/components/modules have the same
height and may have variable widths. In custom cell layout, the cells may differ
in both height and width. We assume that the cell row height is set to be the
height of the tallest cell assigned to that row. In Section 3.4.1, we develop an
O(n log n) algorithm for this problem.
9. Custom cell folding to minimize total chip area subject to a chip height con
straint H. We solve this problem in Section 3.4.2 using an algorithm of com
plexity O(n log2 n).
We note that problem 8 has been studied previously in [21] in the context of bit
slice stack folding. The algorithm developed there has complexity O(n2) while ours
has complexity O(n log n). Problem 9 has also been studied in [21]. Our O(n log2 n)
algorithm is an improvement over the O(n2 log n) algorithm developed in [21].
3.2 Standard Cell Folding (Problems 14)
Our discussion of problems 14 is divided into two parts. In Section 3.2.1, we
consider problems 1 and 2. In both these, the chip width and hence the cell and
routing channel widths are fixed at W. In Section 3.2.2, we consider problems 3 and
4 in both of which the chip height is fixed at H. In all four problems, the routing
channels have variable height. Each cell and hence each cell row has height h. The
width of cell i is wi, 1 < i < n. Let wij = E=i. wk, 1 < i < j < n. In case of fixed
chip width W, we may assume that wi < W, 1 < i < n.
3.2.1 Width Constrained Case (Problems 1 and 2)
We first consider problem 1. In this, we are to minimize the total routing area.
Since the channel widths are fixed at W, it is sufficient to minimize the sum of
channel heights. Suppose that Ci,..., Cn is folded at Ci in an optimal folding X.
Then the folding of C1,..., C, in X as well as that of Ci+l,..., C, must be minimum
area foldings. Hence, the principle of optimality holds and we can use dynamic
programming [10].
Let f(i, s), i < s, denote the minimum sum of channel heights when the com
ponent list Ci,..., C, is folded such that Ci,..., C, are in one cell row and the first
fold is at C, (so, C,+, is in the next cell row). It is easy to see that f(n,n) = 1, = 0.
For 1 < s
0o if w1s, > W
f(i,s) = (3.1)
f(i + 1,s) otherwise
Also, for 1 < i = s < n, we get
f(i,i)= min {f(i+ l,q)+ l} (3.2)
i
The solution to problem 1 is obtained by first using Equations 3.1 and 3.2 to
determine f(i,s), 1 < i < s < n and then determining the minimum of f(1,j),
1 < j < n. The wi,'s may be precomputed in O(n2) time. Each f(i,s), i < s takes
0(1) time to compute and f(i,i) takes O(n i) time. Hence, all the f(i,s)'s, i < s
may be obtained in O(n2) time. The minimum of the f(1,j)'s can be obtained in
O(n) time. So the overall time needed to solve problem 1 using Equations 3.1 and
3.2 is O(n2).
A more careful implementation of the dynamic programming algorithm results
in a complexity O(n). First we compute the suffix sums
n
Qi = :vj, 1 < i < n
j=i
in O(n) time. Let Q,+1 = 0. From the suffix sums, each wi, can be computed in
0(1) time using
wi, = Qi Q.C+
Next, from Equation 3.1 we see that for i < s and ws, < W:
f(i,s) = f(i + 1,s) = f(i + 2, s) = ... = f(s,s) = F(s)
So, Equation 3.1 becomes (for i < s)
00 wi., > IV
f(i,s) = (3.3)
F(s) otherwise
Using Equation 3.3, Equation 3.2 may be rewritten as:
F(i) = f(i,i) = min {f(i + 1,q) +)
i
= mmin {F(q) + l}
i
= +min I{F(q)} (3.4)
i
The minimum total routing height needed is
min { F(i)} (3.5)
1
So, problem 1 may be solved by computing the n F(i)'s using Equation 3.4
(rather than the O(n2) f(i, s)'s using Equations 3.1 and 3.2) and finding the minimum
of O(n) F(i)'s in Equation 3.5. To compute the F(i)'s using Equation 3.4, we begin
with F(n) = 0 and compute F(n 1), F(n 2),..., F(1), in that order. To compute
an F(i) we need to find the minimum of a multiset Si of previously computed F's.
Specifically,
Si = {F(q) I1 < q < n and wti+,q < W}
Observation 1 : If wj+,,q > W, then wi+1,q > W for i < j. Hence, if F(q) Sj, then
F(q) V Si for i j. 1
From Observation 1, it follows that Si1 may be computed from Si, 1 < i < n
by eliminating those F(q)'s for which wi,, > W and adding in F(i) (note that, by
assumption, wi = wii < W).
Lemma 1 : If F(a) E Si, F(b) E Si, F(a) < F(b), a < b, then we may eliminate F(b)
from Si and continue to compute Si1, Si2, S as described above. This does not
affect the values of F(i 1),..., F(1).
Proof : Note that F(j), j < i is being computed using the equation
F(j) = l, + min { F(q) }
F(q)ESi
If F(b) is eliminated from Si, the value of F(i) is unaffected as F(a) < F(b). If F(a)
is eliminated from Sj, j < i because wj+,,a > W, then F(b) would also be eliminated
as a < b and so wj+l,b > Wj+l,a > W. If F(a) is eliminated because there is a
F(c) < F(a), c < a, then so also will be F(b) be eliminated as F(c) 5 F(a) < F(b)
and c < a < b. 0
Observation 1 and Lemma 1 motivate us to maintain S as a sequential queue
[11] in an array Result[1..n]. Result[i].q and Result[i].F together represent an entry
of S yielding the value F(q). The elements of S are stored in positions tail, tail +
1, head of array Result. The F(q) values are in descending order lefttoright.
J.7
Hence, the q values are in ascending order. Procedure MinimizeHtStandard (Figure
3.2) is the resulting algorithm.
Theorem 5 : The procedure MinimizelHtStandard given in Figure 3.2 is correct.
Proof : There are two parts to the working of procedure MinimizeHtStandard. The
first one is computing F(i), in which deletions of F(.)'s can occur. The second one
is inserting the computed F(i) at the appropriate place in the array.
The procedure maintains the following invariant at the start of each iteration of
the for loop.
Invariant: Result[tail].F > Result[tail + 1].F > ... > Result[head].F
It is clearly true when i = n 1 as head = tail.
The invariant is true at the start of the iteration and so Result[head].F is
the minimum maintained F(.) value. The component number is maintained in
Result[head].q. We check whether Q[i + 1] Q[Result[head].q + 1] > W and if
so by virtue of Observation 1, we can eliminate this value. We do so by decrementing
the head pointer. We keep repeating this until we find a record k = Result[head].q
such that BR[i + 1] BR[k + 1] < W. This record pointed to by head has the min
imum of the maintained F(.) values. We compute F(i) and store it in temp. Notice
that at the end of the while loop, we have deleted a few F(.)'s and the invariant
property still holds.
The invariant holds before the start of the second while loop. Here we start
at tail. If the inequality is true, then we delete the record and this is justified by
Lemma 1. We keep doing so until temp > Result[tail].F. Then we decrement the
Procedure MinimizeHtStandard;
{ Compute the minimum height layout}
{ Initialize S, = {F(n) = 0 } }
head := n; tail:= n;
Result[tailj.F := 0; Result[tail].q = n;
{ Compute F(i) }
for i := n 1 downto 1 do
begin
{ Compute S, }
while (Q[i + 1] Q[Result[head].q + 1] > W) do
head := head 1; {delete from Si+l, Observation 1 }
temp:= l[i] + Result[head].F; {Use min F in Si to compute F(i)}
while (temp < Result[tail].F) do { delete using Lemma 1 }
tail:= tail+ 1;
{ Store F(i) }
tail := tail 1;
Result[tail].F := temp;
Result[tail].q := i;
end; { of for }
while (Q[1] Q[Result[head].q + 1] > W) do
head := head 1;
MinimizeHtStandard := Result[head].F;
end; { of MinimizelHtStandard }
Figure 3.2. Procedure to obtain a minimum height folding
tail pointer and store the temp record. So, the invariant holds at the end of the
iteration. Consequently, the invariant holds at the start of each iteration of the for
loop and the F's are correctly computed.
The minimum height layout is the minimum of the maintained F(.) values that
satisfy the width constraint, i.e Q[1] Q[Result[head].q + 1] < W. The last while
loop of the procedure take care of this fact. The last line of procedure computes the
MinimizeHtStandard, which is the minimum height layout. 0
Whenever the pointers head or tail are advanced in the while loops, we delete
F(.) values. This cost can be charged towards deletion of F(.) values. The remaining
code within the for loop takes O(n) amortized time. The complexity of the procedure
MinimizeHtStandard is clearly O(n) as no more than n deletions can take place.
Using standard dynamic programming traceback techniques [101, the fold points can
be obtained in additional O(n) time.
Problem 2, i.e, minimize total area rather than just routing area may be done
in a similar way. Let f(i, s), i < s now denote the minimum chip height for the
component list Ci,..., Cn assuming the first fold is at s. As before f(n, n) = 0 and
Equation 3.1 holds for i < s. Equation 3.2 needs to be replaced by
f(i,i) = min {f(i + 1,q) + li + h (3.6)
i
Using Equations 3.1 and 3.6 and the development for problem 1, an O(n) time
algorithm for problem 2 may be obtained.
3.2.2 Height Constrained Case (Problems 34)
The solutions to problems 3 and 4 are similar. Both use parametric search and
we describe only the solution to problem 3. Since the total height of the routing
channels is fixed at H, the area assigned for routing is minimized by minimizing the
chip width W. To use parametric search to minimize W, we must do the following:
1. Identify a set of candidate values for the minimum W. This set must be pro
vided as a sorted matrix with the property that each matrix entry can be
computed in constant time.
2. Provide a way to determine if a candidate width W is feasible, i.e, can the
component stack can be folded using total channel height H and width W ?
For the feasibility test of 2, we can use procedure MinimizeHtStandard of Figure 3.2 by
setting W to the candidate value being tested and then determine if MinimumHtStandard <
H following the execution of the procedure.
Next, we provide an n x n sorted matrix M (n is the total number of components
in the component list) of candidate values. To determine the candidate matrix M, we
observe that the width of any layout is given by >,= wi for some i,j, 1 < i < j < n.
This formula gives us the width of the segment that contains components Ci through
Cj. M is a sorted matrix that contains all candidate values. The minimum Mij for
which a height H folding is possible is the minimum width heightH folding. We now
show how the elements of M may be computed efficiently given the index pair (i,j).
Let
n
Ti= Ewi,l < i < n
j=i
and let Tn+j = 0. Then,
STi+ T+, i + j > n +1
Mi3 =
,i i+ j
So, if we precompute the Ti's each Mij can be determined in constant time.
The precomputation of the Ti's takes O(n) time. Since feasibility testing takes linear
time, from Corollary 2, it follows that the complexity of the described parametric
search to find the minimum width folding is O(n + t(n)log n) = O(n + nlog n) =
O(n log n).
3.3 Standard Cell Folding (Problems 57)
In this section, we deal with layouts which have fixed channel area, e.g, semi
custom chips in which each routing channel is of the same height.
3.3.1 Minimum Channel Height (Problem 5)
We may view the result of any width W folding as the transformation of the
component list C1,..., C into a new component list B1,..., Bk, k < n where B1
represents the components folded into row i of the layout. The width of each Bi
equals the sum of the widths of the components assigned to cell row i and this is
< W. Also, the routing channel between rows i and i + 1 must have height at least
equal to lj, where Cj, is the last component assigned to cell row i. We see that
i
width(Bi) = E wj
j=j'i +1
and height of channel(i) > 1i,
where jo = 0. When channel heights are the same, the height must be at least
maxl
With this knowledge, we can develop a greedy algorithm to minimize channel
height. In this, we repeatedly combine together pairs of components (this is equivalent
to assigning them to the same cell row or Bi) so that no created component has width
greater than W. The pairs are chosen in nonincreasing order of li. The greedy
algorithm is given in Figure 3.3. Each set of combined components is represented by
a pointer, last, from the first component to the last and another pointer, first, from
the last component to the first. The width of the combined component is kept in the
first elementary component of the combined component.
In the algorithm of Figure 3.3, we initialize the combined component blocks to
consist of elementary components in the first for loop. The sort gives us the order
in which the l's are to be "eliminated" so that the maximum of the remaining I's
is the minimum. In the while loop l's are eliminated by combining blocks. This
is done until the next highest l (we assume that E wi > W so it is not possible to
eliminate all l's). The highest remaining I is l[p[i]] and this is the smallest channel
height needed.
Procedure MinChannelHeight;
for i := 1 to n do {intialize component blocks }
begin
first[i] := i; last[i]:= i;
end;
Sort p[1..n] = [1,2,...,n] so that
l[p[iJ] > l[p[i + 1]], 1 < i < n
i := 1;
while( width[first[p[ij]] + width[p[i] + 1] < W ) do
begin
width[first[p[i]]] := width[first[p[i]]] + width[p[i] + 1];
first[last[p[i] + 1]] := first[p[i]];
last[first[p[i]] := last[p[i] + 1];
i := i +1;
end;
MinChannelHeight:= l[p[i}];
end;
Figure 3.3. Procedure to obtain a minimum channel height folding
The correctness of the procedure is easily established. For its complexity, we
see that except for the sort step, the others take O(n) time. The sort can be done
in O(nlogn) time. However, in practice, max{/i} min{l,} = O(n) and the sort
can be done in O(n) time using a radix sort with radix O(n) (i.e., a bin sort) [11].
One may also verify that the minimum number of cell rows needed is obtained by
doing a greedy folding on the combined components that remain when procedure
MinChannelHeight.
3.3.2 Minimize Chip Area Subject to Width Constraint (Problem 6)
First, consider a modified version of problem 6 in which in addition to the chip
width W, we are given the height L of each routing channel. We are to fold the
components so as to minimize the total chip area. To solve modified problem 6 in
linear time, we first make a pass over all the components and combine components C,
and Ci+l if 1i > L. If any component that results has width > W, L is an infeasible
channel height. Following the combining of blocks in this way, the resulting blocks
are packed into cell rows in a greedy manner (i.e., a new cell row is started only if
the component being placed does not fit in the current cell row). The fact that this
minimizes the number of cell rows and hence chip area is easily verified.
Problem 6 can be solved using the solution to modified problem 6 by trying
out all O(n) possible values for L (i.e., the distinct li's) and seeing which minimizes
overall area. (Actually only li's that are no less than the minimum feasible L as
determined by problem 5 need be tried). The resulting complexity is O(n2).
3.3.3 Minimize Chip Area Subject to Height Constraint (Problem 7)
As for problem 6, we define a modified problem 7 in which the channel height L
is known. This modified problem is solved using parametric search. The candidate
values are described by the same M matrix as used in Section 3.2.2. The solution
to modified problem 6 is used for the feasibility test. This enables us to solve the
modified version of problem 7 in O(n log n) time. Now, by trying out all O(n) possible
L values (as in Section 3.3.2) the minimum area folding can be determined. The
overall time complexity is O(n2 log n).
3.4 Custom Cell Folding (Problems 8 and 9)
In this section, we relax the requirement that all components have the same
height h. Let hi be the height of Ci. If C,, . Cj are assigned to the same cell row
and no other components are assigned to this row, then the cell row height is
max{ h }
i<_q
The height of the folding is the sum of the heights of the cell rows and routing
channels.
3.4.1 Width Constrained Folding (Problem 8)
Since the chip width is fixed at W, chip area is minimized by minimizing chip
height. Let Rj = max
height into which Ci,..., C, can be folded such that the first fold is at C,. Following
Procedure MinimizeIHtCustom;
{ Compute the minimum height folding}
head := n; tail:= n; left := n; right := n;
for i := 1 to n do
Hlist[i].gvalue := oo;
Flist[tail].q := n; Flist[tail].F = 0;
Hlist[n].top:= tail; Hlist[n].bottom := tail;
Hlist[n].hvalue:= h[n];
Hlist[n].gvalue := Hlist[n].hvalue + Flist[Hlist[n].top].F;
InitializeWinnerTree(T);
for i := n 1 downto 1 do
begin
DeleteValue(i);
Insert Value(i);
end;{of for }
Delete Value(0);
MinimizeHtCustom := Winner of the Tree T;
end; { of MinimizelHtCustom }
Figure 3.4. Procedure to obtain a minimum height folding for custom cells
the development of Section 3.2.1, we see that f(n, n) = h, and for i < s,
00 if wi, > W
f(i,s) = (3.7)
f(s, s) + Rs h5, otherwise
and for i = s,
f(i, i) = min { f(i + 1, q) + h + i} (3.8)
i
The minimum height into which the folding can be done is mini
As described in Section 3.2.1, the set of dynamic programming equations can be
solved in O(n2) time. However, the development of Section 3.2.1, that results in an
O(n) time solution does not apply to the new set of equations. Instead, we are able
to solve problem 8 in O(n log n) time.
Define F(i) = f(i, i) hi. Substituting into Equation 3.7, we get
00oo if Wi, > W
f(is) = (3.9)
F(s) + R,, otherwise
From Equation 3.8, we get
F(i) = f(i,i) h = min {f(i + 1, q)} + 1
i
= lj+min{f(i+1,i+1), min {f(i+1,q)}}
i+l
= i + min{F(i + 1) + hi+l, min {F(q) + Ri+,q}}
i+l
= / + min {F(q) + Ri+,q} (3.10)
i
The height of the minimum height folding is
min w{F(i) + R,} (3.11)
l
Beginning with F(n) = f(n, n) h, = 0, the remaining F's may be computed,
in the order F(n 1), F(1), by using Equation 3.10. To use Equation 3.10, we
keep a multiset Si of F values as in Section 3.2.1. We begin with S, = {F(n)} and
rewrite Equation 3.10 as :
F(i) = li + min {F(q) + Ri+i,q} (3.12)
F(q)ESi
Observation 1 of Section 3.2.1 applies to Equation 3.12 and we may eliminate
from Si any F(q) for which wi+l,q > W.
Observation 2 : Ri, Rii,,q > > Ri,i, 1 < i < q 5 n.
Using Observation 2 and Equation 3.12 we can show that Lemma 1 applies for
the computation of the F's as defined in this section.
Observation 3 : If hj > hq and i < j < q, then Riq 0 hq. Also, if hi > hj+, and
i < j then Rj = Ri,j+l.
Now, we devise a method to find the minimum in Equation 3.12 efficiently. We
store the F(.) values in an array of records called Flist. Each Flist record has two
fields, Flist.q and Flist.F. Flist.F = F(Flist.q), ie, say F(8) = 50 then there is a
record which has Flist.q = 8 and Flist.F = 50. There are two pointers, head and
Procedure Delete Value(i);
{ Delete F(l) such that wi+ll > I }
done:=false; bool:= false;
while (not done) do
if (Q[i + 1] Q[Flist[Hlist[right].top].q+ 1] > W) then
{Delete this F(.) value)
Hlist[right].top = Hlist[right].top 1;
head = head 1;
bool := true;
if (Ilist[right].top < Hlist[right].bottom) then
{ Make this record inactive }
Hlist[right].gvalue := oo;
Adjust WinnerTree(T, right);
right := right 1; bool := false;
end; {of if}
else done := true;
end;{of if}
end;{of while}
if bool then
Hlist[right].gvalue := Hlist[right].hvalue + FlistHlist[right].top].F;
Adjust WinnerTree(T, right);
end;{of if}
end; { of Delete Value )
Figure 3.5. Procedure to delete F(.) values as in Observation 3
tail that are used. Initially, head = tail = n. At any point, the head and tail have
values such that head > tail and F(tail) > F(tail + 1) > ... > F(head). This data
structure is same as the one used in Section 3.2.1.
When computing F(i) we need to associate F(q) values with Ri+,q values and
then generate values F(q) + Ri+i,q, and find the minimum of these values. Suppose
hq > hq+i then Riq = Ri,q+l from Observation 3. Associate the values F(q) and
F(q + 1) with Ri,q in this case. In general, if Ri,q = Ri,q+l = Ri,q+2 = ... = Ri,t,
then we have a single Hlist record with hq value and associated with it the values
F(q),F(q + 1),..., F(I). Note that the F(.) values must satisfy the condition :
F(q) > F(q + 1)... > F(l). Otherwise the F(.) values which violate the condition
can be removed as in Lemma 1 by doing a left to right scan. We use an array of
records Hlist of size n with fields Hlist.hvalue representing the height, Hlist.top and
Hlist.bottom the two pointers which keep track of the F(.) values associated with this
record. The top and bottom pointers point to the F(.) values satisfying the condition:
Flist[Hlist.top].F < Flist[Hlist.top 1].F < ... < Flist[Hlist.bottom].F. That is,
Flist[Hlist.top].F is the minimum F(.) value associated with this record. Note that
every F(.) value is associated with a unique Hlist record. We generate the value
Flist[Hlist.top].F+ Hlist.hvalue (which is F(q) + Ri,q) and store it in Hlist.gvalue
(generated value). These generated values are used to construct a winner tree T (see
Horowitz and Sahni [11]).
The winner of the tree T is the minimum we are looking for when computing
F(i). Let a Hlist record be active if Hlist.gvalue # oo. The pointers left and right,
left < right, are used to point to the currently active list of Hlist records. Hlist[left]
is the leftmost active record and Hlist[right] is the rightmost active record.
The procedure MinimizeHltCustom is given in Figure 3.4. The pointers are
initialized and the winner tree T initialized. In the procedure DeleteValue(i), the
F(l) values that satisfy the conditions in Observation 1, i.e., F(l) values such that
wi+1,i > W are deleted. Let Q[j] = wj + wj+l +... + w,.
The procedure Delete Value is given in Figure 3.5. The boolean bool keeps track
of whether a Hlist record has been made inactive. If so, it moves the pointer right
to left to point to an active Hlist record. Also, the winner tree T is adjusted to
update the current minimum. The call to function AdjustWinnerTree takes O(logn)
time [11]. Note that the winner tree T is adjusted a maximum of two times whenever
an F(.) value is deleted. Let the number of deletes when DeleteValue is invoked be
x. Then, the time complexity of Delete Value is O(x log n).
The procedure InsertValue(i) first finds the winner of the tree T. This is added
with l[i] to get F(i) as in Equation 3.12. Once we find F(i), we then insert a
Hlist record with Hlist.hvalue = h[i] and the F(.) value is inserted in the array of
Flist records. The winner tree T is then adjusted. In the first while loop of the
InsertValue, conditions of Lemma 1 are checked. If the conditions apply then the
F(.) values are deleted and the winner tree adjusted. Let the number of F(.) value
deletions be y. In the second while loop of the Insert Value, it is checked to see
whether the conditions of Observation 3 apply. If so, the F(.) records of the adjacent
Hlist record is added to the current Hlist record and the record moved. The winner
Procedure Insert Value(i);
left := left 1; tail := tail 1;
Flist[tail].q := i;
Flist[tail].F:= Winner of the Min Tree T + l[i];
Hlist[left].hvalue:= h[i];
Hlist[left].top:= tail; Hlist[left].bottom:= tail;
Hlist[left].gvalue := IIlist[left].hvalue + Flist[IIlist[left].top].F;
Adjust WinnerTree(T, left);
while (head $ tail and Flist[tail].F < Flist[tail+ 1].F) do
Hlist[left + 1].bottom := Hlist[left + l].bottom + 1;
if (Hlist[left + 1].bottom > llist[left + 1].top) then
Hlist[left + 1] := Hlist[left]; { Move the record }
Hlist[left].gvalue := oo;
AdjustWinnerTree(T, left);
left := left + 1;
end; {of if}
Flist[tail+ 1] = Flist[tail]; { Move the record }
tail tai= tail+ 1;
Hlist[leftj.top:= tail; Illist[left].bottom:= tail;
end;{of while}
while (left / right and Hlist[left].hvalue > Hlist[left + 1.hvalue) do
{Conditions of Observation 3 apply}
Hlist[left].top := Illist[left + 1].top;
Hlist[left + 1] := Hlist[left]; { Move the record }
Hlist[left].gvalue:= oo;
Adjust WinnerTree(T, left);
left:= left + 1;
Hlist [left].gvalue := Hlist[left].hvalue + Flist[Hlist[left].top].F;
Adjust WinnerTree(T, left);
end;{of while}
end; { of Insert Value }
Figure 3.6. Procedure to Insert F(.) values
tree is then adjusted. Every time, the conditions of Observation 3 apply in the while
loop, we spend O(logn) time. I.e., every time the conditions apply we merge two
adjacent Hlist records. Let the number of merges in a single invocation of Insert Value
be z. The total time taken by a single invocation of InsertValue, assuming y F(.)
values are deleted and z Hlist merges take place is O((y + z + 1)log n) time.
Note that not more than n F(.) values can be deleted in total, and not more
than n Hlist records can be merged in total. This implies that the total time taken
by the procedure Minimize HtCustom is O(n log n). In contrast, the algorithm of [21],
for the same problem takes O(n2) time.
3.4.2 Height Constrained Folding (Problem 9)
To obtain the minimum height folding, given the width of the folding W, we use
parametric search in conjunction with the procedure MinimizeHtCustom developed
in Section 3.4.1. The procedure MinimizelltCustom is used for the feasibility testing.
In feasibility testing, we are given the width,x, of the layout and we test whether it
is possible to obtain a folding such that the height of the folding is < H. The set of
candidate values is the same as the ones described in Section 3.2.2. The feasibility
testing takes O(n log n) time, and from Corollary 2, the total time taken to obtain
the minimum height folding is O(n + n log n log n) = O(n log2 n). The same problem
is solved in O(n logn) time in [21].
Table 3.1. Heights produced by widthconstrained standard cell folding algorithms
3.5 Experimental Results
The procedure MinimizeHlStandard (Figure 3.2) was programmed in C and
run on a SUN 4 workstation. The solution produced by MinimizeHtStandard was
compared with the one obtained using the greedy heuristic of [26].
The data for these programs were produced by having a linearly ordered list of
modules and making interconnections between the modules using a random number
generator. The connections were prioritized so that there is a large number of con
nections between modules which are close together. Our algorithm always produces
better solutions than the greedy heuristic and the results are depicted in Table 3.1.
The results shown are the average of 10 runs for each n. Our algorithm, on the aver
age, took 2 to 3 times more time to arrive at the solution than taken by the greedy
heurisitic.
The algorithm MinimizeHtCustom was programmed and the run times compared
with the algorithm of [21]. The results of the experiments are shown in Table 3.2.
Both the programs were written in C. It is evident that our algorithm is considerably
n Greedy Ours
100 624.4 609.8
400 1979 1961.2
1000 3813.7 3721.2
Table 3.2. Run times of widthconstrained folding algorithms for custom cells
n Ours [21]
64 2.56 23.80
250 10.9 350.3
1000 39.23 6125.5
Times are in milliseconds
superior to that of [21]. Since both algorithms generate optimal solutions, the chip
area is the same using either.
3.6 Conclusions
We have developed optimal algorithms to fold a linearly ordered list of standard
and custom cells. Several optimization constraints were considered. These resulted
in a total of nine problem formulations. Two of these correspond to problem formu
lations for the bitslice stack folding problem studied in [21]. The algorithms we have
developed for these two cases are asymptotically superior to those developed in [21].
Experimentation with one of these shows that the asymptotic superiority of our al
gorithms translates into a much reduced execution time. For the other formulations,
heuristics were proposed in Shragowitz et al. [25]. Our algorithms have accept
able asymptotic complexity and guarantee optimal solutions. In fact, experiments
conducted with one yielded foldings with smaller chip area on all tested instances.
CHAPTER 4
PLANAR TOPOLOGICAL ROUTABILITY
4.1 Introduction
The problem of routing twopin nets on a single layer has been studied previously
by several researchers. The river routing and switch box routing problems are special
cases of this. Efficient algorithms for these can be found in [12, 15, 17, 19, 20,
22, 23, 27, 29, 30]. In this chapter, we are concerned with the problem of routing
(topologically) a collection of twopin nets in a single layer or plane. We refer to
this problem as the TPR problem. The input to the problem is a two dimensional
routing surface with a collection of modules placed in it (Figure 4.1(a)). We assume
that no two modules touch. There are pins on the periphery of the modules. Pins
with the same number define a net and are to be joined by an interconnect or wire.
In topological routing, we are concerned with defining wire paths. However, no
underlying grid is assumed and there is no minimum wire separation requirement.
Thus wire paths can take any planar shape and may run arbitrarily close to each
other. Wires are not permitted to intersect or run over modules. In Figure 4.1(a),
the broken lines indicate wire paths. The routing instance (RI) of Figure 4.1(a) is
topologically routable in a single layer while that of Figure 4.1(b) is not. The TPR
problem for Ris in which all modules lie on the boundary of the routing region (or
59
S2
...... ..2.......... .. .
(a) Planar Routable (b) A non planar routable example
Figure 4.1. A planar routable and a nonplanar routable case
more precisely all pins are on the boundary of the region) was studied in [18, 12, 23].
A simple linear time algorithm for this version of the TPR problem was developed
in these papers. For the case in which none of the modules are on the boundary,
Pinter [23] has suggested using the linear time planarity testing algorithm of Hopcroft
and Tarjan [9]. His algorithm is quite complex. MarekSadowska and Tarng [18] have
considered the TPR problem and several variants which include flippable modules
and multiterminal nets. They develop a linear time algorithm for TPR which is
based on module merging. In this chapter, we present, in Section 3.3, another linear
time algorithm for the general TPR problem that is almost as simple as the one
of [18, 12, 23] for the restricted TPR problem. This algorithm was developed by
Lim [16] but the proof that the algorithm is correct was incomplete. In this section,
we also present an algorithm for definite topological routing. That is, if the instance
is topologically routable we give an algorithm to determine the loose route of the
wires. The TPR algorithm is implemented differently than described in the Section
3.3. The implementation issues are discussed in Section 3.5. Experimental results
presented in Section 3.6 indicate that our algorithm is considerably faster than the
TPR algorithm of MarekSadowska and Tarng [18] particularly if the routing instance
is not planar routable. For the case of multipin nets, we show, in Section 3.4, that
testing for topological routability is equivalent to graph planarity testing and that
finding the maximum number of nets that is topologically routable is NPcomplete.
We also extend our twopin algorithm to handle multipin instances in which the
modules remain connected following the deletion of all nets with more than two pins.
4.2 Preliminaries
To simplify matters, we shall assume that TPR RIs that have modules on the
boundary (Figure 4.2(a)) have been augmented by a set of nets that are required to
be routed on the boundary and that this routing together with the module bound
aries enclose the routing region (Figure 4.2(b)). This augmentation may require the
addition of corner modules (A, B, C of Figure 4.2(b)). This assumption is needed so
that our algorithm can account for the constraint that one cannot route around a
boundary module but can route around all other modules.
A pin segment, P = piP2...pk, is a sequence of pins on the boundary of a
module. pI ... pk appear in this order when the module is traversed counterclockwise
beginning at pi. Some of the pin segments of the modules of Figure 4.3 are: abcde and
gjkH of module 1; MLK and LKJGf of module 3; and AiF of module 2. Let last(P)
and first(P), respectively, denote the last and first pins of segment P. Let net(pi)
denote the net associated with pin pi. Note that two pins pi and pj are to be connected
by a wire iff net(pi) = net(pj). A curve, C = P P2 ... Pj, is a sequence of pin segments
a a
A 1 C
2
3 F4 3 41f
e e
(a) RI (b) Augmented RI
Figure 4.2. Augmentation
Figure 4.3. An example to illustrate some terminology
such that net(last(Pi)) = net(first(Pi+i)), 1 < i < j. A curve, C = P1P2...Pj,
is a closed curve iff net(last(Pj)) = net(first(Pi)). In Figure 4.3, net(pi) is the
lowercase letter corresponding to pi. So, net(h) = net(H) = h. Some of the curves
of Figure 4.3 are Ih Habcdeg Gf FEDCBAi, j JGfM mlh, edcba ABCDE and
ABC cdeg GfM. IhHabcdeg Gf FEDCBAi and edcba ABCDE are closed curves.
With any curve C = P1 P2 ... Pj, we associate j1 (j in case C is closed) wires. These,
respectively, connect the pins last(Pi) and first(Pi+l), 1 5 i < j (and last(Pj) and
first(Pi) in case of a closed curve). Note that the curves, closed curves, and wires
associated with any RI depend only on the modules and the net to pin assignments.
These are not a function of the layout of any of the wires.
For any closed curve C = P P2... Pj we define the following:
module(Pi) ... module corresponding to pin segment Pi
pins(module(Pi)) ... set of all pins on module module(Pi)
pins(Pi) ... set of all pins on segment P;
pins(C) ... set of all pins on curve C = U(Jl= pins(Pi)
extpins(C) ... U[i= pins(module(Pi)) pins(C)
Note, it is possible that module(PT) = module(Pj), for i j.
Lemma 2 : [16] Let I be an RI that contains a closed curve C with respect to which
there are two pins a E pins(C) and b E extpins(C) such that net(a) = net(b). I is
not planar routable.
(a) Original Situiiaflon b) Connect terminalra and b
A
b
D
(c) Rerouting o some net
Figure 4.4. Two possibilities to connect a and b
Proof : Figure 4.4 shows two possibilities. It should be clear that no matter how
the wires of C and the wire (a, b) are laid out, there must be an intersection between
two of these. ]
Lemma 3: [16] Let I be an RI that contains a closed curve C = P1,P2,...,Pj
and another curve R = R1R2 ... Rk such that module(Ri) = module(Pd) for some d,
1 < d < j and first(Ri) E extpins(C) (see Figure 4.5). Assume that there exist two
pins a and b such that a E pins(C), b E extpins(C) Upins(R), and net(a) = net(b).
I is not planar routable.
Proof : Follows from Lemma 2. 0
Two modules are connected iff there is a curve C = P1P2... Pj such that both
modules are in UJi= module(Pi). A connected component (or simply component) is
Figure 4.5. Another not planar routable situation
a maximal set of modules that are pairwise connected. It is easy to see that the
connected components of an RI are disjoint. A boundary component is a connected
component that includes at least one boundary module. Note that an RI with no
boundary modules has no boundary component while an RI with at least one bound
ary module has exactly one boundary component (this is because RIs with boundary
components have been augmented as in Figure 4.2(b)).
Lemma 4 : An RI is topologically routable iff its components are (independently)
topologically routable.
Proof : It is easy to see that if the RI is topologically routable then each of its
components is topologically routable. Assume that each component is topologically
routable. Order the components of the RI so that the boundary component is first.
The remaining components are in arbitrary order. Let the components in this order
be K1, K2,..., Kk. If k = 1, then nothing is to be proved. So, assume K > 1. We
shall show how to construct a topological routing for K1, K2..., Ka from a topological
El 0 0 0i 0
0 F 0 O
(ap Module E Ka (b) Spanning tree
o Module Ka
(c) Envelope
Figure 4.6. Constructing the envelope of a component
routing for Ki,..., Ka1 and Ka, 2 < a < k. First since a > 1, Ka is not a boundary
component. So, it is possible to surround it by a closed non self intersecting line
such that the region enclosed by this line includes exactly those modules that are
in Ka and no module touches the line. The region enclosed by this closed line has
the property that any two points in the enclosed region can be joined by a line (not
necessarily straight) that lies wholly within the region. We refer to the surrounding
line as the envelope of Ka. One way to obtain an envelope of Ka is to first construct
a set of II 1 (1Ka is the number of modules in Ka) lines (not necessarily straight)
so that modules of KI together with these lines form a connected component in the
graph theoretic sense (see Figure 4.6). These lines do not touch or cross any of the
modules of RI. This construction can be done as every pair of modules of an RI can
(a) Intersections (b) Rerouting
Figure 4.7. Rerouting to free independent component
be can be connected by such a line. The lines and modules define a spanning tree for
Ka. By fattening the lines as in Figure 4.6(c), the envelope is obtained. It is easy
to see that if IK is topologically routable, then it is topologically routable with the
defined envelope. So, use such a topological routing for K,. When this routing is
embedded into the routing for K1,..., KJ1 some of the topologically routed wires
of K1,..., Ka may intersect (or touch) the envelope of K,. However, none of these
wires originate or terminate in the envelope of K,. So, these can be rerouted following
the contour of the envelope (Figure 4.7). 0
As a result of Lemma 4, we need concern ourselves only with the case when the
RI has a single component.
4.3 The Algorithm
Our algorithm to obtain a topological routing of a component uses Lemmas 2
and 3 to detect infeasibility. The algorithm is given in Figure 4.8. As stated, it
only produces an ordering of the wires such that when the wires are topologically
Algorithm Testing.Planar Routability
Step 1: Let m be any module of the component and let p be any pin of m.
Step 2: Examine the pins of m in counterclockwise order beginning at pin p. When
a pin q is being examined compare net(q) and net(r) where r is the pin (if any)
at the top of stack A. If stack A is empty or net(q) : net(r) then add q and
the remaining pins of m to the top of stack A. Otherwise output (q, r) and
unstack r from A.
Step 3: If both stack A and B are empty, then terminate.
Step 4: Let r be the pin at the top of stack A. Let s be the pin such that
net(r) = net(s).
(a) If s is at the top of the stack B, then [output (r, s); unstack r from A and
s from B; go to start of Step 3].
(b) If s is in stack B but not at the top, then [output("The RI is not planar
routable"). Terminate].
(c) If s is in stack A, then unstackk r from A; add r to stack B; go to the
start of Step 4].
(d) If s is in neither of the stacks then [ set p to s; let m be the module
containing s; go to Step 2].
Figure 4.8. Topological routing.
routed, one at a time, in this order, then there is always a path between the two
end points of the wire currently being routed such that this path does not intersect
previously routed wires or cross any of the modules. This is sufficient to obtain the
actual topological routing.
Our algorithm employs two stacks A and B. Stack A maintains a pin sequence
that defines a curve of the RI. Stack B is used to retain pins that define closed curves
with respect to a (sub) curve on stack A. We describe the working of the algorithm
1Dc cDc
E d. 4 a4
*h2 U A 2 H
FE 3E
(a)Example RI (b)A possible topological routing
Figure 4.9. Example RI
with the aid of an example (Figure 4.9(a)). There are four modules 1 4 and 16 pins
a h and A H. net(p) = p if p is a lowercase letter and net(p) = lowercase(p) if
p is an uppercase letter. Suppose we begin in step 1 with m = 3 and p = B. Then
in step 2, BAFEC get stacked, in that order on to stack A. This corresponds to
the curve of Figure 4.10(a). Pin c is in neither of the stacks and in step 4(d), we set
m = 1, p = c, and go to step 2. In this step, the wires Cc, Ee and Ff are output
for routing. The pins g and D are put on the top of stack A. The curve traced so
far is shown in Figure 4.10(b). The routed wires are also shown as a curve. Note
that these wires have to be routed using the procedure findroute, otherwise they
can enclose a nonempty region. The curve is extended to module 2 and stack A has
configuration BAghb. The wire Dd is output for routing. The curve has the form as
shown is Figure 4.10(c). The curve cannot be extended further as both end points
of wire Bb are on the stack. This means that we have detected a closed curve of the
BAFEC BAFECcefgD
(a) (b)
BAFEC c efgD d hb
BAFECcefgDdhb 0
Ha
(c) (d)
Figure 4.10. Illustration of the routing sequence
RI. The detected curve is that of Figure 4.10(c). We defer the routing of Bb until we
have verified emma 2 and 3 for this closed curve. The deferment also ensures that
the current topological routing does not contain a closed line. If Bb were routed now,
then the wires Bb, Cc, and Dd together with the boundaries of modules 1, 2, and
3 would define a closed line that encloses a nonempty region. This could result in
future routing problems as there would be no path between a point in the region and
one that is outside the region. For example, if the routing of Figure 4.11 is used, then
there is no path between a and A as a is in the enclosed (shaded) region while A is
outside of it. The routing of Bb is deferred by saving b on stack B. The curve of stack
A is extended to module 4 via the wire hH. Wire hH is output for routing. Also
the wires gG and Aa are output for routing. Stack A contains the pin B and stack
B contains the pin b. The curve is shown in Figure 4.10(d). Finally, the wire Bb is
output for routing and the since both the stacks are empty, the algorithm terminates
successfully in step 3.
Figure 4.11. Trapped terminal and module
The routing order is Cc, Ee, Ff, Dd, hH, gG, Aa and Bb. Let us try this
out on our example. We see that no matter how Cc is routed there will remain a
routing path for the remaining wires. The routing of Dd and Hh cannot create any
enclosed regions and so cannot affect the feasibility of future routes. When Ee and
Ff are routed, an enclosed region can be formed. Hence these wires have to be
routed using the procedure findroute of Figure 4.13, otherwise they can enclose a
nonempty region. The topological routed RI can be found in figure Figure 4.9(b).
Lemma 5 : If algorithm Testing.PlanarRoutability terminates in step 3, then the
input instance is topologically routable.
Proof : We shall show that the algorithm TestingPlanarRoutability maintains the
following invariant:
There is a topological routing of all wires output so far such that each remaining
wire is (individually) topologically routable.
M
(a) (b)
Figure 4.12. To illustrate conflict
This is true when we start as at this time, no wires have been output and for
each wire, there is a routing path between its two pins. Assume that the invariant
holds just before some wire (r, s) is output. We shall show the invariant holds after
this wire is output for routing. Wire (r, s) satisfies exactly one of the following:
(a) It is output in step 2, r is a pin that was on stack A, s is the first pin to be
reached on its module.
(b) It is output in step 2, r was on stack A, s is not the first pin to be reached on
its module.
(c) It is output in step 4(a). At the time of output, r was at the top of stack A
and s at the top of stack B.
If we are in case (a), then since module(s) is reached for the first time, no matter
how wire (r, s) is routed at this time no new enclosed regions are formed. Hence all
remaining wires remain routable.
The proofs for cases (b) and (c) are similar. We consider case (c) only. From the
algorithm it follows that at some time prior to the output of (r, s), both r and s were
on stack A, s was at the top of A and about to be moved to stack B. The pins on
stack A beginning with r and ending at s define a closed curve C (as net(r) = net(s)).
Let these pins be from modules module(r) = Mi, M2,..., Mk = module(s) (in this
order moving up stack A). Let p be any pin in pins(C) {r, s} and let q be such that
net(p) = net(q). We may assume that either q E pins(C) or module(q) is unvisited
at the time s is moved from stack A to stack B. Note that if this is not the case,
then q is in stack A and below r at this time. From the working of the algorithm it
follows that when r reaches the top of stack A (as it does by the assumption of (r, s)
being output from step 4(a)), p must be on stack B and above A. So, the algorithm
should have terminated unsuccessfully in step 4(b), contradicting the assumption of
termination in step 3.
Let U be the set of unvisited modules at the time s is transferred from stack A
to stack B. By extending our previous argument, we see that the set N of modules
visited by the algorithm between the time s is transferred from stack A to stack B
and the time (r, s) is output is such that
(1) N C UU modules(C).
(2) All pins in (N n U) U (pins(C) {r,s}) have been output for routing.
Algorithm findroute(r, s)
begin
currentpin := s; I:= clockwisepin(currentpin);
while (1 # r) do
begin
Step 1: Route clockwise from currentpin to 1 following the module boundary
Step 2: currentpin = q such that net(q) = net(l)
Step 3: Continue the route from 1 to currentpin following the existing route
closely
Step 4: 1 = clockwisepin(currentpin)
end
Complete the route from currentpin to I = r following the module boundary
end
Figure 4.13. Algorithm to find routing path between pins r and s
(3) All pins reached from N n modules(C) are in pins(C) U pins(N n U).
We now claim that algorithm findroute(r, s) obtains a topological routing of
the wire (r, s) that preserves the invariant. To establish this, we need to show that
(A) The algorithm actually finds the route between r and s.
(B) The region enclosed by this route and the curve C contains no pins that have
not been routed to.
To prove (A), we need to show:
(Al) For each value of currentpin, clockwisepin(currentpin) (i.e., the pin clockwise
from currentpin) is defined and different from currentpin.
(A2) The net (1, currentpin) in step 3 of Figure 4.13 is already routed, so it is
possible to follow this route.
(A3) currentpin does not assume the same value twice.
For (Al), we simply assume that each module has atleast two pins. Modules
with a single pin may be ignored initially and routed to after the remaining routes
have been made. For (A2), let the value of the currentpin and I at the start of
the i'th iteration of the while loop be ci and li, respectively. We note that cl = s
and 11 E pins(C). If li E pins(C) U pins(N n U), then from conditions (2) and (3),
it follows that ci+i E pins(C) U pins(N n U) and wire (li, ci+i) has been routed.
Suppose there is an li pins(C) U pins(N n U). Let lj be the first such li. Since
j > 1, ljk and Cjk+l are in pins(C) U pins(N n U) for k > 1. Since cj and Ij
are on the same module, it follows that module(cj) V N. So, lI E extlpins(C) and
cj E pins(C). From the way algorithm Testing Planar.Routability works, it follows
that (lj, cj) is a segment of the curve C and that curve C when oriented from r
to s, first reaches lji and then cj via wire (lj,,cj). Hence lj_ E pins(C). Since
lj2 E pins(C) (by assumption on j), cj_ E pins(C) U pins(N n U). Further, since
cj1 is a module of C, cji E pins(C). Now, since (I1, cj) is a segment of C and cj1
is one pin clockwise from lj1 and a pin of C, it follows that (j2,cCj1) is a segment
of C oriented from lj2 to cj1. Continuing in this way, we conclude that (11,c2) is
a segment of C oriented from 11 to c2. However, we know that when C is oriented
from r to s there is only one wire segment that includes a pin of module(s) and this
is oriented to module(s). That is, the orientation is c2 to 11, a contradiction. Hence,
there is no li V pins(C) U pins(N n U). Also, no li E {r, s} at the start of a while
loop iteration. From condition (2), it follows that all encountered (li, ci+i) have been
routed.
For (A3), suppose that ci = cj for some i and j, i < j. Since (li1,ci) and
(l_l,cj) are twopin nets, it follows that 1i1 = lj1. Now, since cii and cj1
are, respectively, one pin counterclockwise from lii and lj1, it follows that ci1 =
cj~. Continuing in this way, we see that s = cl = cji+i. This implies that net
(lji, cji+) = (r,s) has already been routed. But, it has not. So, no ci is repeated.
(B) follows from the fact that find_route reaches only pins in pins(C)Upins(N n
U), condition (3) and the fact that find_route follows existing routes without enclosing
any new pins. [
Lemma 6 : If the algorithm Testing Planar_Routability (given in Figure 4.8) termi
nates in step 4(b), the RI is not planar routable.
Proof : If the algorithm terminates in step 4(b), then let r and s be as in step 4. r
is at the top of stack A and s is in stack B but not at the top. Let x be at the top of
stack B and let y be the pin such that net(y) = net(x). y must currently be on stack
A as x can be put on stack B (see step 4(c)) only if y is on stack A. When one pin
of a net is in stack A and the other in stack B, the pins can leave the stacks together
(step 4(a)) or not at all. Since x is on stack B at termination, y must still be on
stack A and hence must be lower than r (as r is at the top). So, there is a curve
y... r in the RI. Furthermore, curves y...r...s and y...r... x must exist as this is
the only way s and x can get to stack A and then to stack B. Figure 4.12(a) shows
an example curve y... r... s. This figure assumes that module(s) module(r). The
proof for the case module(s) = module(r) is similar. Let m be the module at which
the curves y... r... s and y... r... x diverge (Figure 4.12(b)). Note that m may be
module(r) or a latermodule on the curve y ... r ... s. Let u be the pin of m that is the
last pin of m on curve y... r... s and let v be the corresponding pin for y... r... x.
Since all nets are twopin nets, u v. Since x is above s in stack B, v must be
on the curve y... r...s. The curve C = y...r...v... x is a closed curve. We see
that r E pins(C), and s E extpins(C), and net(s) = net(r). So, s and r satisfy the
conditions of Lemma 3 and the RI is not planar routable. 0
Theorem 6 : The algorithm TestingPlanar.Routability (given in Figure 4.8) is cor
rect.
Proof : Follows from Lemmas 5 and 6. O
The algorithm of Figure 4.8 is easily implemented to have complexity of O(n)
where n is the total number of pins. For this we need to use an array status[l..n] to
maintain the current status (i.e., on stack A, on stack B, on neither) of each pin.
4.4 Topological Routability of Multipin Nets
We shall refer to the extension of TestingPlanarRoutability or TPR to the case
where some or all nets may have more than two pins as MTPR. The MTPR prob
lem may be solved in linear time by mapping MTPR instances into graph planarity
instances [15, 18]. However, the known linear time algorithms [9] for graph planarity
are complex and one is motivated to explore the possibility that simpler algorithms
exist for MTPR (just as they do for TPR). Unfortunately, this is not the case. We
show, in Theorem 7, that any algorithm for MTPR can be used to test graph pla
narity with no increase in complexity. In Theorem 8, we show that the problem of
determining the maximum number of topologically routable nets of an MTPR in
stance is NPhard. For the case where all the pins are twopin nets, we can use the
construction of [18] and the algorithm of [28] to find the maximum subset that is
topologically routable. The complexity of the resulting algorithm is O(n2), where n
is the total number of nets. Theorem 7 motivates the quest for a simple linear time
algorithm for a restricted version of MTPR. We show that the algorithm of Figure 4.8
may be extended to handle MTPR instances in which every pair of modules remains
connected (though not necessarily by a net) when all nets other than twopin nets
are eliminated.
Theorem 7 : Let I be an instance of graph planarity. I can be transformed in linear
time, into an instance I' of MTPR such that I is planar if I' is topologically routable.
Proof : From the constructions of [15, 18], it follows that the topological routability
of an MTPR instance does not depend on the specific placement of the modules.
Hence, in constructing I', we need not specify the module placement. I' is obtained
from I by replacing each edge (i,j), i < j of I by a module Mij with two pins MA.
and M?. The nets of I' are N, = {M4j I i < j} U {Mi I j < i}, 1
the number of vertices in I.
If I' is planar routable, then each net, Ni, has a planar realization that does
not contact the realization of any other net. This realization connects the pins of Ni
together, possibly using some Steiner points (see Figure 4.14(a)).
6 6 6
8 7 77
(a) (b)
Figure 4.14. Realization of a planar net using one Steiner point
If Ni is a twopin net, then introduce vertex vi anywhere on the wire connecting
the two pins of Ni. If Ni has more than two pins, then by using the transformations
of Figure 4.14(b), we can reduce the number of Steiner points to one and also ensure
that each pin of Ni has exactly one wire connected to it. There transformations
preserve the planarity of the routing. The sole surviving Steiner point is replaced by
the vertex vi.
Now each wire that connects to vi connects to module Mij or Mj,. This module
has another wire connecting to vertex j. Remove Mif (or Mji) and join the ends of
these two wires together by a line joining the terminals of Mij (or Mji). We now have
a planar embedding of I.
If I is planar, then start with its planar embedding. Replace vi by a Steiner
point; place Mij anywhere on the embedding of edge (i,j), i < j; split the edge (i,j)
at Mij and connecting the two ends (at the split point) to the terminals of Mij. This
yields a topological routing of I'.
Hence, I is planar if I' is topologically routable. 0
Let MTPRmax be the problem of determining whether or not k of the nets of an
MTPR instance are topologically routable. To show that MTPRmax is NPcomplete,
we use the following problem that is known to be NPcomplete [7].
Planar Subgraph: Given Graph G = (V, E), and a positive integer k
Is there a subset V' C V with I V' > k such that the subgraph induced by the V'
vertices is planar?
Theorem 8 : MTPRmax is NPcomplete.
Proof : It is easy to see that MTPRmax is in NP. Also, from an instance I of the
planar subgraph problem, we can construct an instance I' of MTPRmax by replacing
edges by modules as in Theorem 7. It is easy to see that I' has k nets that are
topologically routable iff I has an induced subgraph with k vertices that is planar.
0
Any instance I of MTPR may be transformed into an instance I' of TPR which
includes unordered modules (i.e., modules whose terminals may be rearranged at
will). I' has the property that there is an arrangement of terminals for each of the
unordered modules which results in I' being topologically routable iff I is topolog
ically routable. To obtain I' from I, for each multipin net Ni of size k, k > 2, we
introduce an unordered module UMi with k pins. The net Ni is replaced by k two
pin nets, one pin of each of these nets is an original pin of Ni and the other a pin
of UMi. Since planar routability is not affected by module placement, UMi may be
placed anywhere in the routing region. An example is given in Figure 4.15.
(a) A multipin net (b) Two pin nets
Figure 4.15. Transformation from multipin to twopin nets
Theorem 9 : The pins of each unordered module of I' can be ordered so that the
resulting instance of TPR is topologically routable if I is topologically routable.
Proof : If the pins of the UMi's can be so ordered, then a topological routing of
I is easily obtained from the topological routing of I' (simply replace each UMi by
a Steiner point). If I is topologically routable, then using transformations similar to
those in Figure 4.15(b), we may transform the topological routing into one in which
each multipin net Ni of size k > 2 is routed using exactly one Steiner point. This
Steiner point is replaced by module UMi and the pin ordering is determined by the
topological routing around the Steiner point. O1
If we knew which terminal orderings of the UM,'s to use, we could simply convert
each UMi to an ordered module and run the TPR algorithm. Unfortunately, we do
not know this. Therefore we need to modify algorithm Testing.Planar.Routability so
as to properly handle unordered modules. As in section 3, we may assume that I
is a single component. For our modification to work, we assume that I remains a
single component when all multipin nets Ni of size k > 2 are eliminated from I. The
modified algorithm MTPR is given in Figure 4.16.
The working of the MTPR algorithm is explained using the example in Fig
ure 4.17. There are five modules 15 and there are seven nets out of which six are
twopin nets. The seventh is a fourpin net. The pins of the fourpin net are w, x, y
and z. In step 1 of the algorithm of Figure 4.16, we replace the multipin net of size
four with a new unordered module UM1 which has four pins. Suppose we begin in
step 2 with m = 5 and p = A. Then in step 3, ACxB get stacked, in that order, on
to stack A. This corresponds to the curve of Figure 4.18(a). The top of stack A now
has pin B, and the curve on stack A is extended by adding pins from module 1 to
stack A. In this process, the wire Bb is output for routing. This situation is depicted
in Figure 4.18(b). Since pin a is at the top of stack A and its mate is below it in the
stack, pin a is moved from stack A to stack B. At the top of stack A, we have a pin
of a fourpin net and since this net is seen for the first time, we add the unordered
module to the top of stack B and mark y as having been seen. We route the wire
from pin y to the unordered module. The pin x, which is below pin y is next routed
to the unordered module. This is done using the procedure findroute of Figure 4.13.
The curve on stack A is extended by adding pins from module 4. At this time, wire
Cc is output for routing. This scenario is depicted in Figure 4.18(c). Now, pin z is
at the top of stack A. This pin is routed to the unordered module in step 6(a) of the
algorithm. Next, in step 3 the wire dD is output for routing. Also, pin E is put on
Algorithm MTPR
Step 1: For each multipin net Ni of size k > 2, introduce a new unordered module
UMi with k pins and replace Ni by k two terminal nets as described earlier.
Step 2: Let m be any ordered module and let p be any pin of m which corresponds
to an original twopin net.
Step 3: Examine the pins of m in counterclockwise order beginning at pin p. When
a pin q is being examined compare net(q) and net(r) where r is the pin (if any)
at the top of stack A. If stack A is empty or net(q) :L net(r) then add q and
the remaining pins of m to the top of stack A. Otherwise output (q,r) and
unstack r from A.
Step 4: If both stacks A and B are empty, then terminate.
Step 5: Let r be the pin at the top of stack A. Let s be the pin such that
net(r) = net(s). If modules) is an unordered module then go to step 6.
(a) If s is at the top of the stack B, then [output (r, s); unstack r from A and
s from B; go to start of Step 4].
(b) If s is in stack B but not at the top, then [output("The RI is not planar
routable"). Terminate].
(c) If s is in stack A, then unstackk r from A; add r to stack B; go to the
start of Step 5].
(d) If s is in neither of the stacks then [ set p to s; let m be the module
containing s; go to Step 3].
Step 6:
(a) If modules) is at the top of stack B, then [output (r, s); unstack r from
A; mark pin s as having been seen. If all pins of module(s) have been
marked then unstack modules) from B; go to start of step 4]
(b) If module(s) is on B but not at the top, then [output("The RI is not
planar routable"). Terminate].
(c) If module(s) is not in stack B, then unstackk r from A; mark pin s as
having been seen; add modules) to the top of stack B; go to start of step
5].
Figure 4.16. Topological routing of multipin net for restricted version
Figure 4.17. Example RI with a four pin net
the top of stack A. At this point stack A contains pins AfE, bottom to top in that
order. This situation is depicted in Figure 4.18(d). We set m = 2 and p = e in step
3 of the algorithm and output wires Ee and fF for routing. The remaining pin w is
put at the top of stack A. In step 6(a) of the algorithm, we mark pin w as seen and
route a wire from this pin to the unordered module. Also, we remove the unordered
module from the top of stack B. This is shown in Figure 4.18(e). Now, stack A
contains pin A and stack B contains pin a and the wire Aa is output for routing in
step 5(a) of the algorithm. Both the stacks are empty and the algorithm terminates
successfully in step 4. The topologically routed RI can be found in Figure 4.17.
Lemma 7 : If the algorithm MTPR halts in step 4, then the wires are planar routable.
Proof : The proof is very similar to that of Lemma 5. The same invariant holds.
When we put an unordered module on stack B and mark a pin (if that is the first
pin marked) then we connect this pin to the unordered module. See that there is no
ACxB ACxBbya
(a) (b)
A C x BHb y a A x y a
c  d z cf 4z
k2D E
(c) (d)
c f  z
SD E e F w
(e)
Figure 4.18. Illustration of the routing sequence with Multiterminal net
enclosed region and the invariant holds true. Now, if we are routing another pin (of
multipin net) then the pin it has to be connected is on the unordered module. So as
soon as we reach the unordered module, the next pin is chosen as the pin it has to
be connected to (this also defines the order of pins in the unordered module). The
proofs apply in this case as we have made all nets twopin nets. 0
Lemma 8 : Let I be an RI that contains a curve C = P1P2 ... Pj. Let R = R1R2 ... Rk
and S = SIS2... S be two curves such that module(Ri) = module(Pd) for some d,
1 < d < j and first(Ri) E extpins(C) and module(S1) = module(P,) for some e,
1 < e < j and first(Si) E pins(C).
Let C be such that first(Pi) and last(Pj) are part of the same net N. Assume
that there exist two pins a and b such that a E pins(C) Upins(S), b E extpins(C) U
pins(R) and net(a) = net(b) 0 N.
I is not planar routable.
Proof : Follows from Lemma 2. 0
Lemma 9 : If algorithm MTPR terminates in steps 5(b) or 6(b), the RI is not planar
routable.
Proof : Suppose the algorithm terminates in step 5(b). Let r and a be as in
step 5 and let x be at the top of stack B. Note that r and s define a twopin net.
If x is a twopin net, then the RI is not planar routable (see proof of Lemma 5).
So assume that x is an unordered module (note that only pins of twopin nets and
unordered modules get on to stack B). Module x must have atleast one marked and
one unmarked pin. Let C be the curve defined by the stack A segment from r to s
when s was at the top of stack A just prior to being transferred to stack B. From the
working of MTPR, it follows that there is a pin p E pins(C) from which a path was
traced to the multipin net corresponding to module x. Furthermore, there is atleast
one pin a of the multipin net that is on a path from a pin that is not in pins(C). A
possible situation is shown in Figure 4.19. The conditions of Lemma 8 are satisfied
and the RI is not planar routable.
If the algorithm terminates in step 6(b), then r is a pin of a multipin net and
module(s) is an unordered module. Let x be at the top of stack B at the time of
termination. Let j be one of the pins that have already been routed to module(s).
Figure 4.19. An possible situation where the RI is unroutable
Let C be the curve defined by the stack A segment at the time pin j was output for
routing. Let S be the curve or pin in pins(C) that was used to reach pin x. Let y
be such that net(x) = net(y). Since y must be below r on stack A and r is a net of
a multipin net, the path from y to r on stack A must include a pin in ext.pins(C).
By setting a and b of Lemma 8 to x and y respectively, we see that the conditions
of Lemma 8 are satisfied and the RI is unroutable. The proof for the case x is an
unordered module is similar. 0
4.5 Implementation of TwoPin Algorithm
While the correctness proof for our algorithm is somewhat involved, the algo
rithm itself is quite simple and easy to implement. To get good performance we
implemented stack A as a stack of modules rather than one of pins as described in
Section 3.3. So, when step 2 of Figure 4.8 adds q and the remaining pins of m to
stack A, we simply add a record of the type (m, q, 1) where 1 is the last pin of m to
the stack. Also, to get the top pin of stack A, we look at the top record (m,q,I).
The top pin is 1. To delete this pin, the top record is changed to (m, q,p(1)) where
p(l) is the predecessor of pin 1 unless q = I. In the latter case, the record (m,q, 1) is
deleted from the stack. The role of array status needs to be changed to support this
change in stack structure. We now keep a status for a module as well as for a pin.
A module's status reflects whether or not it is in stack A and a pin's status reflects
whether or not it is in stack B.
The twopin net algorithm of MarekSadowska and Tarng [18] is a two step
algorithm:
Step 1: Merge modules together to obtain an equivalent routing problem in which
all pins are on the periphery of a routing region.
Step 2: Determine the feasibility of the equivalent problem using a single stack
scheme.
To implement step 1, we performed a traversal of the modules. Each module was
represented as a singly linked circular list of pins. With this representation, modules
can be merged efficiently. By contrast, for the algorithm of Figure 4.8, modules were
represented using doubly linked circular lists.
The multipin net algorithm of MarekSadowska and Tarng [18] has three steps:
Step 1: Merge modules together to obtain an equivalent routing problem in which
all pins are on the periphery of a routing region.
Figure 4.20. Treelike connected circuits
Step 2: Traverse the pins and transform multipin nets into two pin nets.
Step 3: Determine the feasibility of the equivalent problem using a single stack
scheme.
4.6 Experimental Results
We implemented our algorithm for twopin nets and multipin nets and that
of MarekSadowska and Tarng [18] in C and obtained execution times using both
circuits that are routable and those that are not. For the twopin net case, the
routable circuits used are highly structured ones as shown in Figures 4.20 and 4.21
as well as randomly generated ones. The nonroutable circuits used were obtained by
modifying the treelike circuits of Figure 4.20.
Figure 4.21. Sixway connected circuits
*
Figure 4.22. Treelike connected circuits with multipin nets
Figure 4.23. Eightway connected circuits with multipin nets
For the multipin net case, we used highly structured circuits as shown in Fig
ures 4.22 and 4.23. The nonroutable circuits for the multipin case was obtained by
modifying the structured circuits.
The timing results for the routable circuits of twopin nets, are shown in Tables
4.1, 4.2 and 4.3 respectively. The times are in milliseconds and the programs were
run on a SUN 4 workstation. On treelike circuits, the algorithm of MarekSadowska
and Tarng [18] took 65% more time than ours, on average; on sixway circuits, it
took approximately 40% more time; and on random circuits, it took approximately
37% more time.
For the multipin net case, the timing results for the routable circuits are shown
in Tables 4.5 and 4.6. On treelike circuits with multipin nets, the algorithm of
MarekSadowska and Tarng [18] took 295% more time than ours, on average; on

Full Text 
xml version 1.0 encoding UTF8
REPORT xmlns http:www.fcla.edudlsmddaitss xmlns:xsi http:www.w3.org2001XMLSchemainstance xsi:schemaLocation http:www.fcla.edudlsmddaitssdaitssReport.xsd
INGEST IEID EWDEPKFP5_YARAYT INGEST_TIME 20110929T18:03:26Z PACKAGE AA00004720_00001
AGREEMENT_INFO ACCOUNT UF PROJECT UFDC
FILES
EFFICIENT ALGORITHMS FOR ELECTRONIC CAD
By
VENKAT TIIANVANTRI
A DISSERTATION PRESENTED TO THE GRADUATE SCHOOL
OF THE UNIVERSITY OF FLORIDA IN PARTIAL FULFILLMENT
OF THE REQUIREMENTS FOR THE DEGREE OF
DOCTOR OF PHILOSOPHY
UNIVERSITY OF FLORIDA
1995
Â©Copyright 1995
by
Venkat Thanvantri
ACKNOWLEDGMENTS
My heartfelt appreciation geos to my advisor Professor Sartaj Sahni for giving
me continued guidance in my thesis work. I thank him for the help, patience and supÂ¬
port he provided throughout my stay in the University of Florida. Weekly meetings
and discussions with him have spawned many ideas, for which I am thankful.
Special thanks go to Dr Baba Vemuri for his interest in my research and for
serving on my supervisory committee. I would like to thank other members in my
superviory committee, Dr Tim Davis, Dr LiMin Fu and Dr John Harris, for their
interest and comments. I thank Dr Rajasekharan for agreeing to attend the thesis
defense on a very short notice.
Thanks go to Seonghun Cho for his willingness to discuss the general subject of
algorithms.
I thank Archana Nair for being a good friend and giving encouragement when I
needed it most.
Thanks go to my sister Lakshmi and brotherinlaw Anand for being there when
I wanted. Finally, I would like to thank my parents for the love and support, without
which I could not have pursued my doctoral studies. To them I dedicate this work.
in
TABLE OF CONTENTS
ACKNOWLEDGMENTS iii
LIST OF TABLES vi
LIST OF FIGURES viii
ABSTRACT ix
CHAPTERS
1 INTRODUCTION 1
1.1 Background 1
1.2 Physical Design Automation 3
1.3 Thesis Outline 5
2 FOLDING A STACK OF EQUAL WIDTH COMPONENTS 7
2.1 Background 7
2.2 Introduction 8
2.3 Normalization 12
2.4 EqualWidth HeightConstrained 18
2.5 Parametric Search 20
2.6 EqualWidth WidthConstrained 25
2.7 Experimental Results 28
2.8 Conclusions 29
3 STANDARD AND CUSTOM CELL FOLDING 31
3.1 Introduction 31
3.2 Standard Cell Folding (Problems 14) 35
3.2.1 Width Constrained Case (Problems 1 and 2) 35
3.2.2 Height Constrained Case (Problems 34) 42
3.3 Standard Cell Folding (Problems 57) 43
3.3.1 Minimum Channel Height (Problem 5) 43
3.3.2 Minimize Chip Area Subject to Width Constraint (Problem
6) 46
IV
3.3.3Minimize Chip Area Subject to Height Constraint (Problem
7) 47
3.4 Custom Cell Folding (Problems 8 and 9) 47
3.4.1 Width Constrained Folding (Problem 8) 47
3.4.2 Height Constrained Folding (Problem 9) 55
3.5 Experimental Results 56
3.6 Conclusions 57
4 PLANAR TOPOLOGICAL ROUTABILITY 58
4.1 Introduction 58
4.2 Preliminaries 60
4.3 The Algorithm 66
4.4 Topological Routability of Multipin Nets 76
4.5 Implementation of TwoPin Algorithm 86
4.6 Experimental Results 88
4.7 Conclusion 94
5 CONCLUSIONS AND FUTURE WORK 95
REFERENCES 97
BIOGRAPHICAL SKETCH 100
v
LIST OF TABLES
2.1 Summary of results of Paik and Sahni 10
2.2 Comparison of equalwidth heightconstrained algorithms 20
2.3 Run times of equalwidth widthconstrained algorithms 29
3.1 Heights produced by widthconstrained standard cell folding algorithms 56
3.2 Run times of widthconstrained folding algorithms for custom cells . . 57
4.1 Treelike Connected Circuits 91
4.2 SixWay Connected Circuits 91
4.3 Random Circuit 92
4.4 Faster Termination for NonRoutable Circuits 92
4.5 Eightway Connected Circuits with Multipin Nets 93
4.6 Treelike Connected Circuits With Multipin Nets 93
4.7 Faster Termination for NonRoutable Circuits With Multipin Nets . . 93
vi
LIST OF FIGURES
2.1 Stack of equal width components 9
2.2 Routing space reserved 9
2.3 Case when hj + rj+i < rj 13
2.4 Case when hj f rj < rj+x 15
2.5 Normalizing a stack 15
2.6 Procedure to obtain a minimum width folding 19
2.7 Procedure for parametric search 22
3.1 Standard cell Architecture 32
3.2 Procedure to obtain a minimum height folding 40
3.3 Procedure to obtain a minimum channel height folding 45
3.4 Procedure to obtain a minimum height folding for custom cells .... 48
3.5 Procedure to delete F(.) values as in Observation 3 51
3.6 Procedure to Insert F(.) values 54
4.1 A planar routable and a nonplanar routable case 59
4.2 Augmentation 61
4.3 An example to illustrate some terminology 61
vii
4.4 Two possibilities to connect a and b 63
4.5 Another not planar routable situation 64
4.6 Constructing the envelope of a component 65
4.7 Rerouting to free independent component 66
4.8 Topological routing 67
4.9 Example RI 68
4.10 Illustration of the routing sequence 69
4.11 Trapped terminal and module 70
4.12 To illustrate conflict 71
4.13 Algorithm to find routing path between pins r and s 73
4.14 Realization of a planar net using one Steiner point 78
4.15 Transformation from multipin to twopin nets 80
4.16 Topological routing of multipin net for restricted version 82
4.17 Example RI with a four pin net 83
4.18 Illustration of the routing sequence with Multiterminal net 84
4.19 An possible situation where the RI is unroutable 86
4.20 Treelike connected circuits 88
4.21 Sixway connected circuits 89
4.22 Treelike connected circuits with multipin nets 89
4.23 Eightway connected circuits with multipin nets 90
Vlll
Abstract of Dissertation Presented to the Graduate School
of the University of Florida in Partial Fulfillment of the
Requirements for the Doctor of Philosophy
EFFICIENT ALGORITHMS FOR ELECTRONIC CAD
By
Venkat Thanvantri
August 1995
Chairman: Dr. Sartaj Sahni
Major Department: Computer and Information Science and Engineering
In this thesis, we develop efficient algorithms for three problems that arise in
electronic computer aided design (ECAD). (1) component stack folding, (2) standard
and custom cell folding, and (3) planar topological routing.
The component stack folding problem arises in the layout of bitslice architecÂ¬
tures. We consider two versions of this problem. In both, the components have equal
width and when a stack is folded, a routing penalty is incurred at the fold. In the
first version, the height of the folded layout is given and we have to minimize the
width. In the second, the width of the folded layout is given and its height is to be
minimized. We develop a normalization technique that permits the first version to
IX
be solved in linear time by a greedy algorithm. The second version can be solved
efficiently using normalization and parametric search.
In standard and custom folding, the component list is folded into rows and a
routing penalty is incurred between two rows. In the model we consider, the number
of wires that have to cross between two rows serves as the routing penalty. Nine
versions of the folding problem are formulated and efficient algorithms are developed
for each.
We develop a simple, fast linear time algorithm to determine if a collection of
twopin nets can be routed topologically in a plane. Topological routability testing
of a collection of multipin nets is shown to be equivalent to planarity testing, and a
simple linear time algorithm is developed for the case when the collection of modules
remain connected following the deletion of all nets with more than two pins.
Experimental results are presented.
x
CHAPTER 1
INTRODUCTION
1.1 Background
With current technology, a single chip can have several million transistors. DeÂ¬
sign and fabrication of such chips is made possible by the automation of the steps
involving the development of the chip. Starting with the formal specifications, the
VLSI design cycle goes through a series of steps to produce the final product, a fully
packaged chip. The VLSI design cycle consists of the following steps [24]:
1. System Specification: In this step the high level representation of the system is
created. Performance, functionality, the physical dimensions, the choice of the
design techniques and the fabrication technology are considered in this step.
2. Functional Design: The output of this step is a timing diagram which is obÂ¬
tained by considering the behavioral aspects of the system.
3. Logic Design: The logic design, in general, is represented by Boolean expresÂ¬
sions. The logic design that represents the functional design is obtained in
this step. The boolean expressions are minimized to obtain the smallest logic
design. Correctness of the logic design is also asserted in this step.
1
2
4. Circuit Design: A circuit which represents the logic design of the system is
developed in this step by taking into consideration speed and power requireÂ¬
ments, and electrical behavior of the components used in the development of
the circuit.
5. Physical Design: This is the most time consuming step in the VLSI design
cycle. In this step, the components and the interconnections are represented by
geometric patterns. The objective of this step is to obtain an arrangement of
these geometric patterns which minimizes the area and power and satisfies the
timing requirements of the chip. Due to its high complexity this step is broken
down into smaller substeps. We will look into this step in detail later in this
chapter.
6. Design Verification: In this step design rule checking and circuit extraction are
done to verify that the circuit layout from the physical design step satisfies the
system specfication and design rules.
7. Fabrication: The verified layout is used in the fabrication process to produce
the chip.
8. Packaging, Testing and Debugging: The fabricated chip is packaged and tested
to ensure proper functioning.
Each step in the design cycle can be viewed as a change in representation of the
system. The steps in the VLSI design cycle iteratively improve the representation to
meet the specifications.
Ã¡
1.2 Physical Design Automation
The physical design step maps a circuit design into a physical circuit. The input
to this step is a circuit design which is represented by a set of modules, a set of nets,
a chip carrier and the design rules. The modules and the chip carrier are usually
rectangular. The output of the physical design step is a layout for modules and
interconnections which has the desired functionality.
There are several objective functions that are used in the physical design step.
If the chip size is not fixed then the objective is to find a minimum area layout. When
the circuit speed is a consideration, the objective may be to minimize the critical net
length or minimize the sum of connection lengths.
The field of physical design automation involves developing algorithms and data
structures which can be used in the layout process. The algorithms are used to obtain
solutions which satisy the objective functions and which meet the design rules. Large
designs and the iterative improvements by the physical design engineers require that
the algorithms developed be very fast.
Physical design is an extremely complex process that is usually broken down
into smaller problems such as partitioning, floorplanning and placement, routing and
compaction.
In the partitioning step, the components of a large circuit are divided into a
collection of smaller subcircuits/modules according to some criteria. The factors that
are considered may be the size of the modules, number of modules and the number of
4
interconnections between the modules. At the end of the partitioning step, we have
a set of modules and a set of interconnections required between modules.
Selecting areas, power consumptions, aspect ratios, and I/O pin locations of the
modules forms the floorplanning step. The floorplanning step optimizes design quality
in terms of chip area, power consumption, timing performance and wire density.
Floorplanning is an important step as it lays the foundation for the final layout.
The precise locations of the components are determined during the placement step
to optimize area and timing.
The routing phase completes the interconnections between the modules. RoutÂ¬
ing is usually divided into three smaller subproblems which are global routing, deÂ¬
tailed routing and specialized routing. The global router decomposes a larger routing
problem into small and manageable problems. Steiner trees and spanning trees are
the commonly used approaches for net connection in global routing. Detailed routing
includes switchbox, channel and planar. Planar routing is a problem in which interÂ¬
connection topology of the nets is planar. That is, all connections can be realized
on a single layer. Single layer routing is not always possible. In MCM technology
with many routing layers, a subset of nets that is planar routable is preferred. Planar
routing is usually preferred as no via is needed for the interconnections. Vias reduce
the reliability and performance of a circuit. Routing clock nets and powerground
nets are specialized routing problems.
5
During the compaction phase, the components and the interconnections are
moved so as to further optimize the layout in terms of area and delay. By compressÂ¬
ing the chip, the components come closer thereby reducing the delay between the
components. This step must also ensure that by compressing the chip, design rules
are not violated.
1.3 Thesis Outline
One of the placement methods is to obtain a linear list of components miniÂ¬
mizing some criteria and then folding this list into a given height or width so as to
minimize the area. The objective functions that can be used when forming the linear
list of components may be minimizing the maximum density of wires between adjaÂ¬
cent components; minimizing the total number of wire segments between adjacent
components; and minimizing maximum net length [1].
In the bitsliced placement model introduced by Paik and Sahni [21], compoÂ¬
nent reordering is not permitted. That is, the components are ordered by some
objective function to obtain a component stack. This stack is folded into a layout
which is either heightconstrained (layout height is given) or widthconstrained (layÂ¬
out width is given). In Chapter 2, we look into two problems considered by Paik and
Sahni [21]. We introduce a normalization technique which in combination with the
greedy method and parametric search helps develop linear time algorithms for these
problems.
In Chapter 3, we develop optimal algorithms to fold a linearly ordered list of
standard and custom cells under various optimization constraints. A total of nine
problems are formulated and their solutions provided.
In Chapter 4, we look into the planar topological routability problem. We
develop a linear time algorithm for planar topological routability for the case when
all nets are 2pin nets. This algorithm determines the topological routability of the
given problem instance and the loose route of wires when the instance is topologically
routable. We also consider the case when there are multipin nets. For this case, we
prove that (a) the topological routability problem is equivalent to the graph planarity
problem, and (b) the problem of finding the maximum number of nets that are
topologically routable is NPIIard. A linear time algorithm is developed for the case
when the circuit modules remain connected following the deletion of all nets that
have more than two pins.
Finally, we present conclusions and some future directions for this research.
CHAPTER 2
FOLDING A STACK OF EQUAL WIDTH COMPONENTS
2.1 Background
Wu and Gajski [31] introduced a new slicedlayout architecture to alleviate the
problems of the general bitsliced layouts. Most fabricated chips can be described
by registertransfer schematics. In addition to gates, latches, and flipflops, schematÂ¬
ics include registertransfer components such as registers, counters, adders, ALUs,
shifters, multiplexers, and register files. Standard cell methodology decomposes the
components into basic gates, latches, and flipflops before layout. Wu and Gajski [31]
suggest that greater layout density can be achieved if registertransfer components
are laid out in a bitsliced layout architecture.
For each microarchitectural component there is a layout generator that includes
bitslice generators. All generated bit slices are of the same width. If a component has
a width iv, then it has w slices. Each microarchitectural component has a different
height. The component includes the cellabutment, overthecell routing, and interÂ¬
slice switch box to alleviate the problems of the previous approaches. Intracell routing
in done on metal 1 and Inter cell routing on metal 2. All regular components in a
design are stacked (stack of components) and routed in metal 2. Component stack
folding, in the context of bit sliced architectures introduced by Larmore, Gajski, and
7
Wu [14], is to fold this stack into itself in a way that minimizes the wasted area.
Stack folding (stack partioning) is also done in case there are too many components
in a single stack. In this paper [14], they used this model to compile layout for cmos
technology. Further applications of the model were considered by Wu and Gajski
[31].
In the model of Larmore et al. [14] and Wu and Gajski [31] the component stack
can be folded at only one point. In addition, it is possible to reorder the components
on the stack. These folding schemes begin by reordering the components by width.
They also show that the folding problem using this model is NPcomplete.
A related, yet different, folding model was considered by Paik and Sahni [21].
In this, no limit is placed on the number of points at which the stack may be folded.
Also, component reordering is forbidden. They point out that this restriction is
realistic as the component stack is usually ordered so as minimize inter component
routing requirements and optimize performance. They also point out that this model
may be used in the application cited by Larmore et al. [14] and Wu and Gajski
[31]. Furthermore, it accurately models the placement step of the standard cell and
seaofgates layout algorithms of Shragowitz et al. [26, 25]. In the case of standard
cell designs, all modules have the same width while in the case of seaofgates designs
module widths and heights vary from module to module.
2.2 Introduction
A stack of equal width components is comprised of variable height components
Ci, G2,..., Câ€ž stacked one on top of the other. Ci is at the top of the stack and
c 1
c2
c3
Cl
stack1
cÂ¿2
C.j+i
Ci
Â¿1+1
stack2 stack3
(a) Component Stack
(b) Folded into three stacks
Figure 2.1. Stack of equal width components
Cl
cn
Interstack Routing
Figure 2.2. Routing space reserved
IU
Table 2.1. Summary of results of Paik and Sahni
Routing area at stack ends
No
Yes
Equal width, height constrained
0(n)
0 (n2)
Equal width, width constrained
0(n)
0(n3)
Equal height, height constrained
0(n4 log n)
0(n4 log n)
Equal height, width constrained
0(n4 log2 n)
0(n4 log2 n)
Variable heights and widths, height constrained
0(n5 log n)
0(n5log n)
Variable heights and widths, width constrained
0(n5log2 n)
0(n5 log2 n)
(Source : Paik and Sahni [21])
11
Cn at the bottom (Figure 2.1(a)). If the stack is realized, physically, in this way,
the area needed is E/i, * w where /i, > 0 is the height of C, and w > 0 is the width
of each component. If the component stack is folded at (7, we obtain two adjacent
stacks Ci, C2,..., C, and Câ€ž, Câ€ž_i,..., C{+\. The folding also inverts the left to
right orientation of the components Câ€ž,...,C,+i. Figure 2.1(b) shows the stack of
Figure 2.1(a) after folding at CM,C,2. Notice that folding results in a snakelike
rearrangement. While not apparent from the figure, each fold flips the lefttoright
orientation of a component. As can be seen from Figure 2.1(b), pairs of folded
stacks may have nested components, components in odd stacks are left aligned; and
components in even stacks are right aligned. The area of the folded stack is the area
of the smallest rectangle that bounds the layout. To determine this, depending on
the model, we may need to add additional space at the stack ends to allow for routing
between components Cik and C,fc+1 where C,fc is a folding point. If so, let r, > 0,
2 < i < n, denote the height of the routing space needed if the stack is folded at C,_i
(Figure 2.2).
In practical situations, the height (width) of the rectangle into which the stack
is to be folded may be limited (and known in advance) and we are to minimize the
width (height). Several versions of folding into height (width) constrained rectangles
were considered by Paik and Sahni [21]. Their results are summarized in Table 1.
In this chapter we consider two of the problems considered in Paik and Sahni [21]:
(1) Equalwidth, heightconstrained with routing area at stack ends. In this problem,
we are to fold a stack of equal height components into a rectangle of given
12
height so as to minimize the width (and hence area) of the rectangle. For this
problem, the algorithm [21] runs in 0(n2) time. We develop an 0(n) algorithm.
(2) Equalwidth, widthconstrained with routing area at stack ends. Here the width
of the rectangle into which the folding occurs is given and we are to miniÂ¬
mize its height (and hence area). Four algorithms with complexity O(nlogn),
0(n log log n), 0(nlog*n), and 0(n) respectively are obtained. Experimental
results indicate that the O(nlogn) algorithm is fastest in practice. This is due
to the fact that this algorithm has least overhead.
Our algorithms employ two techniques. The first is normalization in which an
input instance is transformed into an equivalent normalized instance that is relatively
easy to solve. The second technique is parameterized searching. In Section 2.2 we
describe our normalization technique and then in Section 2.3, we show how this
results in a linear time algorithm for the equalwidth heightconstrained problem.
Parameterized searching is described in Section 2.4 and then used in Sections 2.5 to
obtain the algorithms for the equalwidth widthconstrained problem. Experimental
results comparing the relative performance of the various algorithms for the equal
width widthconstrained problem are given in Section 2.6.
2.3 Normalization
Let h{ be the height of the component Ct, 1 < i < n. Let r, be the routing height
needed between C,_i and C, if the component stack is folded at C,_i,2 < i < n; and
let rq = rn+1 = 0. The defined component stack is normalized iff the conditions Cl
and C2 given below are satisfied for every i, 1 < i < n.
13
5,
S2
â€¢
â€¢
â€¢
â€¢
â€¢
hj1
r.
5! S2
â€¢
â€¢
hj1
^j+i
h j
rÃ+1
ri+i
(a)
(b)
Figure 2.3. Case when hj + rJ+1 < rÂ¿
Cl : hi + r1+1 > r,
C2 : hi + r, > r,+1
An unnormalized instance I may be transformed into a normalized instance I
with the property that from a minimum height or minimum width folding of /, one
can easily construct a similar folding for /. To obtain /, we identify the least value of
i at which either Cl or C2 is violated. Let this value of i be j. By choice of j, either
hj + rJ+, < rj, or
hj + r: < rj+j.
We first note that (since hj > 0) it is not possible for both of these inequalities to
hold simultaneously. Suppose that hj + rJ+\ < rj. Now j > 1 as hi + r2 > 0 while
rq = 0. Also, hj + rj > ry+i. Consider any folding of I in which Cji is a fold
point (Figure 2.3(a)). Let the height of the stack Si be h(Si) and that of S2,/i(S2).
Consider the folding obtained from Figure 2.3(a) by moving Cj from S2 to Si. Let
the height of the stacks now be h'(S\) and /i/(S2). We see that
1*1
h'iSx) = h(Sx)  rj + kj + rJ+i < h(Si)
and
h'(S2) = h(S2)  rj  hj + rJ+1 < h(S2).
So, the height and width of the folding of Figure 2.3(b) is no more than that of
Figure 2.3(a). Hence, the instance I' obtained from I by replacing the component
pair with the single component (hj1 + hj,Tj1) has the same
minimum width/height folding as does I. From a minimum width/height folding for
/' one can obtain one for I by replacing the component (hj1 + hj,rj\) with the two
components of /.
If hj + rj < rJ+1, then /' is obtained by replacing the component pair
((hj, rj), (hj+x, rj+i)) with the single component (hj + hj+\,rj). The proof is similar
to the previous case.
The component pair replacement scheme just described may be repeated as often
as needed to obtain a normalized instance /. Note that the scheme terminates as
each replacement reduces the number of components by one and every one instance
component is normalized.
The preceding discussion leads to the normalization procedure Normalize of
Figure 2.5. The input to this procedure is a component stack C[l]...C'[n] and the
output is a normalized stack C[l]... C[n] (the input n (say n") will be generally
larger that the output n (say n')).
C\i\.h, C[i].r, C[i].f, and C[i\.l, respectively, give the height, routing height needed
if the stack is folded at C[i â€” 1], index of first input component represented by C[i\,
15
5: S2
â€¢
â€¢
â€¢
hj1
hj
hj+1
rj+1
rj+i
(a)
(b)
Figure 2.4. Case when hj + rj < rj+i
Procedure Normalize(C,n)
{ Normalize the component stack C[l]... C[n}}
i := 1; next := 2;
while next < n + 1 do
case
: C[i].h + C[next\.r < C[i].r :
{Combine with C[i â€” 1]}
C\i â€” l]./i := C\i â€” l]./t + C[i\.h\
C[i\].l:= C\i\.l;
i := i â€” 1;
: C[i].h + C[i\.r < C[next\.r :
{Combine with C[next]}
C[i\.h := C[i].h + C[next\.h;
C[i\.l := C[next].l;
next := next +1;
:else: C[i + 1] := C[next\,
i := Â¿ 1; next := next + 1;
end;
n := i â€” 1;
end; {Normalize]
Figure 2.5. Normalizing a stack
16
and index of the last input component represented by C[i\. At input, we have
C[i\.h = hi
C[i\.r = r,
C[i].f = C[i\.l = i
1 < Â¿ < n, and C[n f l].r = 0. Note that, by definition, C[l].r = r\ = 0. On
output, component C[i\ is the result of combining together the input components
/,/+ 1,...,/. The heights and the r values are appropriately set. The correctness
of procedure Normalize is established in Theorem 1. Its complexity is O(n) as each
iteration of the while loop takes constant time; the first two case clauses can be
entered atmost a total of n â€” 1 times as on each entry the number of components is
reduced by 1. The else clause can be entered atmost n â€” 1 times as on each entry
next increases by 1 and this variable is never decreased in the procedure.
Theorem 1 : Procedure Normalize produces an equivalent normalized component stack.
Proof : The procedure maintains the following invariant at the start of each iteraÂ¬
tion of the while loop:
Invariant: Normalizing conditions Cl and C2 are satisfied by all components C\j],j <
1.
This is clearly true when i = 1 as there is no component C\j] with j < 1. If
the invariant is true at the start of some iteration, then it is true at the end of that
iteration. To see this, note that if we enter the first clause of the case then following
the execution of this clause, C[j].h,C[j].r,C\j + l].r,j < i', where i' is the value of
i following execution of the clause, are unchanged. So, the execution does not affect
17
Cl and C2 for j < i'. If the second caseclause is entered, then again Cl and C2
are unaffected by the execution for j < i as C[j].h,C\j].r, and C\j + l].r, j < i are
unchanged. When the third clause is entered the validity of Cl and C2 for j < i'
follows from the fact that the conditions for the first two clauses are false.
On termination, next = n+2. The last iteration of the while loop could not have
entered the first clause of the case statement as in this clause, next is not increased.
While in the second clause, next is increased, the condition C[i\.h\C[i\.r < C[next\.r
cannot be true in the last iteration as now next = n" f 1 (n" is the input value of
n), C[i].h + C[i\.r > 0, C[n"].r = 0. So, the last iteration caused execution of the
third clause of the case statement. As a result, C[n"] is moved to position n" + 1 of
C. From the invariant, it follows that Cl and C2 are satisfied for j < i' â€” n" + 1
(note i' is the final value of i). Hence the output component stack C[l]... C[n'\ is
normalized. â–¡
Theorem 2 establishes an important property of a normalized stack. This propÂ¬
erty enables one to obtain efficient algorithms for the two folding problems considered
in this chapter.
Theorem 2 : Let (hi,r{), \ < i < n define a normalized component stack. Assume
that ro = rn+i = 0. The following are true:
i i
PI : rk + hi + r'+i < rk\ + hi + r'+i>1 < k < l
j=k j=ki
18
P2 :
i /+i
rk + Yl hi + r'+l < rk + Yl hi + ri+2) 1 < k <1
j=k j=k
Proof : Direct consequence of C2 and Cl, respectively. â–¡
Intuitively, Theorem 2 states that the height needed by a contiguous segment
of components from a normalized stack increases when the segment is expanded by
adding components at either end.
2.4 EqualWidth HeightConstrained
The height of the layout is limited to h and we are to fold the component stack so
as to minimize its width. This can be accomplished in linear time by first normalizing
the stack and then using a greedy strategy to fold only when the next component
cannot be accommodated in the current stack segment without exceeding the height
bound h. The algorithm is given in Figure 2.6.
From the correctness of procedure Normalize, it follows that a minimum width
folding of the normalized instance is also a minimum width folding of the initial
instance. So, we need only to show that the for loop generates a minimum width
folding of the normalized instance generated by the procedure Normalize. This follows
from properties PI and P2 (Theorem 2) of a normalized instance. Since a segment
size cannot decrease by adding more components at either end, the infeasibility test
is correct. Also, there can be no advantage to postponing the layout of a component
to the next segment if it fits in the current one.
iy
Procedure MinimizeWidthfC, n, h, width)
{ Obtain a minimum width folding whoose height is atmost h}
Normalize(C, n);
used := h\ width := 1;
for i := 1 to n do
case
: used â€” C[i\.r + C[i\.h + C[i + l].r < /Â¡ :
{ assign C[i] to current segment }
used := used â€” C[i\.r + C[i\.h + C[i + l].r;
: C[i].r + C[i].h + C[i + 1 ].r > h :
{infeasible instance }
output error message; terminate;
:else:{start next segment, fold at C[i â€” 1] }
width := width + 1;
used := C[i\.r f C[i\.h + C[i + lj.r
end;
end; {MinimizeWidth)
Figure 2.6. Procedure to obtain a minimum width folding
Table 2.2. Comparison of equalwidth heightconstrained algorithms
n
[7]
Figure 5
16
0.11
0.05
64
1.80
0.14
256
24.85
0.52
Times are in milliseconds
Note that while we are able to solve the equalwidth heightconstrained probÂ¬
lem in linear time using a combination of normalizing and the greedy method, the
algorithm of Paik and Sahni [21] uses dynamic programming on the unnormalized
instance and takes 0(n2) time. In Table 2, we give the observed run times of the two
algorithms. These were obtained by running C programs on a SUN 4 workstation.
As is evident, our algorithm is considerably superior to that of [21] even on small
instances.
2.5 Parametric Search
In this section, we provide an overview of the parametric search method of
Frederickson [4], which uses developments by Frederickson and Johnson [5, 6] and
Frederickson [3]. This overview has, however, been tailored to suit our application
here and is not as general as that provided by Frederickson and coworkers [3, 4, 5, 6].
Assume that we are given a sorted matrix of 0(n2) candidate values Af,j, 1 <
i,j < n. By sorted, we mean that
21
MÂ¡j < MiÂ¿+1,1 < i < n, 1 < j < n
and < M,+jj, 1 < i < n,l < j < n
The matrix is provided implicitly. That is, we are given a way to compute M,j,
in constant time, for any value of i and j. We are required to find the least M,y
that satisfies some criterion F. The criterion F has the property that if F(x) is not
satisfied, then F(y) is not satisfied (i.e., it is infeasible) for all y < x. Similarly, if
F(x) is satisfied (i.e., it is feasible), then F(y) is feasible for all y > x. In a parametric
search, the minimum M,y that satisfies F is found by trying out some of the M,jS.
As different M,Â¿s are tried, we maintain two values Aj and A2, Ai < A2 with the
properties:
(a) F(Aj) is infeasible.
(b) F{\2) is feasible.
Initially, Aj = 0 and A2 = 00 (we assume F is such that F(0) is infeasible, F(00)
is feasible, and > 0 for all candidate values). To determine the next candidate
value to try, we begin with the matrix set S = {M}. At each iteration, the matrices
in S are partitioned into four equal sized matrices (assume, for simplicity, that n
is a power of 2). As a result of this, the size of S becomes four times its previous
size. Next, a set T comprised of the largest and smallest elements from each of the
matrices in S is constructed. The median of T is the candidate value x to try next.
The following possiblities exist for x and F(x):
(1) x < Ai. Since F(Aj) is infeasible, F(y) is infeasible for all y < Ai. So, F(x) is
infeasible.
22
Procedure PSEARCH(S,Aj,A2,dimension,finish);
repeat
if dimension > 1 then [ replace each matrix in S by
four equal sized submatrices;
dimension := dimensionÂ¡2 ]
for i := 1 to 3 do
begin
if dimension = 1 then
[ Let T be the multiset of values in all matrices of 5; ]
else
[ Let T be the multiset obtained by selecting the largest
and smallest values from each matrix of S\ ]
x := median(Tâ€™);
if (Aj < x < A2) then
if F(x) is feasible then A2 := x
else Aj := z;
Eliminate from S all matrices that have no values
such that Aj < x < A2;
end;
until dimension2 * 151 < finish;
end; {PSEARCH}
Figure 2.7. Procedure for parametric search
(2) x > A2. Now, F(x) is feasible.
(3) Aj < x < A2. F(x) may be feasible or infeasible. This is determined by
computing F(x). If z is feasible, A2 is set to z. Otherwise, Ai is set to z.
Following the update (if any) of Aj or A2 resulting from trying out the candidate
value z, all matrices in S that do not contain candidate values y in the range Ai <
y < A2 may be eliminated from S.
23
A more precise statement of the search process is given by procedure PSEARCH
(Figure 2.7). This procedure may be invoked as PSEARCH({M},0,oo,x,0). dimension
is the current number of rows or columns in each matrix of S and finish is a stopping
rule. The search for the minimum candidate that satisfies F is terminated when the
number of remaining candidates is < finish. If A2 = 00 when PSEARCH terminates,
then none of the candidate values is feasible. If A2 is finite, then it is the smallest
candidate that is feasible.
Since we have assumed n is a power of 2, each time a matrix is divided into
four, the submatrices produced are square and have dimension that is also a power
of 2. Since M is provided implicitly, each of its submatrices can be stored implicitly.
For this, we need merely record the matrix coordinates (indices) of the top left and
bottom right elements (actually, the latter can be computed from the former using
the submatrix dimension). The multiset T required on each iteration of the for loop
is easy to construct because of the fact, that M is sorted. Note that since M is
sorted, all of its submatrices are also sorted. Consequently, the largest element of
each submatix is in bottom right corner and the smallest is in the top left corner.
These elements can therefore be determined in constant time per matrix of S.
Theorem 3 : [j] The number of feasibility tests F performed by procedure PSEARCH
when started with S = {M}, M an n x n sorted matrix that is provided implicitly
is O(\ogn) and the total time spent obtaining the candidates for feasibility test is
0(n). â–¡
Corollary 1 : Let t(n) be the time needed to determine if F(x) is feasible. The
complexity of PSEARCH is 0(n f t(n) log n). â–¡
For some of the algorithms we describe later, PSEARCH will be initiated with
S > 1 (i.e., S will contain more than one M matrix initially; all matrices in S will
still be of the same size). To analyze the complexity of these algorithms, we shall use
the following theorem and corollary.
Theorem 4 : [4] If PSEARCH is initiated with S containing m sorted matrices, each
of dimension n, then the number of feasibility tests is O(\ogn) and the total time
spent obtaining the candidate values for these tests is O(mn). â–¡
Corollary 2 : Let t(n) be as in Corollary 1. The complexity of PSEARCH under the
assumptions of Theorem 4 is 0(mn + Â¿(n)logrc,). â–¡
While we have described PSEARCH under the assumption that the matrices of
candidate values are square and of dimension a power of 2, parametric search easily
handles other matrix shapes and sizes. For this, we can add more rows at the top and
columns to the left so that the matrices become square and have a dimension that is
a power of 2. The entries in the new rows and columns are 0. This does not affect
the asymptotic complexity of PSEARCH. Alternatively, we can modify the matrix
splitting process to partition into four roughly equal submatrices at each step. The
details of these generalizations are given in the literature [3, 4, 5, 6].
Procedure PSEARCH is a restricted version of procedure MSEARCHof [4]. An
alternative search algorithm in which the for loop is iterated twice, once with T
Â¿o
being the multiset of the largest values in S and once with T being the multiset of
the smallest values in S is given in Frederickson and Johnson [5, 6]. We experimented
with both the formulations and found that for our stack folding application, the three
iteration formulation of Figure 2.7 is faster by approximately 43%.
2.6 EqualWidth WidthConstrained
To use parametric search to determine the minimum height folding when the
layout width is constrained to be < w, we must do the following:
(1) Identify a set of candidate values for the minimum height folding. This set must
be provided implicitly as a sorted matrix with the property that each matrix
entry can be computed in constant time.
(2) Provide a way to determine if a candidate height h is feasible; i.e., can the
component stack be folded into a rectangle of height h and width w ?
In this section, for (1), we shall provide an n x n sorted matrix M (n is the
number of components in the stack) of candidate values. For the feasibility test of (2),
we can use procedure Minimize Width of Figure 2.6 by setting h equal to the candidate
height value being tested and then determining if width < w following execution of
the procedure. Since the component stack needs to be normalized only once and since
MinimizeWidth will be invoked for O(logrc) candidate values, the call to Normalize
should be removed from the procedure MinimizeWidth and normalization done before
the first invocation of this procedure. Also, the remaining code may be modified to
terminate as soon as w folds are made.
Since feasibility testing and normalization each take linear time, from CorolÂ¬
lary 1, it follows that the complexity of the described parametric search to find the
minimum height folding is 0(n f t(n) log n) = 0(n + n log n) = 0(n log n).
To determine the candidate matrix M, we observe that the height of any layout
is given by
j
r, + K + rJ+i
q=i
for some i,j, 1 < i < j < n. This formula just gives us the height of the segment
that contains components C, through Cr Define Q to be the n x n matrix with the
elements
r, + Eq=i h
0, i > j
Then for every value of w, Q contains a value that is the height of a minimum height
folding of the component stack such that the folding has width < w. From Theorem
2, it follows that
Qij ^ 1 â€” 1 ^ 1 â€” J Tl
Qij > Qi+ij, 1 < i < n, 1 < j < n
Let Mij = Qnj+ij, 1 < * < j < n. So, M is a sorted matrix that contains all
candidate values. The minimum M,y for which a width w folding is possible is the
27
minimum height widthw folding. We now need to show how the elements of M may
be computed efficiently given the index pair Let
Hi = hj, 1 < i < n
i=i
and let Ho = 0. We see that
Qij = <
r, + Ilj  //,_! + rJ+i,z < j
0, i > j
and so,
Mij
rn,+1 + Hj  + rj+i, i + j > n + 1
<
0, i + j < n + 1
So, if we precompute the //,s each M,j can be determined in constant time. The
precomputation of the H,,s takes 0(n) time. Hence, the overall complexity of the
parametric search algorithm to find the minimum height folding remains O(nlogn).
We note that our 0(n log n) algorithm is very similar to the 0(n log n) algorithm
of [5] to partition a path into k subpaths such that the length of the shortest subpath
is maximized. The differences are that
(1) We need to normalize the component stack before parametric search can be
used, and,
28
(2) The definition of M,j needs to be adjusted to account for the routing heights r,
and rJ+i needed at either end of the stack.
[5, 6, 3, 4] present several refinements of the basic parametric search technique.
These refinements apply to the equalwidth widthconstrained problem just as well
as to the path partitioning problem provided we start with a normalized instance and
use the candidate matrix M defined above. These refinements result in algorithms of
complexity O(nloglogn), O(nlog*n), and 0(n) for our component stack problem.
2.7 Experimental Results
The four parametric search algorithms for the equalwidth heightconstrained
problem were programmed in C and run on a SUN 4 workstation. For comparison
purposes, the 0(n3) dynamic programming algorithm of Paik and Sahni [21] was also
programmed. The run time performance of these five algorithms is given in Table 3.
These times represent the average time for ten instances of each size.The component
heights were obtained using a random number generator. The four parametric search
algorithms did not exhibit much run time variation among instances with the same
number of components. The algorithm of Paik and Sahni [21] takes much more time
than each of the parametric search algorithms. Within the class of parametric search
algorithms, the O(nlogn) one is fastest in the tested problem size range. This may
be attributed to the increased overhead associated with the remaining algorithms.
The O(nlogn) algorithm is recommended for use in practice unless the number of
components in a stack is very much larger than 4096.
Table 2.3. Run times of equalwidth widthconstrained algorithms
n
[7]
0(n log n)
0(n log log n)
0(n log* n)
0(n)
16
4.9
1.47
2.28
1.49
1.52
64
314.7
8.84
15.75
27.14
26.71
256
23255
45.96
76.55
169.58
169.42
4096

1041.90
2148.60
2597.75
2760.25
Times are in milliseconds
2.8 Conclusions
We have shown that the equalwidth heightconstrained and equalwidth width
constrained stack folding problems can be solved by applying the greedy method and
parametric search, respectively, if the input is first normalized. Normalization can be
done in linear time. Hence the overall complexity is determined by that of applying
the greedy method or parametric search to the normalized data.
We have developed a linear time algorithm for the equalwidth heightconstrained
problem. This compares very favorably (both analytically and experimentally) with
the 0(n2) dynamic programming algorithm of Paik and Sahni [21].
For the equalwidth widthconstrained problem we have developed four algoÂ¬
rithms of complexity O(nlogn), O(nloglogn), O(nlog*n), and 0(n), respectively.
All compare very favorably with the 0(n3) dynamic programming algorithm of Paik
and Sahni [21]. Experimental results indicate that the O(nlogn) algorithm performs
best on practical size instances.
CHAPTER 3
STANDARD AND CUSTOM CELL FOLDING
3.1 Introduction
Standard cell and gate array design styles are characterized by a row (column)
organization of the layout. The layout area is divided into a number of parallel rows
separated by routing channels as shown in Figure 3.1. The layout problem is generally
divided into two independent subtasks: placement and routing. In the placement step
the appropriate locations and orientations of the standard cells are decided. In the
routing step, the required connections are added.
One approach to placement is linear ordering with folding [26, 13, 2]. In this
approach, the placement is divided into two distinct steps. The first is linear ordering
in which an order of the modules is determined so as to minimize the connection
length or minimize maximal density of connections for modules positioned in one
line. The folding step maps the linear order into the row structure of the chip.
The linear ordering problem is NPhard and heuristic strategies are discussed in [26]
to minimize the connection length as well as maximal density of connections. The
greedy strategy is adopted in [26] for folding the ordered modules.
In this paper, we consider only the second step of the placement approach just
described. We begin with an ordered component list Ci, C2,..., Cn and develop
31
Ã³Â¿
Standard cell row
Routing channel
Channel Height
Figure 3.1. Standard cell Architecture
algorithms to fold this list into rows. If the list is folded at C,, then the component
C{ is in one row and C1+i is in the next. If the list is folded at C, and Cj and
at no component Ck for i < k < j, then components CÂ¿+i,..., Cj are in the same
row. Suppose the list is folded at C,. The channel height needed between the rows
containing C, and C:+1 may be estimated [8] using the number of nets that have a pin
in one of the components C\,..., CÂ¿ as well as in one of the components C,+x,..., Câ€ž.
Let this height estimate be /,, 1 < i < n. Let /â€ž = 0.
We study the following folding problems:
1. Standard cell folding to minimize total routing channel area subject to a chip
width constraint W. Since each routing channel has the same width, the chip
area assigned for routing is minimized when the sum of the channel heights is
minimized. This problem is solved in 0(n) time using dynamic programming
(Section 3.2.1). Note that whenever we use the term chip area, we could instead
use subchip area.
2. Standard cell folding to minimize chip area subject to a chip width constraint
W. In this problem both routing area and the area assigned for the components
is considered. Since the chip width is fixed at W, area minimization is equivalent
to minimizing chip height. In Section 3.2.1, we use dynamic programming to
obtain an 0(n) algorithm for this problem.
3. Standard cell folding to minimize total routing area subject to a total routing
channel height constraint //. This problem difTers from problem 1 only in that
the total height of the routing channels is fixed at //, and their width is variable
rather than the routing channels having variable total height and fixed width
W. In Section 3.2.2, we show how to solve this problem in O(nlogn) time.
4. Standard cell folding to minimize chip area subject to a chip height constraint
H. This problem is solved in O(nlogn) time in Section 3.2.2.
5. Standard cell folding using equal height channels of width W. We are to find
a folding that uses channels of minimum height. Among all such foldings, one
that uses the fewest number of routing channels (and hence fewest number of
component rows) is to be found. In Section 3.3.1, we develop an O(nlogn) exÂ¬
pected time algorithm for this problem. However, for most practical instances,
the algorithm has run time 0(n).
6. Standard cell folding using equal height routing channels of width W. Find a
folding that minimizes the total chip area. This can be done in 0(n2) time (see
Section 3.3.2).
7. Standard cell folding using equal height channels and a chip of height H. The
folding should minimize the total chip area. Our algorithm for this problem
can be found in Section 3.3.3. Its complexity is 0(n2).
8. Custom cell folding to minimize total chip area subject to a chip width W.
Note that in standard cell layout, all cells/components/modules have the same
height and may have variable widths. In custom cell layout, the cells may differ
in both height and width. We assume that the cell row height is set to be the
height of the tallest cell assigned to that row. In Section 3.4.1, we develop an
O(nlogn) algorithm for this problem.
9. Custom cell folding to minimize total chip area subject to a chip height conÂ¬
straint II. We solve this problem in Section 3.4.2 using an algorithm of comÂ¬
plexity 0(n log2 n).
We note that problem 8 has been studied previously in [21] in the context of bit
slice stack folding. The algorithm developed there has complexity 0(n2) while ours
has complexity O(nlogn). Problem 9 has also been studied in [21]. Our 0(nlog2n)
algorithm is an improvement over the O(?72logn) algorithm developed in [21].
3.2 Standard Cell Folding (Problems 14)
Our discussion of problems 14 is divided into two parts. In Section 3.2.1, we
consider problems 1 and 2. In both these, the chip width and hence the cell and
routing channel widths are fixed at IT. In Section 3.2.2, we consider problems 3 and
4 in both of which the chip height is fixed at //. In all four problems, the routing
channels have variable height. Each cell and hence each cell row has height h. The
width of cell i is u>Â¿, 1 < i < n. Let Wi: = Â£/[â€¢_, wk, 1 < * < j < n 1Â° case of fixed
chip width IT, we may assume that re, < IT, \ < i < n.
3.2.1 Width Constrained Case (Problems 1 and 21
We first consider problem 1. In this, we are to minimize the total routing area.
Since the channel widths are fixed at IT, it is sufficient to minimize the sum of
channel heights. Suppose that Ci,...,Cn is folded at C, in an optimal folding X.
Then the folding of Ci,..., C, in A' as well as that of C,+i,..., Cn must be minimum
area foldings. Hence, the principle of optimality holds and we can use dynamic
programming [10].
Let /(?,s), i < s, denote the minimum sum of channel heights when the comÂ¬
ponent list C,,..., Câ€ž is folded such that, Ct,..., Cs are in one cell row and the first
fold is at Cs (so, Cs+i is in the next cell row). It is easy to see that /(n,n) = /â€ž = 0.
For 1 < i < s < n, we get
/(*Â» = <
oo
if u)is > IT
/(* + l,s) otherwise
(3.1)
3Ã¼
Also, for 1 < i = s < n, we get
/(*,*) = min {/(?â– + 1,<7) + /,} (3.2)
t
The solution to problem 1 is obtained by first using Equations 3.1 and 3.2 to
determine 1 < i < s < n and then determining the minimum of /(l,j),
1
0(1) time to compute and f(i,i) takes 0(n â€” i) time. Hence, all the s, i < s
may be obtained in 0(n2) time. The minimum of the can be obtained in
0(n) time. So the overall time needed to solve problem 1 using Equations 3.1 and
3.2 is 0(n2).
A more careful implementation of the dynamic programming algorithm results
in a complexity 0(n). First we compute the suffix sums
n
Qi = YL wi'1 ^ * < n
j=i
in 0(n) time. Let Qn+1 = 0. From the suffix sums, each W{s can be computed in
0(1) time using
Wxt â€” QÃi Q 1
Next, from Equation 3.1 we see that for i < s and iots < W:
= /(*' + l,s) = /(?â€™ + 2,s) = ... = f(s,s) = F(s)
3Y
So, Equation 3.1 becomes (for i < s)
/(*'Â»Â«)
OO Wis > W
F(.s) otherwise
Using Equation 3.3, Equation 3.2 may be rewritten as:
(3.3)
^(0 = /(*>*)
min {/(? +!,
t
min {F(q) + li}
i
/, + min {F(g)}
i
(3.4)
The minimum total routing height needed is
min
1 <*
ti/ji < w
(3.5)
So, problem 1 may be solved by computing the n F(i)'s using Equation 3.4
(rather than the 0(n2) f(i, s)â€™s using Equations 3.1 and 3.2) and finding the minimum
of 0(n) F(iys in Equation 3.5. To compute the F(i)'s using Equation 3.4, we begin
with F(n) = 0 and compute F(n 1), F[n  2),..., F(l), in that order. To compute
an F(i) we need to find the minimum of a multiset S{ of previously computed F's.
Specifically,
Si = {F(q) 1 < q < n and iÃ¼,+ii9 < W)
oo
Observation 1 : If wj+1)? > W, then wi+hq > W fori < j. Hence, if F(q) Â£ Sj, then
F(q) ^ Si for i < j. â–¡
From Observation 1, it follows that Si1 may be computed from Si, 1 < i < n
by eliminating those F(qYs for which w,tq > W and adding in F(i) (note that, by
assumption, u>, = wa < W).
Lemma 1 : If F(a) â‚¬ Si, F(b) e Si, F(a) < F(b), a < b, then we may eliminate F(b)
from Si and continue to compute Si1, Si2, â€¢ â€¢ â€¢ ,S\ as described above. This does not
affect the values of F(i â€” 1),..., F(l).
Proof : Note that F(j), j < i is being computed using the equation
Hi) = 1j + jnin { F(q) }
F(q)es,
If F(b) is eliminated from Si, the value of F(i) is unaffected as F(a) < F(b). If F(a)
is eliminated from Sj, j < i because wj+1,0 > W, then F(b) would also be eliminated
as a < b and so wj+> Wj+ii0 > W. If F{a) is eliminated because there is a
F(c) < F(a), c < a, then so also will be F(b) be eliminated as F(c) < F(a) < F(b)
and c < a < b. â–¡
Observation 1 and Lemma 1 motivate us to maintain S as a sequential queue
[11] in an array Result[l..n], Result[i].q and Result[i\.F together represent an entry
of S yielding the value F(q). The elements of S are stored in positions tail, tail +
1 ,,head of array Result. The F(q) values are in descending order lefttoright.
Hence, the q values are in ascending order. Procedure MinimizeHtStandard (Figure
3.2) is the resulting algorithm.
Theorem 5 : The procedure MinimizeHtStandard given in Figure 3.2 is correct.
Proof : There are two parts to the working of procedure MinimizeHtStandard. The
first one is computing F(i), in which deletions of F(.)â€™s can occur. The second one
is inserting the computed F(i) at the appropriate place in the array.
The procedure maintains the following invariant at the start of each iteration of
the for loop.
Invariant: Result[tail\.F > Result[tail + 1].F > ... > Result[head\.F
It is clearly true when i = n â€” 1 as head = tail.
The invariant is true at the start of the iteration and so Result[head\.F is
the minimum maintained F{.) value. The component number is maintained in
Result[head\.q. We check whether Q[i + 1] â€” Q[Result[head\.q + 1] > W and if
so by virtue of Observation 1, we can eliminate this value. We do so by decrementing
the head pointer. We keep repeating this until we find a record k = Result[head\.q
such that BR[i + 1] â€” BR[k + 1] < W. This record pointed to by head has the minÂ¬
imum of the maintained F(.) values. We compute F(i) and store it in temp. Notice
that at the end of the while loop, we have deleted a few F(.)â€™s and the invariant
property still holds.
The invariant holds before the start of the second while loop. Here we start
at tail. If the inequality is true, then we delete the record and this is justified by
Lemma 1. We keep doing so until temp > Result[tail].F. Then we decrement the
4U
Procedure MinimizeHtStandard;
{ Compute the minimum height layout}
{ Initialize Sn = {F(n) = 0 } }
head := n;tail := n;
Result[tail\.F := 0; Result[tail].q = n;
{ Compute F(i) }
for i := n â€” 1 downto 1 do
begin
{ Compute Si }
while (Q[i + 1] â€” Q[Result[head\.q f 1] > W) do
head := head â€” 1; {delete from 5',+i, Observation 1 }
temp := /[Â¿] + Result[head].F; {Use min F in Si to compute i^i)}
while (temp < Result[tail].F) do { delete using Lemma 1 }
tail := tail + 1;
{ Store F(i) }
tail := tail â€” 1;
Result[tail].F := temp;
Result[tail].q := i;
end; { of for }
while (Q[l] â€” Q[Result[head\.q + 1] > W) do
head := head â€” 1;
MinimizeHtStandard := Result[head\.F;
end; { of MinimizeHtStandard }
Figure 3.2. Procedure to obtain a minimum height folding
41
tail pointer and store the temp record. So, the invariant holds at the end of the
iteration. Consequently, the invariant holds at the start of each iteration of the for
loop and the F's are correctly computed.
The minimum height layout is the minimum of the maintained F{.) values that
satisfy the width constraint, i.e Q[l] â€” Q[Result[head\.q + 1] < W. The last while
loop of the procedure take care of this fact. The last line of procedure computes the
MinimizeHtStandard, which is the minimum height layout. â–¡
Whenever the pointers head or tail are advanced in the while loops, we delete
F(.) values. This cost can be charged towards deletion of F(.) values. The remaining
code within the for loop takes 0(n) amortized time. The complexity of the procedure
MinimizeHtStandard is clearly 0(n) as no more than n deletions can take place.
Using standard dynamic programming traceback techniques [10], the fold points can
be obtained in additional 0(n) time.
Problem 2, i.e, minimize total area rather than just routing area may be done
in a similar way. Let /(Â¿,s),Â¿ < s now denote the minimum chip height for the
component list C,,..., Cn assuming the first fold is at s. As before /(n,n) = 0 and
Equation 3.1 holds for i < s. Equation 3.2 needs to be replaced by
/(*,*) = min {f(i + 1 ,q) + li + h} (3.6)
t
Using Equations 3.1 and 3.6 and the development for problem 1, an 0(n) time
algorithm for problem 2 may be obtained.
42
3.2.2 Height Constrained Case (Problems 34)
The solutions to problems 3 and 4 are similar. Both use parametric search and
we describe only the solution to problem 3. Since the total height of the routing
channels is fixed at H, the area assigned for routing is minimized by minimizing the
chip width W. To use parametric search to minimize W, we must do the following:
1. Identify a set of candidate values for the minimum W. This set must be proÂ¬
vided as a sorted matrix with the property that each matrix entry can be
computed in constant time.
2. Provide a way to determine if a candidate width W is feasible, i.e, can the
component stack can be folded using total channel height H and width W ?
For the feasibility test of 2, we can use procedure MinimizeHtStandard of Figure 3.2 by
setting W to the candidate value being tested and then determine if MinimumHtStandard <
H following the execution of the procedure.
Next, we provide annxn sorted matrix M (n is the total number of components
in the component list) of candidate values. To determine the candidate matrix M, we
observe that the width of any layout is given by Ylq=i wi for some i,j, 1 < t < j < n.
This formula gives us the width of the segment that contains components CÂ¿ throught
Cj. M is a sorted matrix that contains all candidate values. The minimum M,j for
which a height // folding is possible is the minimum width height// folding. We now
show how the elements of M may be computed efficiently given the index pair (i,j).
4U
Let
n
T, = tu,, 1 < e < n
j=<
and let Tn+j = 0. Then,
Ai{j â€” <
Tni+i â€” Tj+i,i + i > n + 1
0, i + j < n + 1
So, if we precompute the T,â€™s each M{j can be determined in constant time.
The precomputation of the T,â€™s takes 0(n) time. Since feasibility testing takes linear
time, from Corollary 2, it follows that the complexity of the described parametric
search to find the minimum width folding is 0(n + t(n)logn) = 0(n f nlogn) =
0(n log n).
3.3 Standard Cell Folding (Problems 57)
In this section, we deal with layouts which have fixed channel area, e.g, semiÂ¬
custom chips in which each routing channel is of the same height.
3.3.1 Minimum Channel Height (Problem 5)
We may view the result of any width W folding as the transformation of the
component list C\,...,Cn into a new component list B\,..., Bk, k < n where Bi
represents the components folded into row i of the layout. The width of each 5,
equals the sum of the widths of the components assigned to cell row i and this is
< W. Also, the routing channel between rows i and i + 1 must have height at least
equal to /j, where Cj, is the last component assigned to cell row i. We see that
i
width(Bi) = ^2 Wj
j=j,~ i+i
and height of channel(z) > /j.
where j0 = 0. When channel heights are the same, the height must be at least
max!
With this knowledge, we can develop a greedy algorithm to minimize channel
height. In this, we repeatedly combine together pairs of components (this is equivalent
to assigning them to the same cell row or i?Â¿) so that no created component has width
greater than W. The pairs are chosen in nonincreasing order of /,. The greedy
algorithm is given in Figure 3.3. Each set of combined components is represented by
a pointer, last, from the first component to the last and another pointer, first, from
the last component to the first. The width of the combined component is kept in the
first elementary component of the combined component.
In the algorithm of Figure 3.3, we initialize the combined component blocks to
consist of elementary components in the first for loop. The sort gives us the order
in which the I's are to be â€œeliminatedâ€ so that the maximum of the remaining Vs
is the minimum. In the while loop Vs are eliminated by combining blocks. This
is done until the next highest / (we assume that Y1 w% > VF so it is not possible to
eliminate all Vs). The highest remaining / is /[p[Â¿]] and this is the smallest channel
height needed.
4t>
Procedure MinChannelHeight;
for i := 1 to n do {intialize component blocks }
begin
first[i] := i; last[i] := i;
end;
Sort p[l..n] = [1,2,..., n] so that
/[p[i]] > l[p[i + 1]], 1
i := 1;
while( width[first[p[i]]] + width[p[i] + 1] < W ) do
begin
width[first\p[i]]] := width[first[p[i]\] + width\p[i\ + 1];
first[last[p[i] + 1]] := first[p[i]\;
last[first[p[i]]\ := last[p[i] + 1];
i := i + 1;
end;
MinChannelHeight:= /[p[r]];
end;
Figure 3.3. Procedure to obtain a minimum channel height folding
40
The correctness of the procedure is easily established. For its complexity, we
see that except for the sort step, the others take 0(n) time. The sort can be done
in O(nlogn) time. However, in practice, max{/,} â€” min{/,} = 0(n) and the sort
can be done in O(n) time using a radix sort with radix 0(n) (i.e., a bin sort) [11].
One may also verify that the minimum number of cell rows needed is obtained by
doing a greedy folding on the combined components that remain when procedure
MinChannelH eight.
3.3.2 Minimize Chip Area Subject to Width Constraint (Problem 61
First, consider a modified version of problem 6 in which in addition to the chip
width W, we are given the height L of each routing channel. We are to fold the
components so as to minimize the total chip area. To solve modified problem 6 in
linear time, we first make a pass over all the components and combine components (7,
and C,+i if /, > L. If any component that results has width > W, L is an infeasible
channel height. Following the combining of blocks in this way, the resulting blocks
are packed into cell rows in a greedy manner (i.e., a new cell row is started only if
the component being placed does not fit in the current cell row). The fact that this
minimizes the number of cell rows and hence chip area is easily verified.
Problem 6 can be solved using the solution to modified problem 6 by trying
out all 0(n) possible values for L (i.e., the distinct /,â€™s) and seeing which minimizes
overall area. (Actually only /,â€™s that are no less than the minimum feasible L as
determined by problem 5 need be tried). The resulting complexity is 0(n2).
3.3.3 Minimize Chip Area Subject to Height Constraint (Problem 7)
As for problem 6, we define a modified problem 7 in which the channel height L
is known. This modified problem is solved using parametric search. The candidate
values are described by the same M matrix as used in Section 3.2.2. The solution
to modified problem 6 is used for the feasibility test. This enables us to solve the
modified version of problem 7 in 0(n log n) time. Now, by trying out all O(n) possible
L values (as in Section 3.3.2) the minimum area folding can be determined. The
overall time complexity is O(n2logn).
3.4 Custom Cell Folding (Problems 8 and 91
In this section, we relax the requirement that all components have the same
height h. Let /i, be the height of C,. If C,, â€¢ â€¢ â€¢ ,Cj are assigned to the same cell row
and no other components are assigned to this row, then the cell row height is
max {/?.,}
The height of the folding is the sum of the heights of the cell rows and routing
channels.
3.4.1 Width Constrained Folding (Problem 81
Since the chip width is fixed at W, chip area is minimized by minimizing chip
height. Let 7?tJ = maXi
height into which C,,..., Cn can be folded such that the first fold is at Cs. Following
40
Procedure MinimizelItCustom,
{ Compute the minimum height folding}
head := n; tail := n;left := n; right := n;
for i := 1 to n do
Hlist[i\.gvalue := oo;
Flist[tail\.q := n; Flist[tail].F = 0;
Hlist[n\.top := tail; Hlist[n\.bottom := tail,
Hlist[n].hvalue := h[n];
Hlist[n].gvalue := Hlist[n].hvalue\ Flist[Hlist[n].top].F;
InitializeWinnerTree(71);
for i := n â€” 1 downto 1 do
begin
DeleteVahie(i),
InsertValue(i);
end;{of for }
Delete Value(0)\
MinimizelItCustom Winner of the Tree T;
end; { of MinimizelItCustom }
Figure 3.4. Procedure to obtain a minimum height folding for custom cells
"ÃC7
the development of Section 3.2.1, we see that /(n,n) = hn, and for i < s,
/(*Â»
oo if iy,s > VK
<
f(s,s) + Ris â€” h,, otherwise
(3.7)
and for t = s,
= min { /(i + 1,?) + /i, + /,} (3.8)
t
The minimum height into which the folding can be done is mini<9<â€ž {/(l,?)}
As described in Section 3.2.1, the set of dynamic programming equations can be
solved in 0(n2) time. However, the development of Section 3.2.1, that results in an
0(n) time solution does not apply to the new set of equations. Instead, we are able
to solve problem 8 in O(nlogn) time.
Define F(i) = f(i,i) â€” /?,. Substituting into Equation 3.7, we get
/(*Â» =
00
F{s) + Ris,
if Wia > VH
otherwise
From Equation 3.8, we get
(3.9)
F(i) = /(*>*) ~ hi
min {f(i + l,q)} + h
\
h + min{/(* + l,i + 1), min {/(* + 1,?)}}
t+l<9
U + min{F(Â¿ + 1) + /i,+i, min {F(?) + Ft+1,,}}
i+l
U + min {F(q) + Ri+i,g} (3.10)
t
ou
The height of the minimum height folding is
min JF(i) + Ru) (3.11)
l<7
Beginning with F(n) = /(n,n) â€” hn â€” 0, the remaining F's may be computed,
in the order F(n â€” 1), â€¢ â€¢ â€¢, F(l), by using Equation 3.10. To use Equation 3.10, we
keep a multiset 5, of F values as in Section 3.2.1. We begin with Sn = {F(n)} and
rewrite Equation 3.10 as :
F(t) = lÂ¡+ min(F(?)+&+,,â€ž} (3.12)
Observation 1 of Section 3.2.1 applies to Equation 3.12 and we may eliminate
from Si any F(q) for which > W.
Observation 2 : > Ri,q1 > â€¢ â€¢ â€¢ > /?,,,, 1 < * < q < n.
Using Observation 2 and Equation 3.12 we can show that Lemma 1 applies for
the computation of the F's as defined in this section.
Observation 3 : If hj > hq and i < j < q, then R{q ^ hq. Also, if hj > hj+\ and
i < j then Rij = Ri,j+\.
Now, we devise a method to find the minimum in Equation 3.12 efficiently. We
store the F(.) values in an array of records called Flist. Each Flist record has two
fields, Flist.q and Flist.F. Flist.F = F(Flist.q), ie, say F(8) = 50 then there is a
record which has Flist.q = 8 and Flist.F = 50. There are two pointers, head and
Procedure DeleteValue(i)]
{ Delete F(l) such that > W }
done~false; bool:= false;
while (not done) do
if (Q[i + 1] â€” Q[Flist[Hlist[right\.top].q + 1] > W) then
{Delete this F(.) value}
Hlist[right].top = IIlist[right].top â€” 1;
head = head â€” 1;
bool := true;
if (IIlist[right\.top < IIlist[righi].bottom) then
{ Make this record inactive }
Hlist[right\.gvalue := oo;
AdjustWinnerTree(T, right)]
right := right â€” 1; bool := false;
end;{of if}
else done := true;
end;{of if}
end;{of while}
if bool then
IIlist[right].gvalue := IIlist[right].hvalue + Flist[Hlist[right].top].F]
A djustWinner Tree (T, right)]
end;{of if}
end; { of DeleteValue }
Figure 3.5. Procedure to delete F(.) values as in Observation 3
tail that are used. Initially, head = tail = n. At any point, the head and tail have
values such that head > tail and F{tail) > F(tail + 1) > ... > F(head). This data
structure is same as the one used in Section 3.2.1.
When computing F(i) we need to associate F(q) values with Ri+i,q values and
then generate values F(q) + /?,+ii9, and find the minimum of these values. Suppose
hq > hq+1 then /?,, = /?,,,+! from Observation 3. Associate the values F(q) and
F(q + 1) with RitQ in this case. In general, if /2,i9 = Ri,q+i = Ri,q+2 = ... = Ri,i,
then we have a single Hlist record with hq value and associated with it the values
F(q),F(q + 1),..., F(/). Note that the F(.) values must satisfy the condition :
F(q) > F(q + 1)... > F(l). Otherwise the F(.) values which violate the condition
can be removed as in Lemma 1 by doing a left to right scan. We use an array of
records Hlist of size n with fields Hlist.hvalue representing the height, Hlist.top and
Hlist.bottom the two pointers which keep track of the F(.) values associated with this
record. The top and bottom pointers point to the F(.) values satisfying the condition:
Flist[Hlist.top].F < Flist[Hlist.top â€” 1].F < ... < Flist[Hlist.bottom].F. That is,
F list[H list .top]. F is the minimum F(.) value associated with this record. Note that
every F(.) value is associated with a unique Hlist record. We generate the value
Flist[Hlist.top].F+ Hlist.hvalue (which is F(q) + /?,i9) and store it in Hlist.gvalue
(generated value). These generated values are used to construct a winner tree T (see
Horowitz and Sahni [11]).
The winner of the tree T is the minimum we are looking for when computing
F(i). Let a Hlist record be active if Hlist.gvalue ^ oo. The pointers left and right,
left < right, are used to point to the currently active list of Hlist records. Hlist[left\
is the leftmost active record and Hlist[right] is the rightmost active record.
The procedure MinimizeHtCustom is given in Figure 3.4. The pointers are
initialized and the winner tree T initialized. In the procedure DeleteValue(i), the
F(l) values that satisfy the conditions in Observation 1, i.e., F(l) values such that
Wi+i'i > W are deleted. Let Q[j\ = Wj + Wj+1 + ... + wn.
The procedure DeleteValue is given in Figure 3.5. The boolean bool keeps track
of whether a Hlist record has been made inactive. If so, it moves the pointer right
to left to point to an active Hlist record. Also, the winner tree T is adjusted to
update the current minimum. The call to function A djust Winner Tree takes O(logn)
time [11]. Note that the winner tree T is adjusted a maximum of two times whenever
an F(.) value is deleted. Let the number of deletes when DeleteValue is invoked be
x. Then, the time complexity of DeleteValue is O(xlogn).
The procedure InsertValue(i) first finds the winner of the tree T. This is added
with l[i] to get F(i) as in Equation 3.12. Once we find F(i), we then insert a
Hlist record with Hlist.hvalue = h[i] and the F(.) value is inserted in the array of
Flist records. The winner tree T is then adjusted. In the first while loop of the
InsertValue, conditions of Lemma 1 are checked. If the conditions apply then the
F(.) values are deleted and the winner tree adjusted. Let the number of F(.) value
deletions be y. In the second while loop of the InsertValue, it is checked to see
whether the conditions of Observation 3 apply. If so, the F(.) records of the adjacent
Hlist record is added to the current Hlist record and the record moved. The winner
Procedure Insert Value (i);
left := left â€” 1; tail := tail â€” 1;
Flist[tail].q := i;
Flist[tail].F := Winner of the Min Tree T + /[*'];
Hlist[left].hvalue := h[i\;
Hlist[left\.top := tail; Hlist[left\.bottom tail;
Hlist[left].gvalue := Hlist[left\.hvalue + Flist[Hlist[left].top].F;
AdjustWinnerTree(T, left);
while (head ^ tail and Flist[tail].F < Flist[tail + l]./*1) do
Hlist[left + 1 \.bottom := //list[left p 1 ].bottom + 1;
if (IIlist[left + 1 ].bottom > IIlist[left f l].Â¿op) then
IIlist[left + 1] := Hlist[left\; { Move the record }
IIlist[lef t].gvalue := oo;
AdjustWinnerTree(T, left);
left := left + \;
end;{of if}
Flist[tail + 1] = Flist\tail); { Move the record }
tail := tail + 1;
Hlist[left\.top := tail; IIlist[left\.bottorn:= tail;
end;{of while)
while (left ^ right and Hlist[left\.hvalue> Hlist[left T l\.hvalue) do
{Conditions of Observation 3 apply}
Hlist[lef t].top := IIlist[left + 1 ].top;
Hlist[left + 1] := Hlist[left\; { Move the record }
Hlist[left\.gvalue := oo;
Adjust Winner Tree pi', left);
left := left + 1;
IIlist[left).gvalue := IIlist[left].hvalue + Flist[Hlist[left\.top].F;
AdjustWinnerTree(T, left);
end;{of while}
end; { of InsertValue }
Figure 3.6. Procedure to Insert F(.) values
00
tree is then adjusted. Every time, the conditions of Observation 3 apply in the while
loop, we spend O(logn) time. I.e., every time the conditions apply we merge two
adjacent Hlist records. Let the number of merges in a single invocation of InsertValue
be z. The total time taken by a single invocation of InsertValue, assuming y F{.)
values are deleted and z Hlist merges take place is 0((t/ + z + l)logn) time.
Note that not more than n F(.) values can be deleted in total, and not more
than n Hlist records can be merged in total. This implies that the total time taken
by the procedure MinimizeHtCustom is 0(n logn). In contrast, the algorithm of [21],
for the same problem takes 0(n2) time.
3.4.2 Height Constrained Folding (Problem 9)
To obtain the minimum height folding, given the width of the folding W, we use
parametric search in conjunction with the procedure MinimizeHtCustom developed
in Section 3.4.1. The procedure MinimizeHtCustom is used for the feasibility testing.
In feasibility testing, we are given the width,x, of the layout and we test whether it
is possible to obtain a folding such that the height of the folding is < H. The set of
candidate values is the same as the ones described in Section 3.2.2. The feasibility
testing takes O(nlogn) time, and from Corollary 2, the total time taken to obtain
the minimum height folding is 0(n + n log n * log n) = 0(n log2 n). The same problem
is solved in 0(n2logn) time in [21].
56
Table 3.1. Heights produced by widthconstrained standard cell folding algorithms
n
Greedy
Ours
100
624.4
609.8
400
1979
1961.2
1000
3813.7
3721.2
3.5 Experimental Results
The procedure MinimizelltStandard (Figure 3.2) was programmed in C and
run on a SUN 4 workstation. The solution produced by MinimizeHtStandard was
compared with the one obtained using the greedy heuristic of [26].
The data for these programs were produced by having a linearly ordered list of
modules and making interconnections between the modules using a random number
generator. The connections were prioritized so that there is a large number of conÂ¬
nections between modules which are close together. Our algorithm always produces
better solutions than the greedy heuristic and the results are depicted in Table 3.1.
The results shown are the average of 10 runs for each n. Our algorithm, on the averÂ¬
age, took 2 to 3 times more time to arrive at the solution than taken by the greedy
heurisitic.
The algorithm MinimizelltCustom was programmed and the run times compared
with the algorithm of [21]. The results of the experiments are shown in Table 3.2.
Both the programs were written in C. It, is evident that our algorithm is considerably
5Y
Table 3.2. Run times of widthconstrained folding algorithms for custom cells
n
Ours
[21]
64
2.56
23.80
250
10.9
350.3
1000
39.23
6125.5
Times are in milliseconds
superior to that of [21]. Since both algorithms generate optimal solutions, the chip
area is the same using either.
3.6 Conclusions
We have developed optimal algorithms to fold a linearly ordered list of standard
and custom cells. Several optimization constraints were considered. These resulted
in a total of nine problem formulations. Two of these correspond to problem formuÂ¬
lations for the bitslice stack folding problem studied in [21]. The algorithms we have
developed for these two cases are asymptotically superior to those developed in [21].
Experimentation with one of these shows that the asymptotic superiority of our alÂ¬
gorithms translates into a much reduced execution time. For the other formulations,
heuristics were proposed in Shragowitz et al. [25]. Our algorithms have acceptÂ¬
able asymptotic complexity and guarantee optimal solutions. In fact, experiments
conducted with one yielded foldings with smaller chip area on all tested instances.
CHAPTER 4
PLANAR TOPOLOGICAL ROUTABILITY
4.1 Introduction
The problem of routing twopin nets on a single layer has been studied previously
by several researchers. The river routing arid switch box routing problems are special
cases of this. Efficient algorithms for these can be found in [12, 15, 17, 19, 20,
22, 23, 27, 29, 30]. In this chapter, we are concerned with the problem of routing
(topologically) a collection of twopin nets in a single layer or plane. We refer to
this problem as the TPR problem. The input to the problem is a two dimensional
routing surface with a collection of modules placed in it (Figure 4.1(a)). We assume
that no two modules touch. There are pins on the periphery of the modules. Pins
with the same number define a net and are to be joined by an interconnect or wire.
In topological routing, we are concerned with defining wire paths. However, no
underlying grid is assumed and there is no minimum wire separation requirement.
Thus wire paths can take any planar shape and may run arbitrarily close to each
other. Wires are not permitted to intersect or run over modules. In Figure 4.1(a),
the broken lines indicate wire paths. The routing instance (RI) of Figure 4.1(a) is
topologically routable in a single layer while that of Figure 4.1(b) is not. The TPR
problem for RIs in which all modules lie on the boundary of the routing region (or
58
59
(b) A non planar routable example
Figure 4.1. A planar routable and a nonplanar routable case
more precisely all pins are on the boundary of the region) was studied in [18, 12, 23].
A simple linear time algorithm for this version of the TPR problem was developed
in these papers. For the case in which none of the modules are on the boundary,
Pinter [23] has suggested using the linear time planarity testing algorithm of Hopcroft
and Tarjan [9]. His algorithm is quite complex. MarekSadowska and Tarng [18] have
considered the TPR problem and several variants which include flippable modules
and multiterminal nets. They develop a linear time algorithm for TPR which is
based on module merging. In this chapter, we present, in Section 3.3, another linear
time algorithm for the general TPR problem that is almost as simple as the one
of [18, 12, 23] for the restricted TPR problem. This algorithm was developed by
Lim [16] but the proof that the algorithm is correct was incomplete. In this section,
we also present an algorithm for definite topological routing. That is, if the instance
is topologically routable we give an algorithm to determine the loose route of the
wires. The TPR algorithm is implemented differently than described in the Section
3.3. The implementation issues are discussed in Section 3.5. Experimental results
presented in Section 3.6 indicate that our algorithm is considerably faster than the
TPR algorithm of MarekSadowska and Tarng [18] particularly if the routing instance
is not planar routable. For the case of multipin nets, we show, in Section 3.4, that
testing for topological routability is equivalent to graph planarity testing and that
finding the maximum number of nets that is topologically routable is NPcomplete.
We also extend our twopin algorithm to handle multipin instances in which the
modules remain connected following the deletion of all nets with more than two pins.
4.2 Preliminaries
To simplify matters, we shall assume that TPR RIs that have modules on the
boundary (Figure 4.2(a)) have been augmented by a set of nets that are required to
be routed on the boundary and that this routing together with the module boundÂ¬
aries enclose the routing region (Figure 4.2(b)). This augmentation may require the
addition of corner modules (A,B,C of Figure 4.2(b)). This assumption is needed so
that our algorithm can account for the constraint that one cannot route around a
boundary module but can route around all other modules.
A pin segment, P = P\P2 â– â– â– Pk, is a sequence of pins on the boundary of a
module. p\.. .pk appear in this order when the module is traversed counterclockwise
beginning at p\. Some of the pin segments of the modules of Figure 4.3 are: abode and
gjkH of module 1; MLK and LK JGf of module 3; and AiF of module 2. Let last(P)
and first(P), respectively, denote the last and first pins of segment P. Let nei(p,)
denote the net associated with pin p,. Note that two pins p, and pj are to be connected
by a wire iff net(pi) = net(pj). A curve, C â€” P\ P? â– â– â– Pj, is a sequence of pin segments
Di
Figure 4.2. Augmentation
Figure 4.3. An example to illustrate some terminology
such that net(last(Pi)) = net(first(P{+1)), 1 < i < j. A curve, C = P1P2 â€¢ â€¢ â€¢ Pj,
is a closed curve iff net(last(P:)) = net{first{P\)). In Figure 4.3, net(p,) is the
lowercase letter corresponding to p,. So, net(h) = net(H) = h. Some of the curves
of Figure 4.3 are Ih Habcdeg Gf FEDCBAi, j JGfM mih, edcba ABCDE and
ABC cdeg GfM. IhHabcdeg Gf FEDCBAi and edcba ABCDE are closed curves.
With any curve C = P\ P? ... Pj, we associate j â€” l (j in case C is closed) wires. These,
respectively, connect the pins last(Pi) and first(Pi+1), 1 < i < j (and last(Pf) and
first(Pi) in case of a closed curve). Note that the curves, closed curves, and wires
associated with any RI depend only on the modules and the net to pin assignments.
These are not a function of the layout of any of the wires.
For any closed curve C = P\ P? ... Pj we define the following:
module(Pi)
module corresponding to pin segment Pi
pins(module(Pi)) ... set of all pins on module module(Pi)
pins(Pi)
set of all pins on segment P,
pins(C)
set of all pins on curve C = (J=1 pins(Pi)
extpins(C)
U=, pins(module(Pi)) â€” pins(C)
Note, it is possible that module(Pi) = modxile(Pj), for i ^ j.
Lemma 2 : [16] Let I be an RI that contains a closed curve C with respect to which
there are two pins a â‚¬ pins(C) and b Â£ ext.pins(C) such that net(a) = net(b). I is
not planar routable.
00
Figure 4.4. Two possibilities to connect a and b
Proof : Figure 4.4 shows two possibilities. It should be clear that no matter how
the wires of C and the wire (a, b) are laid out, there must be an intersection between
two of these. â–¡
Lemma 3 : [16] Let I be an RI that contains a closed curve C = P\, P2,..., Pj
and another curve R = R\Ri... Rk such that modxile(R\) = module(Pd) for some d,
1 < d < j and first(Ri) G ext.pins(C) (see Figure f.5). Assume that there exist two
pins a and b such that a G pins(C), b G extjpins(C){jpins(R), and net(a) = net(b).
L is not planar routable.
Proof : Follows from Lemma 2. â–¡
Two modules are connected iff there is a curve C = P1P2 ... Pj such that both
modules are in UÂ¿_j module(Pi). A connected component (or simply component) is
Figure 4.5. Another not planar routable situation
a maximal set of modules that are pairwise connected. It is easy to see that the
connected components of an RI are disjoint. A boundary component is a connected
component that includes at least one boundary module. Note that an RI with no
boundary modules has no boundary component while an RI with at least one boundÂ¬
ary module has exactly one boundary component (this is because RIs with boundary
components have been augmented as in Figure 4.2(b)).
Lemma 4 'â– An RI is topologically routable iff its components are (independently)
topologically routable.
Proof : It is easy to see that if the RI is topologically routable then each of its
components is topologically routable. Assume that each component is topologically
routable. Order the components of the RI so that the boundary component is first.
The remaining components are in arbitrary order. Let the components in this order
be K\, I<2,..., Kk If k = 1, then nothing is to be proved. So, assume K > 1. We
shall show how to construct a topological routing for K\, Kj â€¢.., Ka from a topological
DO
â–¡
O
Figure 4.6. Constructing the envelope of a component
routing for K1,..., Ka1 and Ka, 2 < a < k. First since a > 1, Ka is not a boundary
component. So, it is possible to surround it by a closed non self intersecting line
such that the region enclosed by this line includes exactly those modules that are
in Ka and no module touches the line. The region enclosed by this closed line has
the property that any two points in the enclosed region can be joined by a line (not
necessarily straight) that lies wholly within the region. We refer to the surrounding
line as the envelope of Ka. One way to obtain an envelope of Ka is to first construct
a set of \Ka\ â€” 1 (\Ka\ is the number of modules in Ka) lines (not necessarily straight)
so that modules of Ka together with these lines form a connected component in the
graph theoretic sense (see Figure 4.6). These lines do not touch or cross any of the
modules of RI. This construction can be done as every pair of modules of an RI can
66
be can be connected by such a line. The lines and modules define a spanning tree for
Ka. By fattening the lines as in Figure 4.6(c), the envelope is obtained. It is easy
to see that if Ka is topologically routable, then it is topologically routable with the
defined envelope. So, use such a topological routing for Ka. When this routing is
embedded into the routing for K1,..., Ka1 some of the topologically routed wires
ofA'ai may intersect (or touch) the envelope of Ka. However, none of these
wires originate or terminate in the envelope of Ka. So, these can be rerouted following
the contour of the envelope (Figure 4.7). â–¡
As a result of Lemma 4, we need concern ourselves only with the case when the
RI has a single component.
4.3 The Algorithm
Our algorithm to obtain a topological routing of a component uses Lemmas 2
and 3 to detect infeasibility. The algorithm is given in Figure 4.8. As stated, it
only produces an ordering of the wires such that when the wires are topologically
67
Algorithm Testing.Planar.Routability
Step 1: Let m be any module of the component and let p be any pin of m.
Step 2: Examine the pins of m in counterclockwise order beginning at pin p. When
a pin q is being examined compare net(q) and net(r) where r is the pin (if any)
at the top of stack A. If stack A is empty or net(q) ^ net{r) then add q and
the remaining pins of m to the top of stack A. Otherwise output (<7,r) and
unstack r from A.
Step 3: If both stack A and B are empty, then terminate.
Step 4: Let r be the pin at the top of stack A. Let s be the pin such that
net(r) = net(s).
(a) If s is at the top of the stack i?, then [output (r, s); unstack r from A and
s from B; go to start of Step 3].
(b) If s is in stack B but not at the top, then [output(â€œThe RI is not planar
routableâ€). Terminate].
(c) If s is in stack A, then [unstack r from A; add r to stack B; go to the
start of Step 4].
(d) If s is in neither of the stacks then [ set p to s; let m be the module
containing s; go to Step 2].
Figure 4.8. Topological routing.
routed, one at a time, in this order, then there is always a path between the two
end points of the wire currently being routed such that this path does not intersect
previously routed wires or cross any of the modules. This is sufficient to obtain the
actual topological routing.
Our algorithm employs two stacks A and B. Stack A maintains a pin sequence
that defines a curve of the RI. Stack B is used to retain pins that define closed curves
with respect to a (sub) curve on stack A. We describe the working of the algorithm
DO
(b)A possible topological routing
Figure 4.9. Example RI
with the aid of an example (Figure 4.9(a)). There are four modules 1â€”4 and 16 pins
a â€” h and A â€” H. net(p) = p if p is a lowercase letter and net(p) = lowercase(p) if
p is an uppercase letter. Suppose we begin in step 1 with m = 3 and p = B. Then
in step 2, BAFEC get stacked, in that order on to stack A. This corresponds to
the curve of Figure 4.10(a). Pin c is in neither of the stacks and in step 4(d), we set
m = 1, p = c, and go to step 2. In this step, the wires Cc, Ee and Ff are output
for routing. The pins g and D are put on the top of stack A. The curve traced so
far is shown in Figure 4.10(b). The routed wires are also shown as a curve. Note
that these wires have to be routed using the procedure find.route, otherwise they
can enclose a nonempty region. The curve is extended to module 2 and stack A has
configuration BAghb. The wire Dd is output for routing. The curve has the form as
shown is Figure 4.10(c). The curve cannot be extended further as both end points
of wire Bb are on the stack. This means that we have detected a closed curve of the
by
BAFEC
(a)
BAFECcefgDdhb
(c)
BAFECcefgD
(b)
BAFECcefgDdh  b
Figure 4.10. Illustration of the routing sequence
RI. The detected curve is that of Figure 4.10(c). We defer the routing of Bb until we
have verified emma 2 and 3 for this closed curve. The deferment also ensures that
the current topological routing does not contain a closed line. If Bb were routed now,
then the wires Bb, Cc, and Dd together with the boundaries of modules 1, 2, and
3 would define a closed line that encloses a nonempty region. This could result in
future routing problems as there would be no path between a point in the region and
one that is outside the region. For example, if the routing of Figure 4.11 is used, then
there is no path between a and A as a is in the enclosed (shaded) region while A is
outside of it. The routing of Bb is deferred by saving b on stack B. The curve of stack
A is extended to module 4 via the wire hH. Wire hH is output for routing. Also
the wires gG and Aa are output for routing. Stack A contains the pin B and stack
B contains the pin b. The curve is shown in Figure 4.10(d). Finally, the wire Bb is
output for routing and the since both the stacks are empty, the algorithm terminates
successfully in step 3.
70
Figure 4.11. Trapped terminal and module
The routing order is Cc, Ee, F f, Dd, hH, gG, Aa and Bb. Let us try this
out on our example. We see that no matter how Cc is routed there will remain a
routing path for the remaining wires. The routing of Dd and Hh cannot create any
enclosed regions and so cannot affect the feasibility of future routes. When Ee and
Ff are routed, an enclosed region can be formed. Hence these wires have to be
routed using the procedure findroute of Figure 4.13, otherwise they can enclose a
nonempty region. The topological routed RI can be found in figure Figure 4.9(b).
Lemma 5 : If algorithm TestingPlanarRoutability terminates in step 3, then the
input instance is topologically routable.
Proof : We shall show that the algorithm Testing_Planar_Routability maintains the
following invariant:
There is a topological routing of all wires output so far such that each remaining
wire is (individually) topologically routable.
71
Figure 4.12. To illustrate conflict
This is true when we start as at this time, no wires have been output and for
each wire, there is a routing path between its two pins. Assume that the invariant
holds just before some wire (r, s) is output. We shall show the invariant holds after
this wire is output for routing. Wire (r, s) satisfies exactly one of the following:
(a) It is output in step 2, r is a pin that was on stack A, s is the first pin to be
reached on its module.
(b) It is output in step 2, r was on stack A, s is not the first pin to be reached on
its module.
(c) It is output in step 4(a). At the time of output, r was at the top of stack A
and s at the top of stack B.
72
If we are in case (a), then since module(s) is reached for the first time, no matter
how wire (r, s) is routed at this time no new enclosed regions are formed. Hence all
remaining wires remain routable.
The proofs for cases (b) and (c) are similar. We consider case (c) only. From the
algorithm it follows that at some time prior to the output of (r, s), both r and s were
on stack A, s was at the top of A and about to be moved to stack B. The pins on
stack A beginning with r and ending at s define a closed curve C (as net(r) = net(s)).
Let these pins be from modules module(r) = Mj, M2,..., M* = module(s) (in this
order moving up stack A). Let p be any pin in pins(C) â€” {r, s} and let q be such that
net(p) = net(q). We may assume that either q â‚¬ pins(C) or module(q) is unvisited
at the time s is moved from stack A to stack B. Note that if this is not the case,
then q is in stack A and below r at this time. From the working of the algorithm it
follows that when r reaches the top of stack A (as it does by the assumption of (r, s)
being output from step 4(a)), p must be on stack B and above A. So, the algorithm
should have terminated unsuccessfully in step 4(b), contradicting the assumption of
termination in step 3.
Let U be the set of unvisited modules at the time s is transferred from stack A
to stack B. By extending our previous argument, we see that the set N of modules
visited by the algorithm between the time s is transferred from stack A to stack B
and the time (r, s) is output is such that
(1) /V C U U modules(C).
(2) All pins in (N D U) U (pins(C) â€” {r,s}) have been output for routing.
73
Algorithm find.route(r,s)
begin
currentpin := s; / := clockwisepin(currenipm);
while (/ r) do
begin
Step 1: Route clockwise from currentpin to l following the module boundary
Step 2: currentpin = q such that net(q) = net(l)
Step 3: Continue the route from / to currentpin following the existing route
closely
Step 4: / = clockwisepin(currenfpm)
end
Complete the route from currentpin to l = r following the module boundary
end
Figure 4.13. Algorithm to find routing path between pins r and s
(3) All pins reached from N D modules(C) are in pins(C) U pins(N D U).
We now claim that algorithm findroute(r,s) obtains a topological routing of
the wire (r, s) that preserves the invariant. To establish this, we need to show that
(A) The algorithm actually finds the route between r and s.
(B) The region enclosed by this route and the curve C contains no pins that have
not been routed to.
To prove (A), we need to show:
(Al) For each value of currentpin, clockwisepin(currenipm) (i.e., the pin clockwise
from currentpin) is defined and different from currentpin.
(A2) The net (l, currentpin) in step 3 of Figure 4.13 is already routed, so it is
possible to follow this route.
74
(A3) currentpin does not assume the same value twice.
For (Al), we simply assume that each module has atleast two pins. Modules
with a single pin may be ignored initially and routed to after the remaining routes
have been made. For (A2), let the value of the currentpin and / at the start of
the Â¿'th iteration of the while loop be c, and /,, respectively. We note that c\ = s
and /i â‚¬ pins(C). If /, â‚¬ pins(C) U pins(N D U), then from conditions (2) and (3),
it follows that ct+1 â‚¬ pins(C) U pins(N fl U) and wire (/,,c,+i) has been routed.
Suppose there is an /Â¿ ^ pins(C) U pins(N fl U). Let lj be the first such /,. Since
j > 1, lj_k and Cj_*+i are in pins(C) U pins(N fl U) for k > 1. Since Cj and lj
are on the same module, it follows that module(cj) $ N. So, lj (E extpins(C) and
Cj â‚¬ pins(C). From the way algorithm TestingPlanar.Routability works, it follows
that (lji,cj) is a segment of the curve C and that curve C when oriented from r
to s, first reaches /j_i and then Cj via wire (/j_i,cÂ¿). Hence lj1 â‚¬ pins(C). Since
lj2 â‚¬ pins(C) (by assumption on j), Cj_i â‚¬ pins(C) U pins(N fl U). Further, since
Cj1 is a module of C, Cjj â‚¬ pins(C). Now, since (lj\, Cj) is a segment of C and Cj\
is one pin clockwise from lj1 and a pin of C, it follows that (lji,Cj\) is a segment
of C oriented from /;_2 to Cj\. Continuing in this way, we conclude that (/i,c2) is
a segment of C oriented from /j to c2. However, we know that when C is oriented
from r to s there is only one wire segment that includes a pin of module(s) and this
is oriented to module(s). That is, the orientation is c2 to L, a contradiction. Hence,
there is no /, ^ pins(C) U pins(N fl U). Also, no /,â– 6 {r, s} at the start of a while
<0
loop iteration. From condition (2), it follows that all encountered (/,, ct+i) have been
routed.
For (A3), suppose that c, = Cj for some i and j, i < j. Since and
are twopin nets, it follows that /Â¿_i = j. Now, since c,_i and cÂ¿_i
are, respectively, one pin counterclockwise from /,â€¢_i and lji, it follows that c,_i =
Cj_i. Continuing in this way, we see that s = C\ â€” This implies that net
(lji, Cji+i) = (r, s) has already been routed. But, it has not. So, no c, is repeated.
(B) follows from the fact that findroute reaches only pins in pins(C)Upins(NH
U), condition (3) and the fact that findroute follows existing routes without enclosing
any new pins. â–¡
Lemma 6 : If the algorithm TestingPlanarRoutability (given in Figure 48) termiÂ¬
nates in step 4(b), the RI is not planar routable.
Proof : If the algorithm terminates in step 4(b), then let r and s be as in step 4. r
is at the top of stack A and s is in stack B but not at the top. Let x be at the top of
stack B and let y be the pin such that net(y) â€” net(x). y must currently be on stack
A as x can be put on stack B (see step 4(c)) only if y is on stack A. When one pin
of a net is in stack A and the other in stack B, the pins can leave the stacks together
(step 4(a)) or not at all. Since x is on stack B at termination, y must still be on
stack A and hence must be lower than r (as r is at the top). So, there is a curve
y ... r in the RI. Furthermore, curves y ... r ... s and y... r ... x must exist as this is
the only way s and x can get to stack A and then to stack B. Figure 4.12(a) shows
an example curve y ... r ... s. This figure assumes that module(s) / modulefr). The
76
proof for the case module(s) = module(r) is similar. Let m be the module at which
the curves y... r .. .s and y ... r ... x diverge (Figure 4.12(b)). Note that m may be
module(r) or a latermodule on the curve y ... r ... s. Let u be the pin of m that is the
last pin of m on curve y ... r... s and let v be the corresponding pin for y ... r... x.
Since all nets are twopin nets, u ^ v. Since x is above s in stack B, v must be
on the curve y .. .r ...s. The curve C = y...r...v...x is a closed curve. We see
that r G pins(C), and s G ext.pins(C), and net(s) = net(r). So, s and r satisfy the
conditions of Lemma 3 and the RI is not planar routable. â–¡
Theorem 6 : The algorithm TestingPlanar_Routability (given in Figure 48) is corÂ¬
rect.
Proof : Follows from Lemmas 5 and 6. â–¡
The algorithm of Figure 4.8 is easily implemented to have complexity of 0(n)
where n is the total number of pins. For this we need to use an array status[l..n] to
maintain the current status (i.e., on stack A, on stack B, on neither) of each pin.
4.4 Topological Routabilitv of Multipin Nets
We shall refer to the extension of TestingPlanar.Routability or TPR to the case
where some or all nets may have more than two pins as MTPR. The MTPR probÂ¬
lem may be solved in linear time by mapping MTPR instances into graph planarity
instances [15, 18]. However, the known linear time algorithms [9] for graph planarity
are complex and one is motivated to explore the possibility that simpler algorithms
exist for MTPR (just as they do for TPR). Unfortunately, this is not the case. We
77
show, in Theorem 7, that any algorithm for MTPR can be used to test graph plaÂ¬
narity with no increase in complexity. In Theorem 8, we show that the problem of
determining the maximum number of topologically routable nets of an MTPR inÂ¬
stance is NPhard. For the case where all the pins are twopin nets, we can use the
construction of [18] and the algorithm of [28] to find the maximum subset that is
topologically routable. The complexity of the resulting algorithm is 0(n2), where n
is the total number of nets. Theorem 7 motivates the quest for a simple linear time
algorithm for a restricted version of MTPR. We show that the algorithm of Figure 4.8
may be extended to handle MTPR instances in which every pair of modules remains
connected (though not neccessarily by a net) when all nets other than twopin nets
are eliminated.
Theorem 7 : Let I be an instance of graph planarity. I can be transformed in linear
time, into an instance I' of MTPR such that I is planar iff I' is topologically routable.
Proof : From the constructions of [15, 18], it follows that the topological routability
of an MTPR instance does not depend on the specific placement of the modules.
Hence, in constructing /', we need not specify the module placement. I' is obtained
from I by replacing each edge (i,j), i < j of I by a module M,j with two pins Mfj
and Mfy The nets of I' are Ni = {MÂ¡ \ i < j) U {MjÂ¿  j < 1 < i < n where n is
the number of vertices in I.
If V is planar routable, then each net, NÂ¡, has a planar realization that does
not contact the realization of any other net. This realization connects the pins of AlÂ¬
together, possibly using some Steiner points (see Figure 4.14(a)).
Figure 4.14. Realization of a planar net using one Steiner point
If TV, is a twopin net, then introduce vertex u, anywhere on the wire connecting
the two pins of TV,. If TV, has more than two pins, then by using the transformations
of Figure 4.14(b), we can reduce the number of Steiner points to one and also ensure
that each pin of Ni has exactly one wire connected to it. There transformations
preserve the planarity of the routing. The sole surviving Steiner point is replaced by
the vertex vÂ¿.
Now each wire that connects to v, connects to module Mij or Mji. This module
has another wire connecting to vertex j. Remove Mij (or Mji) and join the ends of
these two wires together by a line joining the terminals of Mij (or Mji). We now have
a planar embedding of I.
If I is planar, then start with its planar embedding. Replace u, by a Steiner
point; place M,j anywhere on the embedding of edge (i,j), i < j; split the edge (i,j)
at Mij and connecting the two ends (at the split point) to the terminals of Mij. This
yields a topological routing of
79
Hence, I is planar iff I' is topologically routable. â–¡
Let MTPRmax be the problem of determining whether or not k of the nets of an
MTPR instance are topologically routable. To show that MTPRmax is NPcomplete,
we use the following problem that is known to be NPcomplete [7].
Planar Subgraph: Given Graph G = (V,E), and a positive integer k < V .
Is there a subset V C V with  V > k such that the subgraph induced by the V
vertices is planar?
Theorem 8 : MTPRmax is NPcomplete.
Proof : It is easy to see that MTPRmax is in NP. Also, from an instance / of the
planar subgraph problem, we can construct an instance I' of MTPRmax by replacing
edges by modules as in Theorem 7. It is easy to see that /' has k nets that are
topologically routable iff I has an induced subgraph with k vertices that is planar.
â–¡
Any instance I of MTPR may be transformed into an instance I' of TPR which
includes unordered modules (i.e., modules whose terminals may be rearranged at
will). P has the property that there is an arrangement of terminals for each of the
unordered modules which results in /' being topologically routable iff I is topologÂ¬
ically routable. To obtain I' from 7, for each multipin net NÂ¿ of size k, k > 2, we
introduce an unordered module UMi with k pins. The net Ni is replaced by k two
pin nets, one pin of each of these nets is an original pin of N{ and the other a pin
of UM{. Since planar routability is not affected by module placement, UM{ may be
placed anywhere in the routing region. An example is given in Figure 4.15.
80
(a) A multipin net (b) Two pin nets
Figure 4.15. Transformation from multipin to twopin nets
Theorem 9 : The pins of each unordered module of V can be ordered so that the
resulting instance of TPR is topologically routable iff I is topologically routable.
Proof : If the pins of the UMf s can be so ordered, then a topological routing of
/ is easily obtained from the topological routing of I' (simply replace each UM{ by
a Steiner point). If I is topologically routable, then using transformations similar to
those in Figure 4.15(b), we may transform the topological routing into one in which
each multipin net iV, of size k > 2 is routed using exactly one Steiner point. This
Steiner point is replaced by module t/M, and the pin ordering is determined by the
topological routing around the Steiner point. â–¡
If we knew which terminal orderings of the UM,â€™s to use, we could simply convert
each UMi to an ordered module and run the TPR algorithm. Unfortunately, we do
not know this. Therefore we need to modify algorithm Testing^Planar.Routability so
as to properly handle unordered modules. As in section 3, we may assume that /
81
is a single component. For our modification to work, we assume that I remains a
single component when all multipin nets N{ of size k > 2 are eliminated from I. The
modified algorithm MTPR is given in Figure 4.16.
The working of the MTPR algorithm is explained using the example in FigÂ¬
ure 4.17. There are five modules 15 and there are seven nets out of which six are
twopin nets. The seventh is a fourpin net. The pins of the fourpin net are w,x,y
and z. In step 1 of the algorithm of Figure 4.16, we replace the multipin net of size
four with a new unordered module UM\ which has four pins. Suppose we begin in
step 2 with m = 5 and p = A. Then in step 3, ACxB get stacked, in that order, on
to stack A. This corresponds to the curve of Figure 4.18(a). The top of stack A now
has pin Z?, and the curve on stack A is extended by adding pins from module 1 to
stack A. In this process, the wire Bb is output for routing. This situation is depicted
in Figure 4.18(b). Since pin a is at the top of stack A and its mate is below it in the
stack, pin a is moved from stack A to stack B. At the top of stack A, we have a pin
of a fourpin net and since this net is seen for the first time, we add the unordered
module to the top of stack B and mark j/ as having been seen. We route the wire
from pin y to the unordered module. The pin x, which is below pin y is next routed
to the unordered module. This is done using the procedure find.route of Figure 4.13.
The curve on stack A is extended by adding pins from module 4. At this time, wire
Cc is output for routing. This scenario is depicted in Figure 4.18(c). Now, pin z is
at the top of stack A. This pin is routed to the unordered module in step 6(a) of the
algorithm. Next, in step 3 the wire dD is output for routing. Also, pin E is put on
82
Algorithm MTPR
Step 1: For each multipin net ./V, of size k > 2, introduce a new unordered module
UM{ with k pins and replace Ni by k two terminal nets as described earlier.
Step 2: Let m be any ordered module and let p be any pin of m which corresponds
to an original twopin net.
Step 3: Examine the pins of m in counterclockwise order beginning at pin p. When
a pin q is being examined compare net(q) and net(r) where r is the pin (if any)
at the top of stack A. If stack A is empty or net(q) ^ net(r) then add q and
the remaining pins of m to the top of stack A. Otherwise output (q,r) and
unstack r from A.
Step 4: If both stacks A and B are empty, then terminate.
Step 5: Let r be the pin at the top of stack A. Let s be the pin such that
net(r) = net(s). If module(s) is an unordered module then go to step 6.
(a) If s is at the top of the stack B, then [output (r, 5); unstack r from A and
s from B\ go to start of Step 4].
(b) If s is in stack B but not at the top, then [output(â€œThe RI is not planar
routableâ€). Terminate].
(c) If s is in stack A, then [unstack r from A; add r to stack B\ go to the
start of Step 5].
(d) If s is in neither of the stacks then [ set p to s; let m be the module
containing s\ go to Step 3].
Step 6:
(a) If module(s) is at the top of stack B, then [output (r, s); unstack r from
A; mark pin s as having been seen. If all pins of module(s) have been
marked then unstack module(s) from B; go to start of step 4]
(b) If module(s) is on B but not at the top, then [output(â€œThe RI is not
planar routableâ€). Terminate].
(c) If module(s) is not in stack Z?, then [unstack r from A; mark pin s as
having been seen; add module(s) to the top of stack B\ go to start of step
5],
Figure 4.16. Topological routing of multipin net for restricted version
83
Figure 4.17. Example RI with a four pin net
the top of stack A. At this point stack A contains pins AfE, bottom to top in that
order. This situation is depicted in Figure 4.18(d). We set m = 2 and p = e in step
3 of the algorithm and output wires Ee and fF for routing. The remaining pin w is
put at the top of stack A. In step 6(a) of the algorithm, we mark pin w as seen and
route a wire from this pin to the unordered module. Also, we remove the unordered
module from the top of stack fÃ. This is shown in Figure 4.18(e). Now, stack A
contains pin A and stack B contains pin a and the wire Aa is output for routing in
step 5(a) of the algorithm. Both the stacks are empty and the algorithm terminates
successfully in step 4. The topologically routed RI can be found in Figure 4.17.
Lemma 7 : If the algorithm MTPR halts in step then the wires are planar routable.
Proof : The proof is very similar to that of Lemma 5. The same invariant holds.
When we put an unordered module on stack B and mark a pin (if that is the first
pin marked) then we connect this pin to the unordered module. See that there is no
84
A C x B ACxBbya
Figure 4.18. Illustration of the routing sequence with Multiterminal net
enclosed region and the invariant holds true. Now, if we are routing another pin (of
multipin net) then the pin it has to be connected is on the unordered module. So as
soon as we reach the unordered module, the next pin is chosen as the pin it has to
be connected to (this also defines the order of pins in the unordered module). The
proofs apply in this case as we have made all nets twopin nets. â–¡
Lemma 8 : Let I be an RI that contains a curve C = P1P2 ... Pj. Let R = R1R2 ... Rk
and S = S1S2 ...Si be two curves such that module{R\) = module(Pd) for some d,
1 < d < j and first{R\) â‚¬ ext.pins(C) and module(S\) = module(Pe) for some e,
1 5: e < j and first(S 1) Â£ pins(C).
85
Let C be such that first(P\) and last(Pj) are part of the same net N. Assume
that there exist two pins a and b such that a â‚¬ pins(C) U pins(S), b â‚¬ extjpins(C) U
pins(R) and net(a) = net(b) ^ N.
I is not planar routable.
Proof : Follows from Lemma 2. â–¡
Lemma 9 : If algorithm MTPR terminates in steps 5(b) or 6(b), the RI is not planar
routable.
Proof : Suppose the algorithm terminates in step 5(b). Let r and s be as in
step 5 and let x be at the top of stack B. Note that r and s define a twopin net.
If x is a twopin net, then the RI is not planar routable (see proof of Lemma 5).
So assume that x is an unordered module (note that only pins of twopin nets and
unordered modules get on to stack B). Module x must have atleast one marked and
one unmarked pin. Let C be the curve defined by the stack A segment from r to s
when s was at the top of stack A just prior to being transferred to stack B. From the
working of MTPR, it follows that there is a pin p â‚¬ pins(C) from which a path was
traced to the multipin net corresponding to module x. Furthermore, there is atleast
one pin a of the multipin net that is on a path from a pin that is not in pins(C). A
possible situation is shown in Figure 4.19. The conditions of Lemma 8 are satisfied
and the RI is not planar routable.
If the algorithm terminates in step 6(b), then r is a pin of a multipin net and
module(s) is an unordered module. Let x be at the top of stack B at the time of
termination. Let j be one of the pins that have already been routed to module(s).
Figure 4.19. An possible situation where the RI is unroutable
Let C be the curve defined by the stack A segment at the time pin j was output for
routing. Let S be the curve or pin in pins(C) that was used to reach pin x. Let y
be such that net(x) = net(y). Since y must be below r on stack A and r is a net of
a multipin net, the path from y to r on stack A must include a pin in ext.pins(C).
By setting a and b of Lemma 8 to x and y respectively, we see that the conditions
of Lemma 8 are satisfied and the RI is unroutable. The proof for the case x is an
unordered module is similar. â–¡
4.5 Implementation of TwoPin Algorithm
While the correctness proof for our algorithm is somewhat involved, the algoÂ¬
rithm itself is quite simple and easy to implement. To get good performance we
implemented stack A as a stack of modules rather than one of pins as described in
Section 3.3. So, when step 2 of Figure 4.8 adds q and the remaining pins of m to
87
stack A, we simply add a record of the type (m,q, /) where / is the last pin of m to
the stack. Also, to get the top pin of stack A, we look at the top record (m,q,l).
The top pin is l. To delete this pin, the top record is changed to (m,q,p(l)) where
p(l) is the predecessor of pin / unless q = l. In the latter case, the record (m,q,l) is
deleted from the stack. The role of array status needs to be changed to support this
change in stack structure. We now keep a status for a module as well as for a pin.
A moduleâ€™s status reflects whether or not it is in stack A and a pinâ€™s status reflects
whether or not it is in stack B.
The twopin net algorithm of MarekSadowska and Tarng [18] is a two step
algorithm:
Step 1: Merge modules together to obtain an equivalent routing problem in which
all pins are on the periphery of a routing region.
Step 2: Determine the feasibility of the equivalent problem using a single stack
scheme.
To implement step 1, we performed a traversal of the modules. Each module was
represented as a singly linked circular list of pins. With this representation, modules
can be merged efficiently. By contrast, for the algorithm of Figure 4.8, modules were
represented using doubly linked circular lists.
The multipin net algorithm of MarekSadowska and Tarng [18] has three steps:
Step 1: Merge modules together to obtain an equivalent routing problem in which
all pins are on the periphery of a routing region.
88
Figure 4.20. Treelike connected circuits
Step 2: Traverse the pins and transform multipin nets into two pin nets.
Step 3: Determine the feasibility of the equivalent problem using a single stack
scheme.
4.6 Experimental Results
We implemented our algorithm for twopin nets and multipin nets and that
of MarekSadowska and Tarng [18] in C and obtained execution times using both
circuits that are routable and those that are not. For the twopin net case, the
routable circuits used are highly structured ones as shown in Figures 4.20 and 4.21
as well as randomly generated ones. The nonroutable circuits used were obtained by
modifying the treelike circuits of Figure 4.20.
89
Figure 4.21. Sixway connected circuits
Figure 4.22. Treelike connected circuits with multipin nets
yu
\
X
X
/
X
X
X
X
X
X
X
/
X
X
\
Figure 4.23. Eightway connected circuits with multipin nets
For the multipin net case, we used highly structured circuits as shown in FigÂ¬
ures 4.22 and 4.23. The nonroutable circuits for the multipin case was obtained by
modifying the structured circuits.
The timing results for the routable circuits of twopin nets, are shown in Tables
4.1, 4.2 and 4.3 respectively. The times are in milliseconds and the programs were
run on a SUN 4 workstation. On treelike circuits, the algorithm of MarekSadowska
and Tarng [18] took 65% more time than ours, on average; on sixway circuits, it
took approximately 40% more time; and on random circuits, it took approximately
37% more time.
For the multipin net case, the timing results for the routable circuits are shown
in Tables 4.5 and 4.6. On treelike circuits with multipin nets, the algorithm of
MarekSadowska and Tarng [18] took 295% more time than ours, on average; on
91
Table 4.1. Treelike Connected Circuits
NP
864
704
1440
6048
6944
24928
NM
16
25
49
100
225
400
Our
3.40
2.91
5.53
22.90
27.40
93.30
[1]
5.45
4.36
9.10
37.80
44.90
162.80
NP = Number of pins in the circuit
NM = Number of modules in the circuit
Table 4.2. SixWay Connected Circuits
NP
1792
1920
522
8352
9856
17396
NM
25
49
100
100
225
400
Our
8.48
10.17
4.20
44.54
53.60
105.40
[1]
11.08
11.93
9.52
55.18
66.25
121.90
92
Table 4.3. Random Circuit
NP
92
1472
2944
11776
NM
28
28
28
28
Our
0.91
6.54
12.76
49.95
[1]
0.98
9.18
18.17
78.20
Table 4.4. Faster Termination for NonRoutable Circuits
NP
868
6944
13888
NM
25
225
225
Our
3.70
16.24
30.30
[1]
15.50
45.70
92.50
eightway connected circuits with multipin nets, it took approximately 86% more
time.
Our algorithm has a distinct advantage over that of MarekSadowska and Tarng
[18] when working with nonroutable circuits. For the case of twopin nets, the alÂ¬
gorithm of MarekSadowska and Tarng [18] must complete its step 1 before it can
detect infeasibility and for the case of multipin nets the algorithm of MarekSadowska
and Tarng [18] must complete its step 1 and step 2 before it can detect infeasibility,
whereas our algorithm can detect infeasibility at any stage. Hence, it is possible
93
Table 4.5. Eightway Connected Circuits with Multipin Nets
NP
516
1264
2328
4644
12544
22724
NM
16
25
49
100
225
400
Our
2.43
5.73
11.41
25.3
72.4
133.3
[1]
4.46
10.84
21.49
47.70
134.7
243.5
Table 4.6. Treelike Connected Circuits With Multipin Nets
NP
738
1148
1360
4068
10318
20178
NM
16
25
36
100
225
400
Our
2.47
3.77
4.6
14.62
39.8
76.9
[1]
9.42
14.45
17.75
58.85
162.6
316.2
Table 4.7. Faster Termination for NonRoutable Circuits With Multipin Nets
NP
3708
9184
23218
NM
100
225
400
Our
2.46
5.43
10.7
[1]
55.1
101.8
364.9
94
for our algorithm to take much less time than that of MarekSadowska and Tarng
[18] when working on such circuits. The results from three test circuits are given in
Tables 4.4 and 4.7. The algorithm of MarekSadowska and Tarng [18] took approxÂ¬
imately 3 to 5 times the time taken by our algorithm for circuits with two pin nets
only and for circuits with multipin nets it took 18 to 33 times as much as time as did
our algorithm.
4.7 Conclusion
We have developed a relatively simple and fast linear time algorithm to test
the planar topological routability of a collection of twopin nets. The algorithm
is faster than the linear time algorithm of MarekSadowska and Tarng [18]. We
have also shown the equivalence of the multipin net routability problem and the
graph planarity problem. This implies that we cannot solve the multipin problem
by a simpler algorithm than used for graph planarity. Our simple twopin algorithm
can be extended to work on routing instances that remain connected following the
elimination of all multipin nets. These are the same instances that can be solved
by the specialized algorithm of MarekSadowska and Tarng [18]. We also show that
determining the maximum number of routable nets is NPhard when some or all of
the nets have more than two pins. When all nets are twopin nets, this can be done
in 0(n2) time.
CHAPTER 5
CONCLUSIONS AND FUTURE WORK
For a stack of equalwidth bitslice architectural components, we developed a
normalization technique which allowed us to obtain linear time algorithms for the
heightconstrained and widthconstrained layouts. These algorithms are at least an
order of magnitude faster than the existing algorithms for the same problem.
We considered folding for a list of standard cells and custom cells. We considÂ¬
ered various optimization constraints which resulted in nine different problem formuÂ¬
lations. Optimal algorithms were developed for all these formulations.
We have developed a faster algorithm for the topological routability problem
with 2pin nets. We have also shown the equivalence of the multipin net topological
routability problem and the graph planarity problem. This means that the multipin
net topological routability problem cannot be solved by a simpler algorithm than
used for the graph planarity problem. We show that the problem of determining the
maximum number of topologically routable nets in the presence of multipin nets is
NPhard.
Experimental results show that the asymptotic superiority of our algorithms
translate into lesser execution time compared to existing algorithms.
95
96
The algorithms developed by Paik and Sahni [21] for a stack of bitsliced archiÂ¬
tecture components which are of unequal width have high time complexity (0(n4) to
0(n5)). This will translate into very large execution time for even small instances.
Algorithms which have lesser asymptotic time complexity could be developed.
Effective heuristics could be developed for the problem of determining the maxÂ¬
imum number of routable nets for topological routability of instances with multipin
nets.
REFERENCES
[1] BreUER, M. A. MinCut Placement. Journal of Design Automation and Fault
Tolerant Computing 1, 4 (1977), 346362.
[2] Cox, G. W., AND CARROLL, B. D. The Standard Transistor Array (STAR)
Part II Automatic Cell Placement Techniques. In ACM/IEEE Design AutomaÂ¬
tion Conference (1980), pp. 451457.
[3] FREDERICKSON, G. N. Optimal Algorithms for Tree Partitioning. In ProÂ¬
ceedings 2nd A CMS [A M Symposium on Discrete Algorithms, Ottawa, Canada
(1991), pp. 168177.
[4] FREDERICKSON, G. N. Optimal Parametric Search Algorithms in Trees I: Tree
Partitioning. Tech. Rep. CSTR1029, Purdue University, West Lafayette, IN,
1992.
[5] FREDERICKSON, G. N., AND JOHNSON, D. B. Finding kth Paths and p
Centers by Generating and Searching Good Data Structures. Journal of AlgoÂ¬
rithms 4 (1983), 6180.
[6] FREDERICKSON, G. N., AND JOHNSON, D. B. Generalized Selection and
Ranking: Sorted Matrices. SIAM Journal of Computing 13 (1984), 1430.
[7] GAREY, M. R., AND JOHNSON, D. S. Computers and Intractability: A Guide
to the Theory of NPCompleteness. W.H. Freeman and Company, San Francisco,
1979.
[8] Heller, W. R., Mikhail, W. F., and Donath, W. E. Prediction of Wiring
Space Requirements for LSI. In Proceedings of the lfth Design Automation
Conference (1977), pp. 3242.
[9] Hopcroft, J., AND Tarjan, R. Efficient Planarity Testing. Journal of ACM
21, 4 (1974), 549568.
[10] HOROWITZ, E., AND Sahni, S. Fundamentals of Computer Algorithms. ComÂ¬
puter Science Press, Potomac, MD, 1978.
[11] HOROWITZ, E., AND Sahni, S. Fundamentals of Data Structures in Pascal,
4th ed. Computer Science Press, Potomac, MD, 1994.
97
98
[12] Hsu, C. General River Routing Algorithm. In ACM/IEEE Design Automation
Conference (1983), pp. 578583.
[13] Kang, S. Linear Ordering and Application to Placement. In ACM/IEEE Design
Automation Conference (1983), pp. 457464.
[14] Larmore, L., Gajski, D., AND Wu, A. Layout Placement for Sliced ArÂ¬
chitecture. IEEE Transactions on ComputerAided Design 11, 1 (Jan 1992),
102114.
[15] LEISERSON, C., AND Pinter, R. Optimal Placement for River Routing. SIAM
Journal on Computing 12 (1983), 447462.
[16] LlM, A. Efficient Algorithm for CAD in VLSI . PhD thesis, University of
Minnesota, Minneapolis, MN, 1992.
[17] LlM, A., CHENG, S., AND Saiini, S. Optimal Joining of Compacted Cells.
IEEE Transactions on Computer 42, 5 (May 1993), 597607.
[18] M. MarekSadowska and T. Tarng. SingleLayer Routing for VLSI: AnalÂ¬
ysis and Algorithms. IEEE Transactions on ComputerAided Design CAD2, 4
(1983), 246259.
[19] MlRZAIAN, A. River Routing in VLSI. Journal of Computer and System SciÂ¬
ences 34 (1987), 4354.
[20] MlRZAIAN, A. A Minimum Separation Algorithm for River Routing with
Bounded Number of Jogs. In International Conference in ComputerAided DeÂ¬
sign (1989), pp. 1013.
[21] PAIK, D., AND SAHNI, S. Optimal Folding of Bit Sliced Stacks. IEEE TransÂ¬
actions on ComputerAided Design 12, 11 (Nov 1993), 16791685.
[22] PlNTER, R. On Routing Two Point Nets Across a Channel. In ACM/IEEE
Design Automation Conference (1982), pp. 899902.
[23] PlNTER, R. RiverRouting: Methodology and Analysis. In Third Caltech ConÂ¬
ference on VLSI (March 1983).
[24] SlIERWANI, N. Algorithms for VLSI Physical Design Automation, 1st ed. Kluwer
Academic, Boston, 1992.
[25] Shragowitz, E., Lee, J., and Saiini, S. PlacerRouter for SeaofGates
Design Style. Progress in Computer Aided VLSI design 2 (Ablex, Norwood, NJ,
1990), 4392.
[26] Shragowitz, E., Lin, L., and Saiini, S. Models and Algorithms For StrucÂ¬
tured Layout. Computer Aided Design 5, 20 (1988), 263271.
99
[27] SIEGEL, A., AND Dolev, D. The Separation for General Single Layer Wiring
Barriers. In VLSI Systems and Computations (1981), pp. 143152.
[28] SUPOWIT, K. J. Finding a Maximum Planar Subset of a Set of Nets in a
Channel. IEEE Transactions on ComputerAided Design CAD6, 1 (1987), 93
94.
[29] TUAN, T., AND HakIMI, S. River Routing with Small Number of Jogs. SIAM
J. Discrete Math. 3, 4 (1990), 585597.
[30] TUAN, T., and Teo, K. On River Routing with Minimum Number of Jogs.
IEEE Transactions on ComputerAided Design 10, 2 (1991), 270273.
[31] Wu, A., AND D.Gajski. Partitioning Algorithms for Layout Synthesis from
RegisterTransfer Netlists. IEEE Transactions on ComputerAided Design 11, 4
(Apr 1992), 453463.
BIOGRAPHICAL SKETCH
Venkatramanan Thanvantri was brought up in Madras, India. He completed his
undergraduate degree in physics from Vivekananda College, University of Madras.
He obtained an M.E degree in computer science from the Indian Institute of SciÂ¬
ence, Bangalore, India. He started to work towards his Ph.D from Fall 1992 in the
Computer and Information Science and Engineering Department at the University of
Florida. His research interests include CAD VLSI algorithms and parallel computing.
He will be graduating in August 1995.
100
I certify that I have read this study and that in my opinion it conforms
to acceptable standards of scholarly presentation and is fully adequate, in
scope and quality, as a dissertation for the degree of Doctor of Philosophy.
â– AD
5 art a j SahfirfChairman
Professor of Computer and
Information Science and Engineering
I certify that I have read this study and that in my opinion it conforms
to acceptable standards of scholarly presentation and is fully adequate, in
scope and quality, as a dissertation for the degree of Doctor of Philosophy.
YV)Ias^*'
Baba Vemuri
Associate Professor of Computer and
Information Science and Engineering
I certify that I have read this study and that in my opinion it conforms
to acceptable standards of scholarly presentation and is fully adequate, in
scope and quality, as a dissertation for thedÃ©gree q^Dqctor of Philosophy.
Timothy,
Assistant Professor of Computer and
Information Science and Engineering
I certify that I have read this study and that in my opinion it conforms
to acceptable standards of scholarly presentation? and is fully adequate, in
scope and quality, as a dissertation for tho^egr^e of Doctor of Philosophy.
LiMirKfu
Associate Professor of Computer and
Information Science and Engineering
I certify that I have read this study and that in my opinion it conforms
to acceptable standards of scholarly presentation and is fully adequate, in
scope and quality, as a dissertation for the degree of Doctor of Philosophy.
Electrical and Computer Engineering
This dissertation was submitted to the Graduate Faculty of the College
of Engineering and to the Graduate School and was accepted as partial fulÂ¬
fillment of the requirements for the degree of Doctor of Philosophy.
August 1995
r
Winfred M. Phillips
Dean, College of Engineering
Karen A. Holbrook
Dean, Graduate School
ld
1780
1995
11
UNIVERSITY OF FLORIDA
3 1262 08556 9324
PAGE 1
()),&,(17 $/*25,7+06 )25 (/(&7521,& &$' %\ 9(1.$7 7,,$19$175, $ ',66(57$7,21 35(6(17(' 72 7+( *5$'8$7( 6&+22/ 2) 7+( 81,9(56,7< 2) )/25,'$ ,1 3$57,$/ )8/),//0(17 2) 7+( 5(48,5(0(176 )25 7+( '(*5(( 2) '2&725 2) 3+,/2623+< 81,9(56,7< 2) )/25,'$
PAGE 2
k&RS\ULJKW E\ 9HQNDW 7KDQYDQWUL
PAGE 3
$&.12:/('*0(176 0\ KHDUWIHOW DSSUHFLDWLRQ JHRV WR P\ DGYLVRU 3URIHVVRU 6DUWDM 6DKQL IRU JLYLQJ PH FRQWLQXHG JXLGDQFH LQ P\ WKHVLV ZRUN WKDQN KLP IRU WKH KHOS SDWLHQFH DQG VXSn SRUW KH SURYLGHG WKURXJKRXW P\ VWD\ LQ WKH 8QLYHUVLW\ RI )ORULGD :HHNO\ PHHWLQJV DQG GLVFXVVLRQV ZLWK KLP KDYH VSDZQHG PDQ\ LGHDV IRU ZKLFK DP WKDQNIXO 6SHFLDO WKDQNV JR WR 'U %DED 9HPXUL IRU KLV LQWHUHVW LQ P\ UHVHDUFK DQG IRU VHUYLQJ RQ P\ VXSHUYLVRU\ FRPPLWWHH ZRXOG OLNH WR WKDQN RWKHU PHPEHUV LQ P\ VXSHUYLRU\ FRPPLWWHH 'U 7LP 'DYLV 'U /L0LQ )X DQG 'U RKQ +DUULV IRU WKHLU LQWHUHVW DQG FRPPHQWV WKDQN 'U 5DMDVHNKDUDQ IRU DJUHHLQJ WR DWWHQG WKH WKHVLV GHIHQVH RQ D YHU\ VKRUW QRWLFH 7KDQNV JR WR 6HRQJKXQ &KR IRU KLV ZLOOLQJQHVV WR GLVFXVV WKH JHQHUDO VXEMHFW RI DOJRULWKPV WKDQN $UFKDQD 1DLU IRU EHLQJ D JRRG IULHQG DQG JLYLQJ HQFRXUDJHPHQW ZKHQ QHHGHG LW PRVW 7KDQNV JR WR P\ VLVWHU /DNVKPL DQG EURWKHULQODZ $QDQG IRU EHLQJ WKHUH ZKHQ ZDQWHG )LQDOO\ ZRXOG OLNH WR WKDQN P\ SDUHQWV IRU WKH ORYH DQG VXSSRUW ZLWKRXW ZKLFK FRXOG QRW KDYH SXUVXHG P\ GRFWRUDO VWXGLHV 7R WKHP GHGLFDWH WKLV ZRUN LQ
PAGE 4
7$%/( 2) &217(176 $&.12:/('*0(176 LLL /,67 2) 7$%/(6 YL /,67 2) ),*85(6 YLLL $%675$&7 L[ &+$37(56 ,1752'8&7,21 %DFNJURXQG 3K\VLFDO 'HVLJQ $XWRPDWLRQ 7KHVLV 2XWOLQH )2/',1* $ 67$&. 2) (48$/ :,'7+ &20321(176 %DFNJURXQG ,QWURGXFWLRQ 1RUPDOL]DWLRQ (TXDO:LGWK +HLJKW&RQVWUDLQHG 3DUDPHWULF 6HDUFK (TXDO:LGWK :LGWK&RQVWUDLQHG ([SHULPHQWDO 5HVXOWV &RQFOXVLRQV 67$1'$5' $1' &86720 &(// )2/',1* ,QWURGXFWLRQ 6WDQGDUG &HOO )ROGLQJ 3UREOHPV f :LGWK &RQVWUDLQHG &DVH 3UREOHPV DQG f +HLJKW &RQVWUDLQHG &DVH 3UREOHPV f 6WDQGDUG &HOO )ROGLQJ 3UREOHPV f 0LQLPXP &KDQQHO +HLJKW 3UREOHP f 0LQLPL]H &KLS $UHD 6XEMHFW WR :LGWK &RQVWUDLQW 3UREOHP f ,9
PAGE 5
0LQLPL]H &KLS $UHD 6XEMHFW WR +HLJKW &RQVWUDLQW 3UREOHP f &XVWRP &HOO )ROGLQJ 3UREOHPV DQG f :LGWK &RQVWUDLQHG )ROGLQJ 3UREOHP f +HLJKW &RQVWUDLQHG )ROGLQJ 3UREOHP f ([SHULPHQWDO 5HVXOWV &RQFOXVLRQV 3/$1$5 7232/2*,&$/ 5287$%,/,7< ,QWURGXFWLRQ 3UHOLPLQDULHV 7KH $OJRULWKP 7RSRORJLFDO 5RXWDELOLW\ RI 0XOWLSLQ 1HWV ,PSOHPHQWDWLRQ RI 7ZR3LQ $OJRULWKP ([SHULPHQWDO 5HVXOWV &RQFOXVLRQ &21&/86,216 $1' )8785( :25. 5()(5(1&(6 %,2*5$3+,&$/ 6.(7&+ Y
PAGE 6
/,67 2) 7$%/(6 6XPPDU\ RI UHVXOWV RI 3DLN DQG 6DKQL &RPSDULVRQ RI HTXDOZLGWK KHLJKWFRQVWUDLQHG DOJRULWKPV 5XQ WLPHV RI HTXDOZLGWK ZLGWKFRQVWUDLQHG DOJRULWKPV +HLJKWV SURGXFHG E\ ZLGWKFRQVWUDLQHG VWDQGDUG FHOO IROGLQJ DOJRULWKPV 5XQ WLPHV RI ZLGWKFRQVWUDLQHG IROGLQJ DOJRULWKPV IRU FXVWRP FHOOV 7UHHOLNH &RQQHFWHG &LUFXLWV 6L[:D\ &RQQHFWHG &LUFXLWV 5DQGRP &LUFXLW )DVWHU 7HUPLQDWLRQ IRU 1RQ5RXWDEOH &LUFXLWV (LJKWZD\ &RQQHFWHG &LUFXLWV ZLWK 0XOWLSLQ 1HWV 7UHHOLNH &RQQHFWHG &LUFXLWV :LWK 0XOWLSLQ 1HWV )DVWHU 7HUPLQDWLRQ IRU 1RQ5RXWDEOH &LUFXLWV :LWK 0XOWLSLQ 1HWV YL
PAGE 7
/,67 2) ),*85(6 6WDFN RI HTXDO ZLGWK FRPSRQHQWV 5RXWLQJ VSDFH UHVHUYHG &DVH ZKHQ KM UM UM &DVH ZKHQ KM UM nML 1RUPDOL]LQJ D VWDFN 3URFHGXUH WR REWDLQ D PLQLPXP ZLGWK IROGLQJ 3URFHGXUH IRU SDUDPHWULF VHDUFK 6WDQGDUG FHOO $UFKLWHFWXUH 3URFHGXUH WR REWDLQ D PLQLPXP KHLJKW IROGLQJ 3URFHGXUH WR REWDLQ D PLQLPXP FKDQQHO KHLJKW IROGLQJ 3URFHGXUH WR REWDLQ D PLQLPXP KHLJKW IROGLQJ IRU FXVWRP FHOOV 3URFHGXUH WR GHOHWH )f YDOXHV DV LQ 2EVHUYDWLRQ 3URFHGXUH WR ,QVHUW )f YDOXHV $ SODQDU URXWDEOH DQG D QRQSODQDU URXWDEOH FDVH $XJPHQWDWLRQ $Q H[DPSOH WR LOOXVWUDWH VRPH WHUPLQRORJ\ YLL
PAGE 8
7ZR SRVVLELOLWLHV WR FRQQHFW D DQG E $QRWKHU QRW SODQDU URXWDEOH VLWXDWLRQ &RQVWUXFWLQJ WKH HQYHORSH RI D FRPSRQHQW 5HURXWLQJ WR IUHH LQGHSHQGHQW FRPSRQHQW 7RSRORJLFDO URXWLQJ ([DPSOH 5, ,OOXVWUDWLRQ RI WKH URXWLQJ VHTXHQFH 7UDSSHG WHUPLQDO DQG PRGXOH 7R LOOXVWUDWH FRQIOLFW $OJRULWKP WR ILQG URXWLQJ SDWK EHWZHHQ SLQV U DQG V 5HDOL]DWLRQ RI D SODQDU QHW XVLQJ RQH 6WHLQHU SRLQW 7UDQVIRUPDWLRQ IURP PXOWLSLQ WR WZRSLQ QHWV 7RSRORJLFDO URXWLQJ RI PXOWLSLQ QHW IRU UHVWULFWHG YHUVLRQ ([DPSOH 5, ZLWK D IRXU SLQ QHW ,OOXVWUDWLRQ RI WKH URXWLQJ VHTXHQFH ZLWK 0XOWLWHUPLQDO QHW $Q SRVVLEOH VLWXDWLRQ ZKHUH WKH 5, LV XQURXWDEOH 7UHHOLNH FRQQHFWHG FLUFXLWV 6L[ZD\ FRQQHFWHG FLUFXLWV 7UHHOLNH FRQQHFWHG FLUFXLWV ZLWK PXOWLSLQ QHWV (LJKWZD\ FRQQHFWHG FLUFXLWV ZLWK PXOWLSLQ QHWV 9OOO
PAGE 9
$EVWUDFW RI 'LVVHUWDWLRQ 3UHVHQWHG WR WKH *UDGXDWH 6FKRRO RI WKH 8QLYHUVLW\ RI )ORULGD LQ 3DUWLDO )XOILOOPHQW RI WKH 5HTXLUHPHQWV IRU WKH 'RFWRU RI 3KLORVRSK\ ()),&,(17 $/*25,7+06 )25 (/(&7521,& &$' %\ 9HQNDW 7KDQYDQWUL $XJXVW &KDLUPDQ 'U 6DUWDM 6DKQL 0DMRU 'HSDUWPHQW &RPSXWHU DQG ,QIRUPDWLRQ 6FLHQFH DQG (QJLQHHULQJ ,Q WKLV WKHVLV ZH GHYHORS HIILFLHQW DOJRULWKPV IRU WKUHH SUREOHPV WKDW DULVH LQ HOHFWURQLF FRPSXWHU DLGHG GHVLJQ (&$'f f FRPSRQHQW VWDFN IROGLQJ f VWDQGDUG DQG FXVWRP FHOO IROGLQJ DQG f SODQDU WRSRORJLFDO URXWLQJ 7KH FRPSRQHQW VWDFN IROGLQJ SUREOHP DULVHV LQ WKH OD\RXW RI ELWVOLFH DUFKLWHFn WXUHV :H FRQVLGHU WZR YHUVLRQV RI WKLV SUREOHP ,Q ERWK WKH FRPSRQHQWV KDYH HTXDO ZLGWK DQG ZKHQ D VWDFN LV IROGHG D URXWLQJ SHQDOW\ LV LQFXUUHG DW WKH IROG ,Q WKH ILUVW YHUVLRQ WKH KHLJKW RI WKH IROGHG OD\RXW LV JLYHQ DQG ZH KDYH WR PLQLPL]H WKH ZLGWK ,Q WKH VHFRQG WKH ZLGWK RI WKH IROGHG OD\RXW LV JLYHQ DQG LWV KHLJKW LV WR EH PLQLPL]HG :H GHYHORS D QRUPDOL]DWLRQ WHFKQLTXH WKDW SHUPLWV WKH ILUVW YHUVLRQ WR ,;
PAGE 10
EH VROYHG LQ OLQHDU WLPH E\ D JUHHG\ DOJRULWKP 7KH VHFRQG YHUVLRQ FDQ EH VROYHG HIILFLHQWO\ XVLQJ QRUPDOL]DWLRQ DQG SDUDPHWULF VHDUFK ,Q VWDQGDUG DQG FXVWRP IROGLQJ WKH FRPSRQHQW OLVW LV IROGHG LQWR URZV DQG D URXWLQJ SHQDOW\ LV LQFXUUHG EHWZHHQ WZR URZV ,Q WKH PRGHO ZH FRQVLGHU WKH QXPEHU RI ZLUHV WKDW KDYH WR FURVV EHWZHHQ WZR URZV VHUYHV DV WKH URXWLQJ SHQDOW\ 1LQH YHUVLRQV RI WKH IROGLQJ SUREOHP DUH IRUPXODWHG DQG HIILFLHQW DOJRULWKPV DUH GHYHORSHG IRU HDFK :H GHYHORS D VLPSOH IDVW OLQHDU WLPH DOJRULWKP WR GHWHUPLQH LI D FROOHFWLRQ RI WZRSLQ QHWV FDQ EH URXWHG WRSRORJLFDOO\ LQ D SODQH 7RSRORJLFDO URXWDELOLW\ WHVWLQJ RI D FROOHFWLRQ RI PXOWLSLQ QHWV LV VKRZQ WR EH HTXLYDOHQW WR SODQDULW\ WHVWLQJ DQG D VLPSOH OLQHDU WLPH DOJRULWKP LV GHYHORSHG IRU WKH FDVH ZKHQ WKH FROOHFWLRQ RI PRGXOHV UHPDLQ FRQQHFWHG IROORZLQJ WKH GHOHWLRQ RI DOO QHWV ZLWK PRUH WKDQ WZR SLQV ([SHULPHQWDO UHVXOWV DUH SUHVHQWHG [
PAGE 11
&+$37(5 ,1752'8&7,21 %DFNJURXQG :LWK FXUUHQW WHFKQRORJ\ D VLQJOH FKLS FDQ KDYH VHYHUDO PLOOLRQ WUDQVLVWRUV 'Hn VLJQ DQG IDEULFDWLRQ RI VXFK FKLSV LV PDGH SRVVLEOH E\ WKH DXWRPDWLRQ RI WKH VWHSV LQYROYLQJ WKH GHYHORSPHQW RI WKH FKLS 6WDUWLQJ ZLWK WKH IRUPDO VSHFLILFDWLRQV WKH 9/6, GHVLJQ F\FOH JRHV WKURXJK D VHULHV RI VWHSV WR SURGXFH WKH ILQDO SURGXFW D IXOO\ SDFNDJHG FKLS 7KH 9/6, GHVLJQ F\FOH FRQVLVWV RI WKH IROORZLQJ VWHSV >@ 6\VWHP 6SHFLILFDWLRQ ,Q WKLV VWHS WKH KLJK OHYHO UHSUHVHQWDWLRQ RI WKH V\VWHP LV FUHDWHG 3HUIRUPDQFH IXQFWLRQDOLW\ WKH SK\VLFDO GLPHQVLRQV WKH FKRLFH RI WKH GHVLJQ WHFKQLTXHV DQG WKH IDEULFDWLRQ WHFKQRORJ\ DUH FRQVLGHUHG LQ WKLV VWHS )XQFWLRQDO 'HVLJQ 7KH RXWSXW RI WKLV VWHS LV D WLPLQJ GLDJUDP ZKLFK LV REn WDLQHG E\ FRQVLGHULQJ WKH EHKDYLRUDO DVSHFWV RI WKH V\VWHP /RJLF 'HVLJQ 7KH ORJLF GHVLJQ LQ JHQHUDO LV UHSUHVHQWHG E\ %RROHDQ H[SUHVn VLRQV 7KH ORJLF GHVLJQ WKDW UHSUHVHQWV WKH IXQFWLRQDO GHVLJQ LV REWDLQHG LQ WKLV VWHS 7KH ERROHDQ H[SUHVVLRQV DUH PLQLPL]HG WR REWDLQ WKH VPDOOHVW ORJLF GHVLJQ &RUUHFWQHVV RI WKH ORJLF GHVLJQ LV DOVR DVVHUWHG LQ WKLV VWHS
PAGE 12
&LUFXLW 'HVLJQ $ FLUFXLW ZKLFK UHSUHVHQWV WKH ORJLF GHVLJQ RI WKH V\VWHP LV GHYHORSHG LQ WKLV VWHS E\ WDNLQJ LQWR FRQVLGHUDWLRQ VSHHG DQG SRZHU UHTXLUHn PHQWV DQG HOHFWULFDO EHKDYLRU RI WKH FRPSRQHQWV XVHG LQ WKH GHYHORSPHQW RI WKH FLUFXLW 3K\VLFDO 'HVLJQ 7KLV LV WKH PRVW WLPH FRQVXPLQJ VWHS LQ WKH 9/6, GHVLJQ F\FOH ,Q WKLV VWHS WKH FRPSRQHQWV DQG WKH LQWHUFRQQHFWLRQV DUH UHSUHVHQWHG E\ JHRPHWULF SDWWHUQV 7KH REMHFWLYH RI WKLV VWHS LV WR REWDLQ DQ DUUDQJHPHQW RI WKHVH JHRPHWULF SDWWHUQV ZKLFK PLQLPL]HV WKH DUHD DQG SRZHU DQG VDWLVILHV WKH WLPLQJ UHTXLUHPHQWV RI WKH FKLS 'XH WR LWV KLJK FRPSOH[LW\ WKLV VWHS LV EURNHQ GRZQ LQWR VPDOOHU VXEVWHSV :H ZLOO ORRN LQWR WKLV VWHS LQ GHWDLO ODWHU LQ WKLV FKDSWHU 'HVLJQ 9HULILFDWLRQ ,Q WKLV VWHS GHVLJQ UXOH FKHFNLQJ DQG FLUFXLW H[WUDFWLRQ DUH GRQH WR YHULI\ WKDW WKH FLUFXLW OD\RXW IURP WKH SK\VLFDO GHVLJQ VWHS VDWLVILHV WKH V\VWHP VSHFILFDWLRQ DQG GHVLJQ UXOHV )DEULFDWLRQ 7KH YHULILHG OD\RXW LV XVHG LQ WKH IDEULFDWLRQ SURFHVV WR SURGXFH WKH FKLS 3DFNDJLQJ 7HVWLQJ DQG 'HEXJJLQJ 7KH IDEULFDWHG FKLS LV SDFNDJHG DQG WHVWHG WR HQVXUH SURSHU IXQFWLRQLQJ (DFK VWHS LQ WKH GHVLJQ F\FOH FDQ EH YLHZHG DV D FKDQJH LQ UHSUHVHQWDWLRQ RI WKH V\VWHP 7KH VWHSV LQ WKH 9/6, GHVLJQ F\FOH LWHUDWLYHO\ LPSURYH WKH UHSUHVHQWDWLRQ WR PHHW WKH VSHFLILFDWLRQV
PAGE 13
3K\VLFDO 'HVLJQ $XWRPDWLRQ 7KH SK\VLFDO GHVLJQ VWHS PDSV D FLUFXLW GHVLJQ LQWR D SK\VLFDO FLUFXLW 7KH LQSXW WR WKLV VWHS LV D FLUFXLW GHVLJQ ZKLFK LV UHSUHVHQWHG E\ D VHW RI PRGXOHV D VHW RI QHWV D FKLS FDUULHU DQG WKH GHVLJQ UXOHV 7KH PRGXOHV DQG WKH FKLS FDUULHU DUH XVXDOO\ UHFWDQJXODU 7KH RXWSXW RI WKH SK\VLFDO GHVLJQ VWHS LV D OD\RXW IRU PRGXOHV DQG LQWHUFRQQHFWLRQV ZKLFK KDV WKH GHVLUHG IXQFWLRQDOLW\ 7KHUH DUH VHYHUDO REMHFWLYH IXQFWLRQV WKDW DUH XVHG LQ WKH SK\VLFDO GHVLJQ VWHS ,I WKH FKLS VL]H LV QRW IL[HG WKHQ WKH REMHFWLYH LV WR ILQG D PLQLPXP DUHD OD\RXW :KHQ WKH FLUFXLW VSHHG LV D FRQVLGHUDWLRQ WKH REMHFWLYH PD\ EH WR PLQLPL]H WKH FULWLFDO QHW OHQJWK RU PLQLPL]H WKH VXP RI FRQQHFWLRQ OHQJWKV 7KH ILHOG RI SK\VLFDO GHVLJQ DXWRPDWLRQ LQYROYHV GHYHORSLQJ DOJRULWKPV DQG GDWD VWUXFWXUHV ZKLFK FDQ EH XVHG LQ WKH OD\RXW SURFHVV 7KH DOJRULWKPV DUH XVHG WR REWDLQ VROXWLRQV ZKLFK VDWLV\ WKH REMHFWLYH IXQFWLRQV DQG ZKLFK PHHW WKH GHVLJQ UXOHV /DUJH GHVLJQV DQG WKH LWHUDWLYH LPSURYHPHQWV E\ WKH SK\VLFDO GHVLJQ HQJLQHHUV UHTXLUH WKDW WKH DOJRULWKPV GHYHORSHG EH YHU\ IDVW 3K\VLFDO GHVLJQ LV DQ H[WUHPHO\ FRPSOH[ SURFHVV WKDW LV XVXDOO\ EURNHQ GRZQ LQWR VPDOOHU SUREOHPV VXFK DV SDUWLWLRQLQJ IORRUSODQQLQJ DQG SODFHPHQW URXWLQJ DQG FRPSDFWLRQ ,Q WKH SDUWLWLRQLQJ VWHS WKH FRPSRQHQWV RI D ODUJH FLUFXLW DUH GLYLGHG LQWR D FROOHFWLRQ RI VPDOOHU VXEFLUFXLWVPRGXOHV DFFRUGLQJ WR VRPH FULWHULD 7KH IDFWRUV WKDW DUH FRQVLGHUHG PD\ EH WKH VL]H RI WKH PRGXOHV QXPEHU RI PRGXOHV DQG WKH QXPEHU RI
PAGE 14
LQWHUFRQQHFWLRQV EHWZHHQ WKH PRGXOHV $W WKH HQG RI WKH SDUWLWLRQLQJ VWHS ZH KDYH D VHW RI PRGXOHV DQG D VHW RI LQWHUFRQQHFWLRQV UHTXLUHG EHWZHHQ PRGXOHV 6HOHFWLQJ DUHDV SRZHU FRQVXPSWLRQV DVSHFW UDWLRV DQG ,2 SLQ ORFDWLRQV RI WKH PRGXOHV IRUPV WKH IORRUSODQQLQJ VWHS 7KH IORRUSODQQLQJ VWHS RSWLPL]HV GHVLJQ TXDOLW\ LQ WHUPV RI FKLS DUHD SRZHU FRQVXPSWLRQ WLPLQJ SHUIRUPDQFH DQG ZLUH GHQVLW\ )ORRUSODQQLQJ LV DQ LPSRUWDQW VWHS DV LW OD\V WKH IRXQGDWLRQ IRU WKH ILQDO OD\RXW 7KH SUHFLVH ORFDWLRQV RI WKH FRPSRQHQWV DUH GHWHUPLQHG GXULQJ WKH SODFHPHQW VWHS WR RSWLPL]H DUHD DQG WLPLQJ 7KH URXWLQJ SKDVH FRPSOHWHV WKH LQWHUFRQQHFWLRQV EHWZHHQ WKH PRGXOHV 5RXWn LQJ LV XVXDOO\ GLYLGHG LQWR WKUHH VPDOOHU VXESUREOHPV ZKLFK DUH JOREDO URXWLQJ GHn WDLOHG URXWLQJ DQG VSHFLDOL]HG URXWLQJ 7KH JOREDO URXWHU GHFRPSRVHV D ODUJHU URXWLQJ SUREOHP LQWR VPDOO DQG PDQDJHDEOH SUREOHPV 6WHLQHU WUHHV DQG VSDQQLQJ WUHHV DUH WKH FRPPRQO\ XVHG DSSURDFKHV IRU QHW FRQQHFWLRQ LQ JOREDO URXWLQJ 'HWDLOHG URXWLQJ LQFOXGHV VZLWFKER[ FKDQQHO DQG SODQDU 3ODQDU URXWLQJ LV D SUREOHP LQ ZKLFK LQWHUn FRQQHFWLRQ WRSRORJ\ RI WKH QHWV LV SODQDU 7KDW LV DOO FRQQHFWLRQV FDQ EH UHDOL]HG RQ D VLQJOH OD\HU 6LQJOH OD\HU URXWLQJ LV QRW DOZD\V SRVVLEOH ,Q 0&0 WHFKQRORJ\ ZLWK PDQ\ URXWLQJ OD\HUV D VXEVHW RI QHWV WKDW LV SODQDU URXWDEOH LV SUHIHUUHG 3ODQDU URXWLQJ LV XVXDOO\ SUHIHUUHG DV QR YLD LV QHHGHG IRU WKH LQWHUFRQQHFWLRQV 9LDV UHGXFH WKH UHOLDELOLW\ DQG SHUIRUPDQFH RI D FLUFXLW 5RXWLQJ FORFN QHWV DQG SRZHUJURXQG QHWV DUH VSHFLDOL]HG URXWLQJ SUREOHPV
PAGE 15
'XULQJ WKH FRPSDFWLRQ SKDVH WKH FRPSRQHQWV DQG WKH LQWHUFRQQHFWLRQV DUH PRYHG VR DV WR IXUWKHU RSWLPL]H WKH OD\RXW LQ WHUPV RI DUHD DQG GHOD\ %\ FRPSUHVVn LQJ WKH FKLS WKH FRPSRQHQWV FRPH FORVHU WKHUHE\ UHGXFLQJ WKH GHOD\ EHWZHHQ WKH FRPSRQHQWV 7KLV VWHS PXVW DOVR HQVXUH WKDW E\ FRPSUHVVLQJ WKH FKLS GHVLJQ UXOHV DUH QRW YLRODWHG 7KHVLV 2XWOLQH 2QH RI WKH SODFHPHQW PHWKRGV LV WR REWDLQ D OLQHDU OLVW RI FRPSRQHQWV PLQLn PL]LQJ VRPH FULWHULD DQG WKHQ IROGLQJ WKLV OLVW LQWR D JLYHQ KHLJKW RU ZLGWK VR DV WR PLQLPL]H WKH DUHD 7KH REMHFWLYH IXQFWLRQV WKDW FDQ EH XVHG ZKHQ IRUPLQJ WKH OLQHDU OLVW RI FRPSRQHQWV PD\ EH PLQLPL]LQJ WKH PD[LPXP GHQVLW\ RI ZLUHV EHWZHHQ DGMDn FHQW FRPSRQHQWV PLQLPL]LQJ WKH WRWDO QXPEHU RI ZLUH VHJPHQWV EHWZHHQ DGMDFHQW FRPSRQHQWV DQG PLQLPL]LQJ PD[LPXP QHW OHQJWK >@ ,Q WKH ELWVOLFHG SODFHPHQW PRGHO LQWURGXFHG E\ 3DLN DQG 6DKQL >@ FRPSRn QHQW UHRUGHULQJ LV QRW SHUPLWWHG 7KDW LV WKH FRPSRQHQWV DUH RUGHUHG E\ VRPH REMHFWLYH IXQFWLRQ WR REWDLQ D FRPSRQHQW VWDFN 7KLV VWDFN LV IROGHG LQWR D OD\RXW ZKLFK LV HLWKHU KHLJKWFRQVWUDLQHG OD\RXW KHLJKW LV JLYHQf RU ZLGWKFRQVWUDLQHG OD\n RXW ZLGWK LV JLYHQf ,Q &KDSWHU ZH ORRN LQWR WZR SUREOHPV FRQVLGHUHG E\ 3DLN DQG 6DKQL >@ :H LQWURGXFH D QRUPDOL]DWLRQ WHFKQLTXH ZKLFK LQ FRPELQDWLRQ ZLWK WKH JUHHG\ PHWKRG DQG SDUDPHWULF VHDUFK KHOSV GHYHORS OLQHDU WLPH DOJRULWKPV IRU WKHVH SUREOHPV
PAGE 16
,Q &KDSWHU ZH GHYHORS RSWLPDO DOJRULWKPV WR IROG D OLQHDUO\ RUGHUHG OLVW RI VWDQGDUG DQG FXVWRP FHOOV XQGHU YDULRXV RSWLPL]DWLRQ FRQVWUDLQWV $ WRWDO RI QLQH SUREOHPV DUH IRUPXODWHG DQG WKHLU VROXWLRQV SURYLGHG ,Q &KDSWHU ZH ORRN LQWR WKH SODQDU WRSRORJLFDO URXWDELOLW\ SUREOHP :H GHYHORS D OLQHDU WLPH DOJRULWKP IRU SODQDU WRSRORJLFDO URXWDELOLW\ IRU WKH FDVH ZKHQ DOO QHWV DUH SLQ QHWV 7KLV DOJRULWKP GHWHUPLQHV WKH WRSRORJLFDO URXWDELOLW\ RI WKH JLYHQ SUREOHP LQVWDQFH DQG WKH ORRVH URXWH RI ZLUHV ZKHQ WKH LQVWDQFH LV WRSRORJLFDOO\ URXWDEOH :H DOVR FRQVLGHU WKH FDVH ZKHQ WKHUH DUH PXOWLSLQ QHWV )RU WKLV FDVH ZH SURYH WKDW Df WKH WRSRORJLFDO URXWDELOLW\ SUREOHP LV HTXLYDOHQW WR WKH JUDSK SODQDULW\ SUREOHP DQG Ef WKH SUREOHP RI ILQGLQJ WKH PD[LPXP QXPEHU RI QHWV WKDW DUH WRSRORJLFDOO\ URXWDEOH LV 13,,DUG $ OLQHDU WLPH DOJRULWKP LV GHYHORSHG IRU WKH FDVH ZKHQ WKH FLUFXLW PRGXOHV UHPDLQ FRQQHFWHG IROORZLQJ WKH GHOHWLRQ RI DOO QHWV WKDW KDYH PRUH WKDQ WZR SLQV )LQDOO\ ZH SUHVHQW FRQFOXVLRQV DQG VRPH IXWXUH GLUHFWLRQV IRU WKLV UHVHDUFK
PAGE 17
&+$37(5 )2/',1* $ 67$&. 2) (48$/ :,'7+ &20321(176 %DFNJURXQG :X DQG *DMVNL >@ LQWURGXFHG D QHZ VOLFHGOD\RXW DUFKLWHFWXUH WR DOOHYLDWH WKH SUREOHPV RI WKH JHQHUDO ELWVOLFHG OD\RXWV 0RVW IDEULFDWHG FKLSV FDQ EH GHVFULEHG E\ UHJLVWHUWUDQVIHU VFKHPDWLFV ,Q DGGLWLRQ WR JDWHV ODWFKHV DQG IOLSIORSV VFKHPDWn LFV LQFOXGH UHJLVWHUWUDQVIHU FRPSRQHQWV VXFK DV UHJLVWHUV FRXQWHUV DGGHUV $/8V VKLIWHUV PXOWLSOH[HUV DQG UHJLVWHU ILOHV 6WDQGDUG FHOO PHWKRGRORJ\ GHFRPSRVHV WKH FRPSRQHQWV LQWR EDVLF JDWHV ODWFKHV DQG IOLSIORSV EHIRUH OD\RXW :X DQG *DMVNL >@ VXJJHVW WKDW JUHDWHU OD\RXW GHQVLW\ FDQ EH DFKLHYHG LI UHJLVWHUWUDQVIHU FRPSRQHQWV DUH ODLG RXW LQ D ELWVOLFHG OD\RXW DUFKLWHFWXUH )RU HDFK PLFURDUFKLWHFWXUDO FRPSRQHQW WKHUH LV D OD\RXW JHQHUDWRU WKDW LQFOXGHV ELWVOLFH JHQHUDWRUV $OO JHQHUDWHG ELW VOLFHV DUH RI WKH VDPH ZLGWK ,I D FRPSRQHQW KDV D ZLGWK LY WKHQ LW KDV Z VOLFHV (DFK PLFURDUFKLWHFWXUDO FRPSRQHQW KDV D GLIIHUHQW KHLJKW 7KH FRPSRQHQW LQFOXGHV WKH FHOODEXWPHQW RYHUWKHFHOO URXWLQJ DQG LQWHUn VOLFH VZLWFK ER[ WR DOOHYLDWH WKH SUREOHPV RI WKH SUHYLRXV DSSURDFKHV ,QWUDFHOO URXWLQJ LQ GRQH RQ PHWDO DQG ,QWHU FHOO URXWLQJ RQ PHWDO $OO UHJXODU FRPSRQHQWV LQ D GHVLJQ DUH VWDFNHG VWDFN RI FRPSRQHQWVf DQG URXWHG LQ PHWDO &RPSRQHQW VWDFN IROGLQJ LQ WKH FRQWH[W RI ELW VOLFHG DUFKLWHFWXUHV LQWURGXFHG E\ /DUPRUH *DMVNL DQG
PAGE 18
:X >@ LV WR IROG WKLV VWDFN LQWR LWVHOI LQ D ZD\ WKDW PLQLPL]HV WKH ZDVWHG DUHD 6WDFN IROGLQJ VWDFN SDUWLRQLQJf LV DOVR GRQH LQ FDVH WKHUH DUH WRR PDQ\ FRPSRQHQWV LQ D VLQJOH VWDFN ,Q WKLV SDSHU >@ WKH\ XVHG WKLV PRGHO WR FRPSLOH OD\RXW IRU FPRV WHFKQRORJ\ )XUWKHU DSSOLFDWLRQV RI WKH PRGHO ZHUH FRQVLGHUHG E\ :X DQG *DMVNL >@ ,Q WKH PRGHO RI /DUPRUH HW DO >@ DQG :X DQG *DMVNL >@ WKH FRPSRQHQW VWDFN FDQ EH IROGHG DW RQO\ RQH SRLQW ,Q DGGLWLRQ LW LV SRVVLEOH WR UHRUGHU WKH FRPSRQHQWV RQ WKH VWDFN 7KHVH IROGLQJ VFKHPHV EHJLQ E\ UHRUGHULQJ WKH FRPSRQHQWV E\ ZLGWK 7KH\ DOVR VKRZ WKDW WKH IROGLQJ SUREOHP XVLQJ WKLV PRGHO LV 13FRPSOHWH $ UHODWHG \HW GLIIHUHQW IROGLQJ PRGHO ZDV FRQVLGHUHG E\ 3DLN DQG 6DKQL >@ ,Q WKLV QR OLPLW LV SODFHG RQ WKH QXPEHU RI SRLQWV DW ZKLFK WKH VWDFN PD\ EH IROGHG $OVR FRPSRQHQW UHRUGHULQJ LV IRUELGGHQ 7KH\ SRLQW RXW WKDW WKLV UHVWULFWLRQ LV UHDOLVWLF DV WKH FRPSRQHQW VWDFN LV XVXDOO\ RUGHUHG VR DV PLQLPL]H LQWHU FRPSRQHQW URXWLQJ UHTXLUHPHQWV DQG RSWLPL]H SHUIRUPDQFH 7KH\ DOVR SRLQW RXW WKDW WKLV PRGHO PD\ EH XVHG LQ WKH DSSOLFDWLRQ FLWHG E\ /DUPRUH HW DO >@ DQG :X DQG *DMVNL >@ )XUWKHUPRUH LW DFFXUDWHO\ PRGHOV WKH SODFHPHQW VWHS RI WKH VWDQGDUG FHOO DQG VHDRIJDWHV OD\RXW DOJRULWKPV RI 6KUDJRZLW] HW DO > @ ,Q WKH FDVH RI VWDQGDUG FHOO GHVLJQV DOO PRGXOHV KDYH WKH VDPH ZLGWK ZKLOH LQ WKH FDVH RI VHDRIJDWHV GHVLJQV PRGXOH ZLGWKV DQG KHLJKWV YDU\ IURP PRGXOH WR PRGXOH ,QWURGXFWLRQ $ VWDFN RI HTXDO ZLGWK FRPSRQHQWV LV FRPSULVHG RI YDULDEOH KHLJKW FRPSRQHQWV &L &f VWDFNHG RQH RQ WRS RI WKH RWKHU &L LV DW WKH WRS RI WKH VWDFN DQG
PAGE 19
&[ F F &O VWDFN FÂ &Â &L Â VWDFN VWDFN Df &RPSRQHQW 6WDFN Ef )ROGHG LQWR WKUHH VWDFNV )LJXUH 6WDFN RI HTXDO ZLGWK FRPSRQHQWV &[ &Q ,QWHUVWDFN 5RXWLQJ )LJXUH 5RXWLQJ VSDFH UHVHUYHG
PAGE 20
,8 7DEOH 6XPPDU\ RI UHVXOWV RI 3DLN DQG 6DKQL 5RXWLQJ DUHD DW VWDFN HQGV 1R @f
PAGE 21
&Q DW WKH ERWWRP )LJXUH Dff ,I WKH VWDFN LV UHDOL]HG SK\VLFDOO\ LQ WKLV ZD\ WKH DUHD QHHGHG LV (L r Z ZKHUH L LV WKH KHLJKW RI & DQG Z LV WKH ZLGWK RI HDFK FRPSRQHQW ,I WKH FRPSRQHQW VWDFN LV IROGHG DW ZH REWDLQ WZR DGMDFHQW VWDFNV &L & & DQG &f &fBL & 7KH IROGLQJ DOVR LQYHUWV WKH OHIW WR ULJKW RULHQWDWLRQ RI WKH FRPSRQHQWV &f&L )LJXUH Ef VKRZV WKH VWDFN RI )LJXUH Df DIWHU IROGLQJ DW &I& 1RWLFH WKDW IROGLQJ UHVXOWV LQ D VQDNHOLNH UHDUUDQJHPHQW :KLOH QRW DSSDUHQW IURP WKH ILJXUH HDFK IROG IOLSV WKH OHIWWRULJKW RULHQWDWLRQ RI D FRPSRQHQW $V FDQ EH VHHQ IURP )LJXUH Ef SDLUV RI IROGHG VWDFNV PD\ KDYH QHVWHG FRPSRQHQWV FRPSRQHQWV LQ RGG VWDFNV DUH OHIW DOLJQHG DQG FRPSRQHQWV LQ HYHQ VWDFNV DUH ULJKW DOLJQHG 7KH DUHD RI WKH IROGHG VWDFN LV WKH DUHD RI WKH VPDOOHVW UHFWDQJOH WKDW ERXQGV WKH OD\RXW 7R GHWHUPLQH WKLV GHSHQGLQJ RQ WKH PRGHO ZH PD\ QHHG WR DGG DGGLWLRQDO VSDFH DW WKH VWDFN HQGV WR DOORZ IRU URXWLQJ EHWZHHQ FRPSRQHQWV &LN DQG &IF ZKHUH &IF LV D IROGLQJ SRLQW ,I VR OHW U L Q GHQRWH WKH KHLJKW RI WKH URXWLQJ VSDFH QHHGHG LI WKH VWDFN LV IROGHG DW &BL )LJXUH f ,Q SUDFWLFDO VLWXDWLRQV WKH KHLJKW ZLGWKf RI WKH UHFWDQJOH LQWR ZKLFK WKH VWDFN LV WR EH IROGHG PD\ EH OLPLWHG DQG NQRZQ LQ DGYDQFHf DQG ZH DUH WR PLQLPL]H WKH ZLGWK KHLJKWf 6HYHUDO YHUVLRQV RI IROGLQJ LQWR KHLJKW ZLGWKf FRQVWUDLQHG UHFWDQJOHV ZHUH FRQVLGHUHG E\ 3DLN DQG 6DKQL >@ 7KHLU UHVXOWV DUH VXPPDUL]HG LQ 7DEOH ,Q WKLV FKDSWHU ZH FRQVLGHU WZR RI WKH SUREOHPV FRQVLGHUHG LQ 3DLN DQG 6DKQL >@ f (TXDOZLGWK KHLJKWFRQVWUDLQHG ZLWK URXWLQJ DUHD DW VWDFN HQGV ,Q WKLV SUREOHP ZH DUH WR IROG D VWDFN RI HTXDO KHLJKW FRPSRQHQWV LQWR D UHFWDQJOH RI JLYHQ
PAGE 22
KHLJKW VR DV WR PLQLPL]H WKH ZLGWK DQG KHQFH DUHDf RI WKH UHFWDQJOH )RU WKLV SUREOHP WKH DOJRULWKP >@ UXQV LQ Qf WLPH :H GHYHORS DQ Qf DOJRULWKP f (TXDOZLGWK ZLGWKFRQVWUDLQHG ZLWK URXWLQJ DUHD DW VWDFN HQGV +HUH WKH ZLGWK RI WKH UHFWDQJOH LQWR ZKLFK WKH IROGLQJ RFFXUV LV JLYHQ DQG ZH DUH WR PLQLn PL]H LWV KHLJKW DQG KHQFH DUHDf )RXU DOJRULWKPV ZLWK FRPSOH[LW\ 2QORJQf Q ORJ ORJ Qf QORJrQf DQG Qf UHVSHFWLYHO\ DUH REWDLQHG ([SHULPHQWDO UHVXOWV LQGLFDWH WKDW WKH 2QORJQf DOJRULWKP LV IDVWHVW LQ SUDFWLFH 7KLV LV GXH WR WKH IDFW WKDW WKLV DOJRULWKP KDV OHDVW RYHUKHDG 2XU DOJRULWKPV HPSOR\ WZR WHFKQLTXHV 7KH ILUVW LV QRUPDOL]DWLRQ LQ ZKLFK DQ LQSXW LQVWDQFH LV WUDQVIRUPHG LQWR DQ HTXLYDOHQW QRUPDOL]HG LQVWDQFH WKDW LV UHODWLYHO\ HDV\ WR VROYH 7KH VHFRQG WHFKQLTXH LV SDUDPHWHUL]HG VHDUFKLQJ ,Q 6HFWLRQ ZH GHVFULEH RXU QRUPDOL]DWLRQ WHFKQLTXH DQG WKHQ LQ 6HFWLRQ ZH VKRZ KRZ WKLV UHVXOWV LQ D OLQHDU WLPH DOJRULWKP IRU WKH HTXDOZLGWK KHLJKWFRQVWUDLQHG SUREOHP 3DUDPHWHUL]HG VHDUFKLQJ LV GHVFULEHG LQ 6HFWLRQ DQG WKHQ XVHG LQ 6HFWLRQV WR REWDLQ WKH DOJRULWKPV IRU WKH HTXDOZLGWK ZLGWKFRQVWUDLQHG SUREOHP ([SHULPHQWDO UHVXOWV FRPSDULQJ WKH UHODWLYH SHUIRUPDQFH RI WKH YDULRXV DOJRULWKPV IRU WKH HTXDO ZLGWK ZLGWKFRQVWUDLQHG SUREOHP DUH JLYHQ LQ 6HFWLRQ 1RUPDOL]DWLRQ /HW K^ EH WKH KHLJKW RI WKH FRPSRQHQW &W L Q /HW U EH WKH URXWLQJ KHLJKW QHHGHG EHWZHHQ &BL DQG & LI WKH FRPSRQHQW VWDFN LV IROGHG DW &BL L Q DQG OHW UT UQ 7KH GHILQHG FRPSRQHQW VWDFN LV QRUPDOL]HG LII WKH FRQGLWLRQV &O DQG & JLYHQ EHORZ DUH VDWLVILHG IRU HYHU\ L L Q
PAGE 23
6 f f f f f KM UM UV f f KM KML K M UM UL Df Ef )LJXUH &DVH ZKHQ KM UUM &O KL U U & KL U U $Q XQQRUPDOL]HG LQVWDQFH PD\ EH WUDQVIRUPHG LQWR D QRUPDOL]HG LQVWDQFH ZLWK WKH SURSHUW\ WKDW IURP D PLQLPXP KHLJKW RU PLQLPXP ZLGWK IROGLQJ RI RQH FDQ HDVLO\ FRQVWUXFW D VLPLODU IROGLQJ IRU 7R REWDLQ ZH LGHQWLI\ WKH OHDVW YDOXH RI L DW ZKLFK HLWKHU &O RU & LV YLRODWHG /HW WKLV YDOXH RI L EH M %\ FKRLFH RI M HLWKHU KM UUM RU KM U UML :H ILUVW QRWH WKDW VLQFH KM f LW LV QRW SRVVLEOH IRU ERWK RI WKHVH LQHTXDOLWLHV WR KROG VLPXOWDQHRXVO\ 6XSSRVH WKDW KM U? UM 1RZ M DV KL U ZKLOH U? $OVR KM UM U\L &RQVLGHU DQ\ IROGLQJ RI LQ ZKLFK &ML LV D IROG SRLQW )LJXUH Dff /HW WKH KHLJKW RI WKH VWDFN 6L EH K6Lf DQG WKDW RI Lf &RQVLGHU WKH IROGLQJ REWDLQHG IURP )LJXUH Df E\ PRYLQJ &M IURP WR 6L /HW WKH KHLJKW RI WKH VWDFNV QRZ EH Kn6?f DQG Lnf :H VHH WKDW
PAGE 24
r KnL6[f K6Lf UM KM UK6Lf DQG Kn6f K6f UM KM UK6f 6R WKH KHLJKW DQG ZLGWK RI WKH IROGLQJ RI )LJXUH Ef LV QR PRUH WKDQ WKDW RI )LJXUH Df +HQFH WKH LQVWDQFH ,n REWDLQHG IURP E\ UHSODFLQJ WKH FRPSRQHQW SDLU ZLWK WKH VLQJOH FRPSRQHQW KM KMUMf KDV WKH VDPH PLQLPXP ZLGWKKHLJKW IROGLQJ DV GRHV )URP D PLQLPXP ZLGWKKHLJKW IROGLQJ IRU n RQH FDQ REWDLQ RQH IRU E\ UHSODFLQJ WKH FRPSRQHQW KM KMUM?f ZLWK WKH WZR FRPSRQHQWV RI ,I KM UM UL WKHQ n LV REWDLQHG E\ UHSODFLQJ WKH FRPSRQHQW SDLU KM UMf KML UMLff ZLWK WKH VLQJOH FRPSRQHQW KM KM?UMf 7KH SURRI LV VLPLODU WR WKH SUHYLRXV FDVH 7KH FRPSRQHQW SDLU UHSODFHPHQW VFKHPH MXVW GHVFULEHG PD\ EH UHSHDWHG DV RIWHQ DV QHHGHG WR REWDLQ D QRUPDOL]HG LQVWDQFH 1RWH WKDW WKH VFKHPH WHUPLQDWHV DV HDFK UHSODFHPHQW UHGXFHV WKH QXPEHU RI FRPSRQHQWV E\ RQH DQG HYHU\ RQH LQVWDQFH FRPSRQHQW LV QRUPDOL]HG 7KH SUHFHGLQJ GLVFXVVLRQ OHDGV WR WKH QRUPDOL]DWLRQ SURFHGXUH 1RUPDOL]H RI )LJXUH 7KH LQSXW WR WKLV SURFHGXUH LV D FRPSRQHQW VWDFN &>O@&n>Q@ DQG WKH RXWSXW LV D QRUPDOL]HG VWDFN &>O@ &>Q@ WKH LQSXW Q VD\ Qf ZLOO EH JHQHUDOO\ ODUJHU WKDW WKH RXWSXW Q VD\ Qnff &>L?K &>L@U &>L@I DQG &?L?O UHVSHFWLYHO\ JLYH WKH KHLJKW URXWLQJ KHLJKW QHHGHG LI WKH VWDFN LV IROGHG DW &>L fÂ§ @ LQGH[ RI ILUVW LQSXW FRPSRQHQW UHSUHVHQWHG E\ &>L?
PAGE 25
6 f f f KM KM KM UM UML Df Ef )LJXUH &DVH ZKHQ KM UM UML 3URFHGXUH 1RUPDOL]H&Qf ^ 1RUPDOL]H WKH FRPSRQHQW VWDFN &>O@ &>Q@` L QH[W ZKLOH QH[W Q GR FDVH &>L@K &>QH[W?U &>L?U ^&RPELQH ZLWK &>L fÂ§ @` &?L fÂ§ O@L &?L fÂ§ @K &>L?K? &>L?@O &>L?L L L fÂ§ &>L@K &>L?U &>QH[W?U ^&RPELQH ZLWK &>QH[W@` &>L?K &>L@K &>QH[W?K &>L?O &>QH[W@O QH[W QH[W HOVH &>L @ &>QH[W? L L I QH[W QH[W HQG Q L fÂ§ HQG ^1RUPDOL]H` )LJXUH 1RUPDOL]LQJ D VWDFN
PAGE 26
DQG LQGH[ RI WKH ODVW LQSXW FRPSRQHQW UHSUHVHQWHG E\ &>L? $W LQSXW ZH KDYH &>L?K KL &>L?U U &>L@I &>L?O L Â Q DQG &>Q I O@U 1RWH WKDW E\ GHILQLWLRQ &>O@U U? 2Q RXWSXW FRPSRQHQW &>L? LV WKH UHVXOW RI FRPELQLQJ WRJHWKHU WKH LQSXW FRPSRQHQWV 7KH KHLJKWV DQG WKH U YDOXHV DUH DSSURSULDWHO\ VHW 7KH FRUUHFWQHVV RI SURFHGXUH 1RUPDOL]H LV HVWDEOLVKHG LQ 7KHRUHP ,WV FRPSOH[LW\ LV 2Qf DV HDFK LWHUDWLRQ RI WKH ZKLOH ORRS WDNHV FRQVWDQW WLPH WKH ILUVW WZR FDVH FODXVHV FDQ EH HQWHUHG DWPRVW D WRWDO RI Q fÂ§ WLPHV DV RQ HDFK HQWU\ WKH QXPEHU RI FRPSRQHQWV LV UHGXFHG E\ 7KH HOVH FODXVH FDQ EH HQWHUHG DWPRVW Q fÂ§ WLPHV DV RQ HDFK HQWU\ QH[W LQFUHDVHV E\ DQG WKLV YDULDEOH LV QHYHU GHFUHDVHG LQ WKH SURFHGXUH 7KHRUHP 3URFHGXUH 1RUPDOL]H SURGXFHV DQ HTXLYDOHQW QRUPDOL]HG FRPSRQHQW VWDFN 3URRI 7KH SURFHGXUH PDLQWDLQV WKH IROORZLQJ LQYDULDQW DW WKH VWDUW RI HDFK LWHUDn WLRQ RI WKH ZKLOH ORRS ,QYDULDQW 1RUPDOL]LQJ FRQGLWLRQV &O DQG & DUH VDWLVILHG E\ DOO FRPSRQHQWV &?M@M 7KLV LV FOHDUO\ WUXH ZKHQ L DV WKHUH LV QR FRPSRQHQW &?M@ ZLWK M ,I WKH LQYDULDQW LV WUXH DW WKH VWDUW RI VRPH LWHUDWLRQ WKHQ LW LV WUXH DW WKH HQG RI WKDW LWHUDWLRQ 7R VHH WKLV QRWH WKDW LI ZH HQWHU WKH ILUVW FODXVH RI WKH FDVH WKHQ IROORZLQJ WKH H[HFXWLRQ RI WKLV FODXVH &>M@K&>M@U&?M @UM Ln ZKHUH Ln LV WKH YDOXH RI L IROORZLQJ H[HFXWLRQ RI WKH FODXVH DUH XQFKDQJHG 6R WKH H[HFXWLRQ GRHV QRW DIIHFW
PAGE 27
&O DQG & IRU M Ln ,I WKH VHFRQG FDVHFODXVH LV HQWHUHG WKHQ DJDLQ &O DQG & DUH XQDIIHFWHG E\ WKH H[HFXWLRQ IRU M L DV &>M@K&?M@U DQG &>M O@U M L DUH XQFKDQJHG :KHQ WKH WKLUG FODXVH LV HQWHUHG WKH YDOLGLW\ RI &O DQG & IRU M Ln IROORZV IURP WKH IDFW WKDW WKH FRQGLWLRQV IRU WKH ILUVW WZR FODXVHV DUH IDOVH 2Q WHUPLQDWLRQ QH[W Q 7KH ODVW LWHUDWLRQ RI WKH ZKLOH ORRS FRXOG QRW KDYH HQWHUHG WKH ILUVW FODXVH RI WKH FDVH VWDWHPHQW DV LQ WKLV FODXVH QH[W LV QRW LQFUHDVHG :KLOH LQ WKH VHFRQG FODXVH QH[W LV LQFUHDVHG WKH FRQGLWLRQ &>L?K?&>L?U &>QH[W?U FDQQRW EH WUXH LQ WKH ODVW LWHUDWLRQ DV QRZ QH[W Q I Q LV WKH LQSXW YDOXH RI Qf &>L?K &>L?U &>Q@U 6R WKH ODVW LWHUDWLRQ FDXVHG H[HFXWLRQ RI WKH WKLUG FODXVH RI WKH FDVH VWDWHPHQW $V D UHVXOW &>QU? LV PRYHG WR SRVLWLRQ Q RI & )URP WKH LQYDULDQW LW IROORZV WKDW &O DQG & DUH VDWLVILHG IRU M Ln fÂ§ Q QRWH Ln LV WKH ILQDO YDOXH RI rf +HQFH WKH RXWSXW FRPSRQHQW VWDFN &>O@ &>Qn? LV QRUPDOL]HG Â’ 7KHRUHP HVWDEOLVKHV DQ LPSRUWDQW SURSHUW\ RI D QRUPDOL]HG VWDFN 7KLV SURSn HUW\ HQDEOHV RQH WR REWDLQ HIILFLHQW DOJRULWKPV IRU WKH WZR IROGLQJ SUREOHPV FRQVLGHUHG LQ WKLV FKDSWHU 7KHRUHP /HW KLUcf ? L Q GHILQH D QRUPDOL]HG FRPSRQHQW VWDFN $VVXPH WKDW UR UQL 7KH IROORZLQJ DUH WUXH L L 3, UN KL UnL UN? KL UnL! N O Q M N M NL
PAGE 28
3 L L UN
PAGE 29
L\ 3URFHGXUH 0LQLPL]H:LGWKI& Q K ZLGWKf ^ 2EWDLQ D PLQLPXP ZLGWK IROGLQJ ZKRRVH KHLJKW LV DWPRVW K` 1RUPDOL]H& Qf XVHG K? ZLGWK IRU L WR Q GR FDVH XVHG fÂ§ &>L?U &>L?K &>L O@U K ^ DVVLJQ &>L? WR FXUUHQW VHJPHQW ` XVHG XVHG fÂ§ &>L?U &>L?K &>L O@U &>L@U &>L@K &>L @U K ^LQIHDVLEOH LQVWDQFH ` RXWSXW HUURU PHVVDJH WHUPLQDWH HOVH^VWDUW QH[W VHJPHQW IROG DW &>L fÂ§ @ ` ZLGWK ZLGWK XVHG &>L?U &>L?K &>L OMU HQG HQG ^0LQLPL]H:LGWKf )LJXUH 3URFHGXUH WR REWDLQ D PLQLPXP ZLGWK IROGLQJ
PAGE 30
7DEOH &RPSDULVRQ RI HTXDOZLGWK KHLJKWFRQVWUDLQHG DOJRULWKPV Q >@ )LJXUH 7LPHV DUH LQ PLOOLVHFRQGV 1RWH WKDW ZKLOH ZH DUH DEOH WR VROYH WKH HTXDOZLGWK KHLJKWFRQVWUDLQHG SUREn OHP LQ OLQHDU WLPH XVLQJ D FRPELQDWLRQ RI QRUPDOL]LQJ DQG WKH JUHHG\ PHWKRG WKH DOJRULWKP RI 3DLN DQG 6DKQL >@ XVHV G\QDPLF SURJUDPPLQJ RQ WKH XQQRUPDOL]HG LQVWDQFH DQG WDNHV Qf WLPH ,Q 7DEOH ZH JLYH WKH REVHUYHG UXQ WLPHV RI WKH WZR DOJRULWKPV 7KHVH ZHUH REWDLQHG E\ UXQQLQJ & SURJUDPV RQ D 681 ZRUNVWDWLRQ $V LV HYLGHQW RXU DOJRULWKP LV FRQVLGHUDEO\ VXSHULRU WR WKDW RI >@ HYHQ RQ VPDOO LQVWDQFHV 3DUDPHWULF 6HDUFK ,Q WKLV VHFWLRQ ZH SURYLGH DQ RYHUYLHZ RI WKH SDUDPHWULF VHDUFK PHWKRG RI )UHGHULFNVRQ >@ ZKLFK XVHV GHYHORSPHQWV E\ )UHGHULFNVRQ DQG RKQVRQ > @ DQG )UHGHULFNVRQ >@ 7KLV RYHUYLHZ KDV KRZHYHU EHHQ WDLORUHG WR VXLW RXU DSSOLFDWLRQ KHUH DQG LV QRW DV JHQHUDO DV WKDW SURYLGHG E\ )UHGHULFNVRQ DQG FRZRUNHUV > @ $VVXPH WKDW ZH DUH JLYHQ D VRUWHG PDWUL[ RI Qf FDQGLGDWH YDOXHV $IM LM Q %\ VRUWHG ZH PHDQ WKDW
PAGE 31
0LM 0LÂ L Q M Q DQG 0LM 0LM r Q M Q 7KH PDWUL[ LV SURYLGHG LPSOLFLWO\ 7KDW LV ZH DUH JLYHQ D ZD\ WR FRPSXWH 0LM LQ FRQVWDQW WLPH IRU DQ\ YDOXH RI L DQG M :H DUH UHTXLUHG WR ILQG WKH OHDVW 0LM WKDW VDWLVILHV VRPH FULWHULRQ ) 7KH FULWHULRQ ) KDV WKH SURSHUW\ WKDW LI )[f LV QRW VDWLVILHG WKHQ )\f LV QRW VDWLVILHG LH LW LV LQIHDVLEOHf IRU DOO \ [ 6LPLODUO\ LI )[f LV VDWLVILHG LH LW LV IHDVLEOHf WKHQ )\f LV IHDVLEOH IRU DOO \ [ ,Q D SDUDPHWULF VHDUFK WKH PLQLPXP 0LM WKDW VDWLVILHV ) LV IRXQG E\ WU\LQJ RXW VRPH RI WKH $I\V $V GLIIHUHQW 0WV DUH WULHG ZH PDLQWDLQ WZR YDOXHV $M DQG $ $L $ ZLWK WKH SURSHUWLHV Df )$Mf LV LQIHDVLEOH Ef )^?f LV IHDVLEOH ,QLWLDOO\ $M DQG $ ZH DVVXPH ) LV VXFK WKDW )f LV LQIHDVLEOH )f LV IHDVLEOH DQG 0LM IRU DOO FDQGLGDWH YDOXHVf 7R GHWHUPLQH WKH QH[W FDQGLGDWH YDOXH WR WU\ ZH EHJLQ ZLWK WKH PDWUL[ VHW 6 ^0` $W HDFK LWHUDWLRQ WKH PDWULFHV LQ 6 DUH SDUWLWLRQHG LQWR IRXU HTXDO VL]HG PDWULFHV DVVXPH IRU VLPSOLFLW\ WKDW Q LV D SRZHU RI f $V D UHVXOW RI WKLV WKH VL]H RI 6 EHFRPHV IRXU WLPHV LWV SUHYLRXV VL]H 1H[W D VHW 7 FRPSULVHG RI WKH ODUJHVW DQG VPDOOHVW HOHPHQWV IURP HDFK RI WKH PDWULFHV LQ 6 LV FRQVWUXFWHG 7KH PHGLDQ RI 7 LV WKH FDQGLGDWH YDOXH [ WR WU\ QH[W 7KH IROORZLQJ SRVVLEOLWLHV H[LVW IRU [ DQG )[f f [ $L 6LQFH );Lf LV LQIHDVLEOH )\f LV LQIHDVLEOH IRU DOO \ $L 6R )[f LV LQIHDVLEOH
PAGE 32
3URFHGXUH 36($ 5&+6?L?GLPHQVLRQ ILQLVKf UHSHDW LI GLPHQVLRQ WKHQ > UHSODFH HDFK PDWUL[ LQ 6 E\ IRXU HTXDO VL]HG VXEPDWULFHV GLPHQVLRQ GLPHQVLRQ @ IRU L WR GR EHJLQ LI GLPHQVLRQ WKHQ > /HW 7 EH WKH PXOWLVHW RI YDOXHV LQ DOO PDWULFHV RI 6 @ HOVH > /HW 7 EH WKH PXOWLVHW REWDLQHG E\ VHOHFWLQJ WKH ODUJHVW DQG VPDOOHVW YDOXHV IURP HDFK PDWUL[ RI 6 @ [ PHGLDQ7ff LI $M [ $f WKHQ LI )[f LV IHDVLEOH WKHQ $ [ HOVH $M ] (OLPLQDWH IURP 6 DOO PDWULFHV WKDW KDYH QR YDOXHV VXFK WKDW $M [ $ HQG XQWLO GLPHQVLRQ r ILQLVK HQG ^36($5&+` )LJXUH 3URFHGXUH IRU SDUDPHWULF VHDUFK f [ $ 1RZ )[f LV IHDVLEOH f $M [ $ )[f PD\ EH IHDVLEOH RU LQIHDVLEOH 7KLV LV GHWHUPLQHG E\ FRPSXWLQJ )[f ,I ] LV IHDVLEOH $ LV VHW WR ] 2WKHUZLVH $L LV VHW WR ] )ROORZLQJ WKH XSGDWH LI DQ\f RI $M RU $ UHVXOWLQJ IURP WU\LQJ RXW WKH FDQGLGDWH YDOXH ] DOO PDWULFHV LQ 6 WKDW GR QRW FRQWDLQ FDQGLGDWH YDOXHV \ LQ WKH UDQJH $L \ $ PD\ EH HOLPLQDWHG IURP 6
PAGE 33
$ PRUH SUHFLVH VWDWHPHQW RI WKH VHDUFK SURFHVV LV JLYHQ E\ SURFHGXUH 36($5&+ )LJXUH f 7KLV SURFHGXUH PD\ EH LQYRNHG DV 36($5&+^0`RR[f GLPHQVLRQ LV WKH FXUUHQW QXPEHU RI URZV RU FROXPQV LQ HDFK PDWUL[ RI 6 DQG ILQLVK LV D VWRSSLQJ UXOH 7KH VHDUFK IRU WKH PLQLPXP FDQGLGDWH WKDW VDWLVILHV ) LV WHUPLQDWHG ZKHQ WKH QXPEHU RI UHPDLQLQJ FDQGLGDWHV LV ILQLVK ,I $ ZKHQ 36($5&+ WHUPLQDWHV WKHQ QRQH RI WKH FDQGLGDWH YDOXHV LV IHDVLEOH ,I $ LV ILQLWH WKHQ LW LV WKH VPDOOHVW FDQGLGDWH WKDW LV IHDVLEOH 6LQFH ZH KDYH DVVXPHG Q LV D SRZHU RI HDFK WLPH D PDWUL[ LV GLYLGHG LQWR IRXU WKH VXEPDWULFHV SURGXFHG DUH VTXDUH DQG KDYH GLPHQVLRQ WKDW LV DOVR D SRZHU RI 6LQFH 0 LV SURYLGHG LPSOLFLWO\ HDFK RI LWV VXEPDWULFHV FDQ EH VWRUHG LPSOLFLWO\ )RU WKLV ZH QHHG PHUHO\ UHFRUG WKH PDWUL[ FRRUGLQDWHV LQGLFHVf RI WKH WRS OHIW DQG ERWWRP ULJKW HOHPHQWV DFWXDOO\ WKH ODWWHU FDQ EH FRPSXWHG IURP WKH IRUPHU XVLQJ WKH VXEPDWUL[ GLPHQVLRQf 7KH PXOWLVHW 7 UHTXLUHG RQ HDFK LWHUDWLRQ RI WKH IRU ORRS LV HDV\ WR FRQVWUXFW EHFDXVH RI WKH IDFW WKDW 0 LV VRUWHG 1RWH WKDW VLQFH 0 LV VRUWHG DOO RI LWV VXEPDWULFHV DUH DOVR VRUWHG &RQVHTXHQWO\ WKH ODUJHVW HOHPHQW RI HDFK VXEPDWL[ LV LQ ERWWRP ULJKW FRUQHU DQG WKH VPDOOHVW LV LQ WKH WRS OHIW FRUQHU 7KHVH HOHPHQWV FDQ WKHUHIRUH EH GHWHUPLQHG LQ FRQVWDQW WLPH SHU PDWUL[ RI 6 7KHRUHP >@ 7KH QXPEHU RI IHDVLELOLW\ WHVWV ) SHUIRUPHG E\ SURFHGXUH 36($5&+ ZKHQ VWDUWHG ZLWK 6 ^0` 0 DQ Q [ Q VRUWHG PDWUL[ WKDW LV SURYLGHG LPSOLFLWO\ LV 2?RJQf DQG WKH WRWDO WLPH VSHQW REWDLQLQJ WKH FDQGLGDWHV IRU IHDVLELOLW\ WHVW LV Qf Â’
PAGE 34
&RUROODU\ /HW WQf EH WKH WLPH QHHGHG WR GHWHUPLQH LI )[f LV IHDVLEOH 7KH FRPSOH[LW\ RI 36($5&+ LV Q I WQf ORJ Qf Â’ )RU VRPH RI WKH DOJRULWKPV ZH GHVFULEH ODWHU 36($5&+ ZLOO EH LQLWLDWHG ZLWK _6_ LH 6 ZLOO FRQWDLQ PRUH WKDQ RQH 0 PDWUL[ LQLWLDOO\ DOO PDWULFHV LQ 6 ZLOO VWLOO EH RI WKH VDPH VL]Hf 7R DQDO\]H WKH FRPSOH[LW\ RI WKHVH DOJRULWKPV ZH VKDOO XVH WKH IROORZLQJ WKHRUHP DQG FRUROODU\ 7KHRUHP >@ ,I 36($5&+ LV LQLWLDWHG ZLWK 6 FRQWDLQLQJ P VRUWHG PDWULFHV HDFK RI GLPHQVLRQ Q WKHQ WKH QXPEHU RI IHDVLELOLW\ WHVWV LV 2?RJQf DQG WKH WRWDO WLPH VSHQW REWDLQLQJ WKH FDQGLGDWH YDOXHV IRU WKHVH WHVWV LV 2PQf Â’ &RUROODU\ /HW WQf EH DV LQ &RUROODU\ 7KH FRPSOH[LW\ RI 36($5&+ XQGHU WKH DVVXPSWLRQV RI 7KHRUHP LV PQ ÂQfORJUFf Â’ :KLOH ZH KDYH GHVFULEHG 36($5&+ XQGHU WKH DVVXPSWLRQ WKDW WKH PDWULFHV RI FDQGLGDWH YDOXHV DUH VTXDUH DQG RI GLPHQVLRQ D SRZHU RI SDUDPHWULF VHDUFK HDVLO\ KDQGOHV RWKHU PDWUL[ VKDSHV DQG VL]HV )RU WKLV ZH FDQ DGG PRUH URZV DW WKH WRS DQG FROXPQV WR WKH OHIW VR WKDW WKH PDWULFHV EHFRPH VTXDUH DQG KDYH D GLPHQVLRQ WKDW LV D SRZHU RI 7KH HQWULHV LQ WKH QHZ URZV DQG FROXPQV DUH 7KLV GRHV QRW DIIHFW WKH DV\PSWRWLF FRPSOH[LW\ RI 36($5&+ $OWHUQDWLYHO\ ZH FDQ PRGLI\ WKH PDWUL[ VSOLWWLQJ SURFHVV WR SDUWLWLRQ LQWR IRXU URXJKO\ HTXDO VXEPDWULFHV DW HDFK VWHS 7KH GHWDLOV RI WKHVH JHQHUDOL]DWLRQV DUH JLYHQ LQ WKH OLWHUDWXUH > @ 3URFHGXUH 36($5&+ LV D UHVWULFWHG YHUVLRQ RI SURFHGXUH 06($5&+RI >@ $Q DOWHUQDWLYH VHDUFK DOJRULWKP LQ ZKLFK WKH IRU ORRS LV LWHUDWHG WZLFH RQFH ZLWK 7
PAGE 35
ÂR EHLQJ WKH PXOWLVHW RI WKH ODUJHVW YDOXHV LQ 6 DQG RQFH ZLWK 7 EHLQJ WKH PXOWLVHW RI WKH VPDOOHVW YDOXHV LQ 6 LV JLYHQ LQ )UHGHULFNVRQ DQG RKQVRQ > @ :H H[SHULPHQWHG ZLWK ERWK WKH IRUPXODWLRQV DQG IRXQG WKDW IRU RXU VWDFN IROGLQJ DSSOLFDWLRQ WKH WKUHH LWHUDWLRQ IRUPXODWLRQ RI )LJXUH LV IDVWHU E\ DSSUR[LPDWHO\ b (TXDO:LGWK :LGWK&RQVWUDLQHG 7R XVH SDUDPHWULF VHDUFK WR GHWHUPLQH WKH PLQLPXP KHLJKW IROGLQJ ZKHQ WKH OD\RXW ZLGWK LV FRQVWUDLQHG WR EH Z ZH PXVW GR WKH IROORZLQJ f ,GHQWLI\ D VHW RI FDQGLGDWH YDOXHV IRU WKH PLQLPXP KHLJKW IROGLQJ 7KLV VHW PXVW EH SURYLGHG LPSOLFLWO\ DV D VRUWHG PDWUL[ ZLWK WKH SURSHUW\ WKDW HDFK PDWUL[ HQWU\ FDQ EH FRPSXWHG LQ FRQVWDQW WLPH f 3URYLGH D ZD\ WR GHWHUPLQH LI D FDQGLGDWH KHLJKW K LV IHDVLEOH LH FDQ WKH FRPSRQHQW VWDFN EH IROGHG LQWR D UHFWDQJOH RI KHLJKW K DQG ZLGWK Z ,Q WKLV VHFWLRQ IRU f ZH VKDOO SURYLGH DQ Q [ Q VRUWHG PDWUL[ 0 Q LV WKH QXPEHU RI FRPSRQHQWV LQ WKH VWDFNf RI FDQGLGDWH YDOXHV )RU WKH IHDVLELOLW\ WHVW RI f ZH FDQ XVH SURFHGXUH 0LQLPL]H :LGWK RI )LJXUH E\ VHWWLQJ K HTXDO WR WKH FDQGLGDWH KHLJKW YDOXH EHLQJ WHVWHG DQG WKHQ GHWHUPLQLQJ LI ZLGWK Z IROORZLQJ H[HFXWLRQ RI WKH SURFHGXUH 6LQFH WKH FRPSRQHQW VWDFN QHHGV WR EH QRUPDOL]HG RQO\ RQFH DQG VLQFH 0LQLPL]H:LGWK ZLOO EH LQYRNHG IRU 2ORJUFf FDQGLGDWH YDOXHV WKH FDOO WR 1RUPDOL]H VKRXOG EH UHPRYHG IURP WKH SURFHGXUH 0LQLPL]H:LGWK DQG QRUPDOL]DWLRQ GRQH EHIRUH WKH ILUVW LQYRFDWLRQ RI WKLV SURFHGXUH $OVR WKH UHPDLQLQJ FRGH PD\ EH PRGLILHG WR WHUPLQDWH DV VRRQ DV Z IROGV DUH PDGH
PAGE 36
E 6LQFH IHDVLELOLW\ WHVWLQJ DQG QRUPDOL]DWLRQ HDFK WDNH OLQHDU WLPH IURP &RUROn ODU\ LW IROORZV WKDW WKH FRPSOH[LW\ RI WKH GHVFULEHG SDUDPHWULF VHDUFK WR ILQG WKH PLQLPXP KHLJKW IROGLQJ LV Q I WQf ORJ Qf Q Q ORJ Qf Q ORJ Qf 7R GHWHUPLQH WKH FDQGLGDWH PDWUL[ 0 ZH REVHUYH WKDW WKH KHLJKW RI DQ\ OD\RXW LV JLYHQ E\ M UL A UT L IRU VRPH LM L M Q 7KLV IRUPXOD MXVW JLYHV XV WKH KHLJKW RI WKH VHJPHQW WKDW FRQWDLQV FRPSRQHQWV & WKURXJK &U 'HILQH 4 WR EH WKH Q [ Q PDWUL[ ZLWK WKH HOHPHQWV U (A L UMW} r M Q L M 7KHQ IRU HYHU\ YDOXH RI Z 4 FRQWDLQV D YDOXH WKDW LV WKH KHLJKW RI D PLQLPXP KHLJKW IROGLQJ RI WKH FRPSRQHQW VWDFN VXFK WKDW WKH IROGLQJ KDV ZLGWK Z )URP 7KHRUHP LW IROORZV WKDW 4M A fÂ§ L A A A M A A 4LM 4LLM L Q M Q /HW 0LM 4QLLM r M Q 6R 0 LV D VRUWHG PDWUL[ WKDW FRQWDLQV DOO FDQGLGDWH YDOXHV 7KH PLQLPXP 0LM IRU ZKLFK D ZLGWK Z IROGLQJ LV SRVVLEOH LV WKH
PAGE 37
PLQLPXP KHLJKW ZLGWK]X IROGLQJ :H QRZ QHHG WR VKRZ KRZ WKH HOHPHQWV RI 0 PD\ EH FRPSXWHG HIILFLHQWO\ JLYHQ WKH LQGH[ SDLU /HW +M 7 KM L Q L L DQG OHW +R :H VHH WKDW 4LM U +M UW M M DQG VR 0LM UQL? +M fÂ§ A L M Q L M Q 6R LI ZH SUHFRPSXWH WKH +V HDFK ?\ FDQ EH GHWHUPLQHG LQ FRQVWDQW WLPH 7KH SUHFRPSXWDWLRQ RI WKH +V WDNHV Qf WLPH +HQFH WKH RYHUDOO FRPSOH[LW\ RI WKH SDUDPHWULF VHDUFK DOJRULWKP WR ILQG WKH PLQLPXP KHLJKW IROGLQJ UHPDLQV 2QORJQf :H QRWH WKDW RXU Q ORJ Qf DOJRULWKP LV YHU\ VLPLODU WR WKH Q ORJ Qf DOJRULWKP RI >@ WR SDUWLWLRQ D SDWK LQWR N VXESDWKV VXFK WKDW WKH OHQJWK RI WKH VKRUWHVW VXESDWK LV PD[LPL]HG 7KH GLIIHUHQFHV DUH WKDW f :H QHHG WR QRUPDOL]H WKH FRPSRQHQW VWDFN EHIRUH SDUDPHWULF VHDUFK FDQ EH XVHG DQG
PAGE 38
f 7KH GHILQLWLRQ RI 0\ QHHGV WR EH DGMXVWHG WR DFFRXQW IRU WKH URXWLQJ KHLJKWV U DQG UL QHHGHG DW HLWKHU HQG RI WKH VWDFN > @ SUHVHQW VHYHUDO UHILQHPHQWV RI WKH EDVLF SDUDPHWULF VHDUFK WHFKQLTXH 7KHVH UHILQHPHQWV DSSO\ WR WKH HTXDOZLGWK ZLGWKFRQVWUDLQHG SUREOHP MXVW DV ZHOO DV WR WKH SDWK SDUWLWLRQLQJ SUREOHP SURYLGHG ZH VWDUW ZLWK D QRUPDOL]HG LQVWDQFH DQG XVH WKH FDQGLGDWH PDWUL[ 0 GHILQHG DERYH 7KHVH UHILQHPHQWV UHVXOW LQ DOJRULWKPV RI FRPSOH[LW\ 2QORJORJQf 2QORJrQf DQG Qf IRU RXU FRPSRQHQW VWDFN SUREOHP ([SHULPHQWDO 5HVXOWV 7KH IRXU SDUDPHWULF VHDUFK DOJRULWKPV IRU WKH HTXDOZLGWK KHLJKWFRQVWUDLQHG SUREOHP ZHUH SURJUDPPHG LQ & DQG UXQ RQ D 681 ZRUNVWDWLRQ )RU FRPSDULVRQ SXUSRVHV WKH Qf G\QDPLF SURJUDPPLQJ DOJRULWKP RI 3DLN DQG 6DKQL >@ ZDV DOVR SURJUDPPHG 7KH UXQ WLPH SHUIRUPDQFH RI WKHVH ILYH DOJRULWKPV LV JLYHQ LQ 7DEOH 7KHVH WLPHV UHSUHVHQW WKH DYHUDJH WLPH IRU WHQ LQVWDQFHV RI HDFK VL]H7KH FRPSRQHQW KHLJKWV ZHUH REWDLQHG XVLQJ D UDQGRP QXPEHU JHQHUDWRU 7KH IRXU SDUDPHWULF VHDUFK DOJRULWKPV GLG QRW H[KLELW PXFK UXQ WLPH YDULDWLRQ DPRQJ LQVWDQFHV ZLWK WKH VDPH QXPEHU RI FRPSRQHQWV 7KH DOJRULWKP RI 3DLN DQG 6DKQL >@ WDNHV PXFK PRUH WLPH WKDQ HDFK RI WKH SDUDPHWULF VHDUFK DOJRULWKPV :LWKLQ WKH FODVV RI SDUDPHWULF VHDUFK DOJRULWKPV WKH 2QORJQf RQH LV IDVWHVW LQ WKH WHVWHG SUREOHP VL]H UDQJH 7KLV PD\ EH DWWULEXWHG WR WKH LQFUHDVHG RYHUKHDG DVVRFLDWHG ZLWK WKH UHPDLQLQJ DOJRULWKPV 7KH 2QORJQf DOJRULWKP LV UHFRPPHQGHG IRU XVH LQ SUDFWLFH XQOHVV WKH QXPEHU RI FRPSRQHQWV LQ D VWDFN LV YHU\ PXFK ODUJHU WKDQ
PAGE 39
7DEOH 5XQ WLPHV RI HTXDOZLGWK ZLGWKFRQVWUDLQHG DOJRULWKPV Q >@ Q ORJ Qf Q ORJ ORJ Qf Q ORJr Qf Qf 7LPHV DUH LQ PLOOLVHFRQGV &RQFOXVLRQV :H KDYH VKRZQ WKDW WKH HTXDOZLGWK KHLJKWFRQVWUDLQHG DQG HTXDOZLGWK ZLGWK FRQVWUDLQHG VWDFN IROGLQJ SUREOHPV FDQ EH VROYHG E\ DSSO\LQJ WKH JUHHG\ PHWKRG DQG SDUDPHWULF VHDUFK UHVSHFWLYHO\ LI WKH LQSXW LV ILUVW QRUPDOL]HG 1RUPDOL]DWLRQ FDQ EH GRQH LQ OLQHDU WLPH +HQFH WKH RYHUDOO FRPSOH[LW\ LV GHWHUPLQHG E\ WKDW RI DSSO\LQJ WKH JUHHG\ PHWKRG RU SDUDPHWULF VHDUFK WR WKH QRUPDOL]HG GDWD :H KDYH GHYHORSHG D OLQHDU WLPH DOJRULWKP IRU WKH HTXDOZLGWK KHLJKWFRQVWUDLQHG SUREOHP 7KLV FRPSDUHV YHU\ IDYRUDEO\ ERWK DQDO\WLFDOO\ DQG H[SHULPHQWDOO\f ZLWK WKH Qf G\QDPLF SURJUDPPLQJ DOJRULWKP RI 3DLN DQG 6DKQL >@ )RU WKH HTXDOZLGWK ZLGWKFRQVWUDLQHG SUREOHP ZH KDYH GHYHORSHG IRXU DOJRn ULWKPV RI FRPSOH[LW\ 2QORJQf 2QORJORJQf 2QORJrQf DQG Qf UHVSHFWLYHO\ $OO FRPSDUH YHU\ IDYRUDEO\ ZLWK WKH Qf G\QDPLF SURJUDPPLQJ DOJRULWKP RI 3DLN
PAGE 40
DQG 6DKQL >@ ([SHULPHQWDO UHVXOWV LQGLFDWH WKDW WKH 2QORJQf DOJRULWKP SHUIRUPV EHVW RQ SUDFWLFDO VL]H LQVWDQFHV
PAGE 41
&+$37(5 67$1'$5' $1' &86720 &(// )2/',1* ,QWURGXFWLRQ 6WDQGDUG FHOO DQG JDWH DUUD\ GHVLJQ VW\OHV DUH FKDUDFWHUL]HG E\ D URZ FROXPQf RUJDQL]DWLRQ RI WKH OD\RXW 7KH OD\RXW DUHD LV GLYLGHG LQWR D QXPEHU RI SDUDOOHO URZV VHSDUDWHG E\ URXWLQJ FKDQQHOV DV VKRZQ LQ )LJXUH 7KH OD\RXW SUREOHP LV JHQHUDOO\ GLYLGHG LQWR WZR LQGHSHQGHQW VXEWDVNV SODFHPHQW DQG URXWLQJ ,Q WKH SODFHPHQW VWHS WKH DSSURSULDWH ORFDWLRQV DQG RULHQWDWLRQV RI WKH VWDQGDUG FHOOV DUH GHFLGHG ,Q WKH URXWLQJ VWHS WKH UHTXLUHG FRQQHFWLRQV DUH DGGHG 2QH DSSURDFK WR SODFHPHQW LV OLQHDU RUGHULQJ ZLWK IROGLQJ > @ ,Q WKLV DSSURDFK WKH SODFHPHQW LV GLYLGHG LQWR WZR GLVWLQFW VWHSV 7KH ILUVW LV OLQHDU RUGHULQJ LQ ZKLFK DQ RUGHU RI WKH PRGXOHV LV GHWHUPLQHG VR DV WR PLQLPL]H WKH FRQQHFWLRQ OHQJWK RU PLQLPL]H PD[LPDO GHQVLW\ RI FRQQHFWLRQV IRU PRGXOHV SRVLWLRQHG LQ RQH OLQH 7KH IROGLQJ VWHS PDSV WKH OLQHDU RUGHU LQWR WKH URZ VWUXFWXUH RI WKH FKLS 7KH OLQHDU RUGHULQJ SUREOHP LV 13KDUG DQG KHXULVWLF VWUDWHJLHV DUH GLVFXVVHG LQ >@ WR PLQLPL]H WKH FRQQHFWLRQ OHQJWK DV ZHOO DV PD[LPDO GHQVLW\ RI FRQQHFWLRQV 7KH JUHHG\ VWUDWHJ\ LV DGRSWHG LQ >@ IRU IROGLQJ WKH RUGHUHG PRGXOHV ,Q WKLV SDSHU ZH FRQVLGHU RQO\ WKH VHFRQG VWHS RI WKH SODFHPHQW DSSURDFK MXVW GHVFULEHG :H EHJLQ ZLWK DQ RUGHUHG FRPSRQHQW OLVW &L & &Q DQG GHYHORS
PAGE 42
6WDQGDUG FHOO URZ 5RXWLQJ FKDQQHO &KDQQHO +HLJKW )LJXUH 6WDQGDUG FHOO $UFKLWHFWXUH DOJRULWKPV WR IROG WKLV OLVW LQWR URZV ,I WKH OLVW LV IROGHG DW & WKHQ WKH FRPSRQHQW &^ LV LQ RQH URZ DQG &L LV LQ WKH QH[W ,I WKH OLVW LV IROGHG DW & DQG &M DQG DW QR FRPSRQHQW &N IRU L N M WKHQ FRPSRQHQWV &ÂL &M DUH LQ WKH VDPH URZ 6XSSRVH WKH OLVW LV IROGHG DW & 7KH FKDQQHO KHLJKW QHHGHG EHWZHHQ WKH URZV FRQWDLQLQJ & DQG & PD\ EH HVWLPDWHG >@ XVLQJ WKH QXPEHU RI QHWV WKDW KDYH D SLQ LQ RQH RI WKH FRPSRQHQWV &? &Â DV ZHOO DV LQ RQH RI WKH FRPSRQHQWV & &f /HW WKLV KHLJKW HVWLPDWH EH L Q /HW f :H VWXG\ WKH IROORZLQJ IROGLQJ SUREOHPV 6WDQGDUG FHOO IROGLQJ WR PLQLPL]H WRWDO URXWLQJ FKDQQHO DUHD VXEMHFW WR D FKLS ZLGWK FRQVWUDLQW : 6LQFH HDFK URXWLQJ FKDQQHO KDV WKH VDPH ZLGWK WKH FKLS DUHD DVVLJQHG IRU URXWLQJ LV PLQLPL]HG ZKHQ WKH VXP RI WKH FKDQQHO KHLJKWV LV PLQLPL]HG 7KLV SUREOHP LV VROYHG LQ Qf WLPH XVLQJ G\QDPLF SURJUDPPLQJ
PAGE 43
6HFWLRQ f 1RWH WKDW ZKHQHYHU ZH XVH WKH WHUP FKLS DUHD ZH FRXOG LQVWHDG XVH VXEFKLS DUHD 6WDQGDUG FHOO IROGLQJ WR PLQLPL]H FKLS DUHD VXEMHFW WR D FKLS ZLGWK FRQVWUDLQW : ,Q WKLV SUREOHP ERWK URXWLQJ DUHD DQG WKH DUHD DVVLJQHG IRU WKH FRPSRQHQWV LV FRQVLGHUHG 6LQFH WKH FKLS ZLGWK LV IL[HG DW : DUHD PLQLPL]DWLRQ LV HTXLYDOHQW WR PLQLPL]LQJ FKLS KHLJKW ,Q 6HFWLRQ ZH XVH G\QDPLF SURJUDPPLQJ WR REWDLQ DQ Qf DOJRULWKP IRU WKLV SUREOHP 6WDQGDUG FHOO IROGLQJ WR PLQLPL]H WRWDO URXWLQJ DUHD VXEMHFW WR D WRWDO URXWLQJ FKDQQHO KHLJKW FRQVWUDLQW ,, 7KLV SUREOHP GLIIHUV IURP SUREOHP RQO\ LQ WKDW WKH WRWDO KHLJKW RI WKH URXWLQJ FKDQQHOV LV IL[HG DW ,, DQG WKHLU ZLGWK LV YDULDEOH UDWKHU WKDQ WKH URXWLQJ FKDQQHOV KDYLQJ YDULDEOH WRWDO KHLJKW DQG IL[HG ZLGWK : ,Q 6HFWLRQ ZH VKRZ KRZ WR VROYH WKLV SUREOHP LQ 2QORJQf WLPH 6WDQGDUG FHOO IROGLQJ WR PLQLPL]H FKLS DUHD VXEMHFW WR D FKLS KHLJKW FRQVWUDLQW + 7KLV SUREOHP LV VROYHG LQ 2QORJQf WLPH LQ 6HFWLRQ 6WDQGDUG FHOO IROGLQJ XVLQJ HTXDO KHLJKW FKDQQHOV RI ZLGWK : :H DUH WR ILQG D IROGLQJ WKDW XVHV FKDQQHOV RI PLQLPXP KHLJKW $PRQJ DOO VXFK IROGLQJV RQH WKDW XVHV WKH IHZHVW QXPEHU RI URXWLQJ FKDQQHOV DQG KHQFH IHZHVW QXPEHU RI FRPSRQHQW URZVf LV WR EH IRXQG ,Q 6HFWLRQ ZH GHYHORS DQ 2QORJQf H[n SHFWHG WLPH DOJRULWKP IRU WKLV SUREOHP +RZHYHU IRU PRVW SUDFWLFDO LQVWDQFHV WKH DOJRULWKP KDV UXQ WLPH Qf
PAGE 44
6WDQGDUG FHOO IROGLQJ XVLQJ HTXDO KHLJKW URXWLQJ FKDQQHOV RI ZLGWK : )LQG D IROGLQJ WKDW PLQLPL]HV WKH WRWDO FKLS DUHD 7KLV FDQ EH GRQH LQ Qf WLPH VHH 6HFWLRQ f 6WDQGDUG FHOO IROGLQJ XVLQJ HTXDO KHLJKW FKDQQHOV DQG D FKLS RI KHLJKW + 7KH IROGLQJ VKRXOG PLQLPL]H WKH WRWDO FKLS DUHD 2XU DOJRULWKP IRU WKLV SUREOHP FDQ EH IRXQG LQ 6HFWLRQ ,WV FRPSOH[LW\ LV Qf &XVWRP FHOO IROGLQJ WR PLQLPL]H WRWDO FKLS DUHD VXEMHFW WR D FKLS ZLGWK : 1RWH WKDW LQ VWDQGDUG FHOO OD\RXW DOO FHOOVFRPSRQHQWVPRGXOHV KDYH WKH VDPH KHLJKW DQG PD\ KDYH YDULDEOH ZLGWKV ,Q FXVWRP FHOO OD\RXW WKH FHOOV PD\ GLIIHU LQ ERWK KHLJKW DQG ZLGWK :H DVVXPH WKDW WKH FHOO URZ KHLJKW LV VHW WR EH WKH KHLJKW RI WKH WDOOHVW FHOO DVVLJQHG WR WKDW URZ ,Q 6HFWLRQ ZH GHYHORS DQ 2QORJQf DOJRULWKP IRU WKLV SUREOHP &XVWRP FHOO IROGLQJ WR PLQLPL]H WRWDO FKLS DUHD VXEMHFW WR D FKLS KHLJKW FRQn VWUDLQW ,, :H VROYH WKLV SUREOHP LQ 6HFWLRQ XVLQJ DQ DOJRULWKP RI FRPn SOH[LW\ Q ORJ Qf :H QRWH WKDW SUREOHP KDV EHHQ VWXGLHG SUHYLRXVO\ LQ >@ LQ WKH FRQWH[W RI ELW VOLFH VWDFN IROGLQJ 7KH DOJRULWKP GHYHORSHG WKHUH KDV FRPSOH[LW\ Qf ZKLOH RXUV KDV FRPSOH[LW\ 2QORJQf 3UREOHP KDV DOVR EHHQ VWXGLHG LQ >@ 2XU QORJQf DOJRULWKP LV DQ LPSURYHPHQW RYHU WKH 2"ORJQf DOJRULWKP GHYHORSHG LQ >@
PAGE 45
6WDQGDUG &HOO )ROGLQJ 3UREOHPV f 2XU GLVFXVVLRQ RI SUREOHPV LV GLYLGHG LQWR WZR SDUWV ,Q 6HFWLRQ ZH FRQVLGHU SUREOHPV DQG ,Q ERWK WKHVH WKH FKLS ZLGWK DQG KHQFH WKH FHOO DQG URXWLQJ FKDQQHO ZLGWKV DUH IL[HG DW ,7 ,Q 6HFWLRQ ZH FRQVLGHU SUREOHPV DQG LQ ERWK RI ZKLFK WKH FKLS KHLJKW LV IL[HG DW ,Q DOO IRXU SUREOHPV WKH URXWLQJ FKDQQHOV KDYH YDULDEOH KHLJKW (DFK FHOO DQG KHQFH HDFK FHOO URZ KDV KHLJKW K 7KH ZLGWK RI FHOO L LV L Q /HW :^M e>fB ZN r M Q r FDVH RI IL[HG FKLS ZLGWK ,7 ZH PD\ DVVXPH WKDW Z ,7 ? L Q :LGWK &RQVWUDLQHG &DVH 3UREOHPV DQG f :H ILUVW FRQVLGHU SUREOHP ,Q WKLV ZH DUH WR PLQLPL]H WKH WRWDO URXWLQJ DUHD 6LQFH WKH FKDQQHO ZLGWKV DUH IL[HG DW ,7 LW LV VXIILFLHQW WR PLQLPL]H WKH VXP RI FKDQQHO KHLJKWV 6XSSRVH WKDW &L&Q LV IROGHG DW & LQ DQ RSWLPDO IROGLQJ ; 7KHQ WKH IROGLQJ RI &L & LQ $n DV ZHOO DV WKDW RI &L &Q PXVW EH PLQLPXP DUHD IROGLQJV +HQFH WKH SULQFLSOH RI RSWLPDOLW\ KROGV DQG ZH FDQ XVH G\QDPLF SURJUDPPLQJ >@ /HW "Vf L V GHQRWH WKH PLQLPXP VXP RI FKDQQHO KHLJKWV ZKHQ WKH FRPn SRQHQW OLVW & &Q LV IROGHG VXFK WKDW & &V DUH LQ RQH FHOO URZ DQG WKH ILUVW IROG LV DW &V VR &VL LV LQ WKH QH[W FHOO URZf ,W LV HDV\ WR VHH WKDW QQf f )RU L V Q ZH JHW r} RR LI ZV ,7 Â OVf RWKHUZLVH f
PAGE 46
$OVR IRU r V Q ZH JHW rrf PLQ ^r f ` f r 7KH VROXWLRQ WR SUREOHP LV REWDLQHG E\ ILUVW XVLQJ (TXDWLRQV DQG WR GHWHUPLQH L V Q DQG WKHQ GHWHUPLQLQJ WKH PLQLPXP RI OMf MQ 7KH :LnV PD\ EH SUHFRPSXWHG LQ Qf WLPH (DFK ILVf L V WDNHV f WLPH WR FRPSXWH DQG ILLf WDNHV Q fÂ§ Lf WLPH +HQFH DOO WKH WVffV L V PD\ EH REWDLQHG LQ Qf WLPH 7KH PLQLPXP RI WKH FDQ EH REWDLQHG LQ Qf WLPH 6R WKH RYHUDOO WLPH QHHGHG WR VROYH SUREOHP XVLQJ (TXDWLRQV DQG LV Qf $ PRUH FDUHIXO LPSOHPHQWDWLRQ RI WKH G\QDPLF SURJUDPPLQJ DOJRULWKP UHVXOWV LQ D FRPSOH[LW\ Qf )LUVW ZH FRPSXWH WKH VXIIL[ VXPV Q 4L M L LQ Qf WLPH /HW 4fM )URP WKH VXIIL[ VXPV HDFK ZÂV FDQ EH FRPSXWHG LQ f WLPH XVLQJ fÂ§ 4 4 1H[W IURP (TXDWLRQ ZH VHH WKDW IRU L V DQG :^V : I^LVf IL OVf I Vf IVVf )Vf
PAGE 47
< 6R (TXDWLRQ EHFRPHV IRU L Vf rnrf 22 :LV : )Vf RWKHUZLVH 8VLQJ (TXDWLRQ (TXDWLRQ PD\ EH UHZULWWHQ DV f A r!rf PLQ ^" f m` WTQ PLQ ^)T f f` LTQ DQG X LL9 PLQ ^)Jf` LTQ DQG XO@O9O 9 f 7KH PLQLPXP WRWDO URXWLQJ KHLJKW QHHGHG LV PLQ rQ DQG Z?W 0 f 6R SUREOHP PD\ EH VROYHG E\ FRPSXWLQJ WKH Q )LfnV XVLQJ (TXDWLRQ UDWKHU WKDQ WKH Qf IL VffV XVLQJ (TXDWLRQV DQG f DQG ILQGLQJ WKH PLQLPXP RI Qf )LfnV LQ (TXDWLRQ 7R FRPSXWH WKH )LfnV XVLQJ (TXDWLRQ ZH EHJLQ ZLWK )Qf DQG FRPSXWH )Q f )^Q f )Of LQ WKDW RUGHU 7R FRPSXWH DQ )Lf ZH QHHG WR ILQG WKH PLQLPXP RI D PXOWLVHW 6L RI SUHYLRXVO\ FRPSXWHG )nV 6SHFLILFDOO\ 6L ^)Tf T Q DQG LLL :f
PAGE 48
RR 2EVHUYDWLRQ ,I ZMf" : WKHQ ZLKT : IRUL M +HQFH LI )Tf e 6M WKHQ )Tf 6L IRU L M Â’ )URP 2EVHUYDWLRQ LW IROORZV WKDW 6LL PD\ EH FRPSXWHG IURP 6L L Q E\ HOLPLQDWLQJ WKRVH )T@ LQ DQ DUUD\ 5HVXOW>OQ@ 5HVXOW>L@T DQG 5HVXOW>L?) WRJHWKHU UHSUHVHQW DQ HQWU\ RI 6 \LHOGLQJ WKH YDOXH )Tf 7KH HOHPHQWV RI 6 DUH VWRUHG LQ SRVLWLRQV WDLO WDLO KHDG RI DUUD\ 5HVXOW 7KH )Tf YDOXHV DUH LQ GHVFHQGLQJ RUGHU OHIWWRULJKW
PAGE 49
+HQFH WKH T YDOXHV DUH LQ DVFHQGLQJ RUGHU 3URFHGXUH 0LQLPL]H+W6WDQGDUG )LJXUH f LV WKH UHVXOWLQJ DOJRULWKP 7KHRUHP 7KH SURFHGXUH 0LQLPL]H+W6WDQGDUG JLYHQ LQ )LJXUH LV FRUUHFW 3URRI 7KHUH DUH WZR SDUWV WR WKH ZRUNLQJ RI SURFHGXUH 0LQLPL]H+W6WDQGDUG 7KH ILUVW RQH LV FRPSXWLQJ )Lf LQ ZKLFK GHOHWLRQV RI )ffV FDQ RFFXU 7KH VHFRQG RQH LV LQVHUWLQJ WKH FRPSXWHG )Lf DW WKH DSSURSULDWH SODFH LQ WKH DUUD\ 7KH SURFHGXUH PDLQWDLQV WKH IROORZLQJ LQYDULDQW DW WKH VWDUW RI HDFK LWHUDWLRQ RI WKH IRU ORRS ,QYDULDQW 5HVXOW>WDLO?) 5HVXOW>WDLO @) ! 5HVXOW>KHDG?) ,W LV FOHDUO\ WUXH ZKHQ L Q fÂ§ DV KHDG WDLO 7KH LQYDULDQW LV WUXH DW WKH VWDUW RI WKH LWHUDWLRQ DQG VR 5HVXOW>KHDG?) LV WKH PLQLPXP PDLQWDLQHG )^f YDOXH 7KH FRPSRQHQW QXPEHU LV PDLQWDLQHG LQ 5HVXOW>KHDG?T :H FKHFN ZKHWKHU 4>L @ fÂ§ 4>5HVXOW>KHDG?T @ : DQG LI VR E\ YLUWXH RI 2EVHUYDWLRQ ZH FDQ HOLPLQDWH WKLV YDOXH :H GR VR E\ GHFUHPHQWLQJ WKH KHDG SRLQWHU :H NHHS UHSHDWLQJ WKLV XQWLO ZH ILQG D UHFRUG N 5HVXOW>KHDG?T VXFK WKDW %5>L @ fÂ§ %5>N @ : 7KLV UHFRUG SRLQWHG WR E\ KHDG KDV WKH PLQn LPXP RI WKH PDLQWDLQHG )f YDOXHV :H FRPSXWH )Lf DQG VWRUH LW LQ WHPS 1RWLFH WKDW DW WKH HQG RI WKH ZKLOH ORRS ZH KDYH GHOHWHG D IHZ )ffV DQG WKH LQYDULDQW SURSHUW\ VWLOO KROGV 7KH LQYDULDQW KROGV EHIRUH WKH VWDUW RI WKH VHFRQG ZKLOH ORRS +HUH ZH VWDUW DW WDLO ,I WKH LQHTXDOLW\ LV WUXH WKHQ ZH GHOHWH WKH UHFRUG DQG WKLV LV MXVWLILHG E\ /HPPD :H NHHS GRLQJ VR XQWLO WHPS 5HVXOW>WDLO@) 7KHQ ZH GHFUHPHQW WKH
PAGE 50
8 3URFHGXUH 0LQLPL]HOOW6WDQGDUG@ ^ &RPSXWH WKH PLQLPXP KHLJKW OD\RXW` ^ ,QLWLDOL]H 6Q ^ ` ` KHDG Q?WDLO Q 5HVXOW>WDLO?) 5HVXOW>WDLO@T Q ^ &RPSXWH )Lf ` IRU L Q fÂ§ GRZQWR GR EHJLQ ^ &RPSXWH 6L ` ZKLOH 4>L @ fÂ§ 4>5HVXOW>KHDG?T @ :f GR KHDG KHDG fÂ§ ^GHOHWH IURP 2EVHUYDWLRQ ` WHPS >Â@ 5HVXOW>KHDG@) ^8VH PLQ ) LQ 6L WR FRPSXWH LALf` ZKLOH WHPS 5HVXOW>WDLOf)f GR ^ GHOHWH XVLQJ /HPPD ` WDLO WDLO ^ 6WRUH )Lf ` WDLO WDLO fÂ§ 5HVXOW>WDLO@) WHPS 5HVXOW>WDLO@T L HQG ^ RI IRU ` ZKLOH 4>O@ fÂ§ 4>5HVXOW>KHDG?T @ :f GR KHDG KHDG fÂ§ 0LQLPL]HOOW6WDQGDUG 5HVXOW>KHDG?) HQG ^ RI 0LQLPL]HOOW6WDQGDUG ` )LJXUH 3URFHGXUH WR REWDLQ D PLQLPXP KHLJKW IROGLQJ
PAGE 51
WDLO SRLQWHU DQG VWRUH WKH WHPS UHFRUG 6R WKH LQYDULDQW KROGV DW WKH HQG RI WKH LWHUDWLRQ &RQVHTXHQWO\ WKH LQYDULDQW KROGV DW WKH VWDUW RI HDFK LWHUDWLRQ RI WKH IRU ORRS DQG WKH )nV DUH FRUUHFWO\ FRPSXWHG 7KH PLQLPXP KHLJKW OD\RXW LV WKH PLQLPXP RI WKH PDLQWDLQHG )f YDOXHV WKDW VDWLVI\ WKH ZLGWK FRQVWUDLQW LH 4>O@ fÂ§ 4>5HVXOW>KHDG?T @ : 7KH ODVW ZKLOH ORRS RI WKH SURFHGXUH WDNH FDUH RI WKLV IDFW 7KH ODVW OLQH RI SURFHGXUH FRPSXWHV WKH 0LQLPL]H+W6WDQGDUG ZKLFK LV WKH PLQLPXP KHLJKW OD\RXW Â’ :KHQHYHU WKH SRLQWHUV KHDG RU WDLO DUH DGYDQFHG LQ WKH ZKLOH ORRSV ZH GHOHWH )f YDOXHV 7KLV FRVW FDQ EH FKDUJHG WRZDUGV GHOHWLRQ RI )f YDOXHV 7KH UHPDLQLQJ FRGH ZLWKLQ WKH IRU ORRS WDNHV Qf DPRUWL]HG WLPH 7KH FRPSOH[LW\ RI WKH SURFHGXUH 0LQLPL]H+W6WDQGDUG LV FOHDUO\ Qf DV QR PRUH WKDQ Q GHOHWLRQV FDQ WDNH SODFH 8VLQJ VWDQGDUG G\QDPLF SURJUDPPLQJ WUDFHEDFN WHFKQLTXHV >@ WKH IROG SRLQWV FDQ EH REWDLQHG LQ DGGLWLRQDO Qf WLPH 3UREOHP LH PLQLPL]H WRWDO DUHD UDWKHU WKDQ MXVW URXWLQJ DUHD PD\ EH GRQH LQ D VLPLODU ZD\ /HW ILVfL V QRZ GHQRWH WKH PLQLPXP FKLS KHLJKW IRU WKH FRPSRQHQW OLVW & &Q DVVXPLQJ WKH ILUVW IROG LV DW V $V EHIRUH QQf DQG (TXDWLRQ KROGV IRU L V (TXDWLRQ QHHGV WR EH UHSODFHG E\ ILLf PLQ ^IL OTf OL K` f WTQ 8VLQJ (TXDWLRQV DQG DQG WKH GHYHORSPHQW IRU SUREOHP DQ Qf WLPH DOJRULWKP IRU SUREOHP PD\ EH REWDLQHG
PAGE 52
+HLJKW &RQVWUDLQHG &DVH 3UREOHPV f 7KH VROXWLRQV WR SUREOHPV DQG DUH VLPLODU %RWK XVH SDUDPHWULF VHDUFK DQG ZH GHVFULEH RQO\ WKH VROXWLRQ WR SUREOHP 6LQFH WKH WRWDO KHLJKW RI WKH URXWLQJ FKDQQHOV LV IL[HG DW WKH DUHD DVVLJQHG IRU URXWLQJ LV PLQLPL]HG E\ PLQLPL]LQJ WKH FKLS ZLGWK : 7R XVH SDUDPHWULF VHDUFK WR PLQLPL]H : ZH PXVW GR WKH IROORZLQJ ,GHQWLI\ D VHW RI FDQGLGDWH YDOXHV IRU WKH PLQLPXP : 7KLV VHW PXVW EH SURn YLGHG DV D VRUWHG PDWUL[ ZLWK WKH SURSHUW\ WKDW HDFK PDWUL[ HQWU\ FDQ EH FRPSXWHG LQ FRQVWDQW WLPH 3URYLGH D ZD\ WR GHWHUPLQH LI D FDQGLGDWH ZLGWK : LV IHDVLEOH LH FDQ WKH FRPSRQHQW VWDFN FDQ EH IROGHG XVLQJ WRWDO FKDQQHO KHLJKW + DQG ZLGWK : )RU WKH IHDVLELOLW\ WHVW RI ZH FDQ XVH SURFHGXUH 0LQLPL]H+W6WDQGDUG RI )LJXUH E\ VHWWLQJ : WR WKH FDQGLGDWH YDOXH EHLQJ WHVWHG DQG WKHQ GHWHUPLQH LI 0LQLPXP+W6WDQGDUG + IROORZLQJ WKH H[HFXWLRQ RI WKH SURFHGXUH 1H[W ZH SURYLGH DQQ[Q VRUWHG PDWUL[ 0 Q LV WKH WRWDO QXPEHU RI FRPSRQHQWV LQ WKH FRPSRQHQW OLVWf RI FDQGLGDWH YDOXHV 7R GHWHUPLQH WKH FDQGLGDWH PDWUL[ 0 ZH REVHUYH WKDW WKH ZLGWK RI DQ\ OD\RXW LV JLYHQ E\
PAGE 53
8 /HW Q 7 WX Â Q M DQG OHW 7Q 7KHQ $L^M fÂ§ 7QB@ fÂ§ ML M Q L M Q 6R LI ZH SUHFRPSXWH WKH 7fV HDFK 0M FDQ EH GHWHUPLQHG LQ FRQVWDQW WLPH 7KH SUHFRPSXWDWLRQ RI WKH 7fV WDNHV Qf WLPH 6LQFH IHDVLELOLW\ WHVWLQJ WDNHV OLQHDU WLPH IURP &RUROODU\ LW IROORZV WKDW WKH FRPSOH[LW\ RI WKH GHVFULEHG SDUDPHWULF VHDUFK WR ILQG WKH PLQLPXP ZLGWK IROGLQJ LV Q WQfORJQf Q QORJQf Q ORJ Qf 6WDQGDUG &HOO )ROGLQJ 3UREOHPV f ,Q WKLV VHFWLRQ ZH GHDO ZLWK OD\RXWV ZKLFK KDYH IL[HG FKDQQHO DUHD HJ VHPLn FXVWRP FKLSV LQ ZKLFK HDFK URXWLQJ FKDQQHO LV RI WKH VDPH KHLJKW 0LQLPXP &KDQQHO +HLJKW 3UREOHP f :H PD\ YLHZ WKH UHVXOW RI DQ\ ZLGWK : IROGLQJ DV WKH WUDQVIRUPDWLRQ RI WKH FRPSRQHQW OLVW &?&Q LQWR D QHZ FRPSRQHQW OLVW %L %N N Q ZKHUH %L UHSUHVHQWV WKH FRPSRQHQWV IROGHG LQWR URZ L RI WKH OD\RXW 7KH ZLGWK RI HDFK HTXDOV WKH VXP RI WKH ZLGWKV RI WKH FRPSRQHQWV DVVLJQHG WR FHOO URZ L DQG WKLV LV
PAGE 54
: $OVR WKH URXWLQJ FKDQQHO EHWZHHQ URZV L DQG L PXVW KDYH KHLJKW DW OHDVW HTXDO WR OMW ZKHUH &M LV WKH ODVW FRPSRQHQW DVVLJQHG WR FHOO URZ L :H VHH WKDW L ZLGWK%Lf A :M M MLLL DQG KHLJKW RI FKDQQHOIf M ZKHUH M :KHQ FKDQQHO KHLJKWV DUH WKH VDPH WKH KHLJKW PXVW EH DW OHDVW PD[LP :LWK WKLV NQRZOHGJH ZH FDQ GHYHORS D JUHHG\ DOJRULWKP WR PLQLPL]H FKDQQHO KHLJKW ,Q WKLV ZH UHSHDWHGO\ FRPELQH WRJHWKHU SDLUV RI FRPSRQHQWV WKLV LV HTXLYDOHQW WR DVVLJQLQJ WKHP WR WKH VDPH FHOO URZ RU %Lf VR WKDW QR FUHDWHG FRPSRQHQW KDV ZLGWK JUHDWHU WKDQ : 7KH SDLUV DUH FKRVHQ LQ QRQLQFUHDVLQJ RUGHU RI 7KH JUHHG\ DOJRULWKP LV JLYHQ LQ )LJXUH (DFK VHW RI FRPELQHG FRPSRQHQWV LV UHSUHVHQWHG E\ D SRLQWHU ODVW IURP WKH ILUVW FRPSRQHQW WR WKH ODVW DQG DQRWKHU SRLQWHU ILUVW IURP WKH ODVW FRPSRQHQW WR WKH ILUVW 7KH ZLGWK RI WKH FRPELQHG FRPSRQHQW LV NHSW LQ WKH ILUVW HOHPHQWDU\ FRPSRQHQW RI WKH FRPELQHG FRPSRQHQW ,Q WKH DOJRULWKP RI )LJXUH ZH LQLWLDOL]H WKH FRPELQHG FRPSRQHQW EORFNV WR FRQVLVW RI HOHPHQWDU\ FRPSRQHQWV LQ WKH ILUVW IRU ORRS 7KH VRUW JLYHV XV WKH RUGHU LQ ZKLFK WKH ,nV DUH WR EH fHOLPLQDWHGf VR WKDW WKH PD[LPXP RI WKH UHPDLQLQJ 9V LV WKH PLQLPXP ,Q WKH ZKLOH ORRS 9V DUH HOLPLQDWHG E\ FRPELQLQJ EORFNV 7KLV LV GRQH XQWLO WKH QH[W KLJKHVW ZH DVVXPH WKDW < ZL 9) VR LW LV QRW SRVVLEOH WR HOLPLQDWH DOO 9Vf 7KH KLJKHVW UHPDLQLQJ LV >S>"@@ DQG WKLV LV WKH VPDOOHVW FKDQQHO KHLJKW QHHGHG
PAGE 55
W! 3URFHGXUH 0LQ&KDQQHO+HLJKW IRU L WR Q GR ^LQWLDOL]H FRPSRQHQW EORFNV ` EHJLQ ILUVW>L@ L ODVW>L@ L HQG 6RUW S>OQ@ > Q@ VR WKDW >S>]@@ O>S>L @@ LQ L ZKLOH ZLGWK>ILUVW>S>L@@@ I ZLGWK>S>L@ @ : f GR EHJLQ ZLGWK>ILUVW?S>L@@@ ZLGWK>ILUVW>S>L@?@ ZLGWK?S>L@ @ ILUVW>ODVW>S>L@ @@ ILUVW>S>L@? ODVW>ILUVW>S>L@@? ODVW>S>L@ I @ L L HQG 0LQ&KDQQHO+HLJKWfÂ§ >S>U@@ HQG )LJXUH 3URFHGXUH WR REWDLQ D PLQLPXP FKDQQHO KHLJKW IROGLQJ
PAGE 56
7KH FRUUHFWQHVV RI WKH SURFHGXUH LV HDVLO\ HVWDEOLVKHG )RU LWV FRPSOH[LW\ ZH VHH WKDW H[FHSW IRU WKH VRUW VWHS WKH RWKHUV WDNH Qf WLPH 7KH VRUW FDQ EH GRQH LQ 2QORJQf WLPH +RZHYHU LQ SUDFWLFH PD[^` fÂ§ PLQ^` Qf DQG WKH VRUW FDQ EH GRQH LQ 2Qf WLPH XVLQJ D UDGL[ VRUW ZLWK UDGL[ Qf LH D ELQ VRUWf >@ 2QH PD\ DOVR YHULI\ WKDW WKH PLQLPXP QXPEHU RI FHOO URZV QHHGHG LV REWDLQHG E\ GRLQJ D JUHHG\ IROGLQJ RQ WKH FRPELQHG FRPSRQHQWV WKDW UHPDLQ ZKHQ SURFHGXUH 0LQ&KDQQHO+HLJKW 0LQLPL]H &KLS $UHD 6XEMHFW WR :LGWK &RQVWUDLQW 3UREOHP )LUVW FRQVLGHU D PRGLILHG YHUVLRQ RI SUREOHP LQ ZKLFK LQ DGGLWLRQ WR WKH FKLS ZLGWK : ZH DUH JLYHQ WKH KHLJKW / RI HDFK URXWLQJ FKDQQHO :H DUH WR IROG WKH FRPSRQHQWV VR DV WR PLQLPL]H WKH WRWDO FKLS DUHD 7R VROYH PRGLILHG SUREOHP LQ OLQHDU WLPH ZH ILUVW PDNH D SDVV RYHU DOO WKH FRPSRQHQWV DQG FRPELQH FRPSRQHQWV DQG &L LI / ,I DQ\ FRPSRQHQW WKDW UHVXOWV KDV ZLGWK : / LV DQ LQIHDVLEOH FKDQQHO KHLJKW )ROORZLQJ WKH FRPELQLQJ RI EORFNV LQ WKLV ZD\ WKH UHVXOWLQJ EORFNV DUH SDFNHG LQWR FHOO URZV LQ D JUHHG\ PDQQHU LH D QHZ FHOO URZ LV VWDUWHG RQO\ LI WKH FRPSRQHQW EHLQJ SODFHG GRHV QRW ILW LQ WKH FXUUHQW FHOO URZf 7KH IDFW WKDW WKLV PLQLPL]HV WKH QXPEHU RI FHOO URZV DQG KHQFH FKLS DUHD LV HDVLO\ YHULILHG 3UREOHP FDQ EH VROYHG XVLQJ WKH VROXWLRQ WR PRGLILHG SUREOHP E\ WU\LQJ RXW DOO Qf SRVVLEOH YDOXHV IRU / LH WKH GLVWLQFW fVf DQG VHHLQJ ZKLFK PLQLPL]HV RYHUDOO DUHD $FWXDOO\ RQO\ fV WKDW DUH QR OHVV WKDQ WKH PLQLPXP IHDVLEOH / DV GHWHUPLQHG E\ SUREOHP QHHG EH WULHGf 7KH UHVXOWLQJ FRPSOH[LW\ LV Qf
PAGE 57
0LQLPL]H &KLS $UHD 6XEMHFW WR +HLJKW &RQVWUDLQW 3UREOHP f $V IRU SUREOHP ZH GHILQH D PRGLILHG SUREOHP LQ ZKLFK WKH FKDQQHO KHLJKW / LV NQRZQ 7KLV PRGLILHG SUREOHP LV VROYHG XVLQJ SDUDPHWULF VHDUFK 7KH FDQGLGDWH YDOXHV DUH GHVFULEHG E\ WKH VDPH 0 PDWUL[ DV XVHG LQ 6HFWLRQ 7KH VROXWLRQ WR PRGLILHG SUREOHP LV XVHG IRU WKH IHDVLELOLW\ WHVW 7KLV HQDEOHV XV WR VROYH WKH PRGLILHG YHUVLRQ RI SUREOHP LQ Q ORJ Qf WLPH 1RZ E\ WU\LQJ RXW DOO 2Qf SRVVLEOH / YDOXHV DV LQ 6HFWLRQ f WKH PLQLPXP DUHD IROGLQJ FDQ EH GHWHUPLQHG 7KH RYHUDOO WLPH FRPSOH[LW\ LV 2QORJQf &XVWRP &HOO )ROGLQJ 3UREOHPV DQG ,Q WKLV VHFWLRQ ZH UHOD[ WKH UHTXLUHPHQW WKDW DOO FRPSRQHQWV KDYH WKH VDPH KHLJKW K /HW L EH WKH KHLJKW RI & ,I & f f f &M DUH DVVLJQHG WR WKH VDPH FHOO URZ DQG QR RWKHU FRPSRQHQWV DUH DVVLJQHG WR WKLV URZ WKHQ WKH FHOO URZ KHLJKW LV PD[^L ` 7KH KHLJKW RI WKH IROGLQJ LV WKH VXP RI WKH KHLJKWV RI WKH FHOO URZV DQG URXWLQJ FKDQQHOV :LGWK &RQVWUDLQHG )ROGLQJ 3UREOHP 6LQFH WKH FKLS ZLGWK LV IL[HG DW : FKLS DUHD LV PLQLPL]HG E\ PLQLPL]LQJ FKLS KHLJKW /HW "WPD[W\ ^` L M Q /HW ILVf L V EH WKH PLQLPXP KHLJKW LQWR ZKLFK &W &Q FDQ EH IROGHG VXFK WKDW WKH ILUVW IROG LV DW &V )ROORZLQJ
PAGE 58
3URFHGXUH 0LQLPL]HOW&XVWRP ^ &RPSXWH WKH PLQLPXP KHLJKW IROGLQJ` KHDG Q WDLO QOHIW Q ULJKW Q IRU L WR Q GR +OLVW>L?JYDOXH RR )OLVW>WDLO@T Q )OLVW>WDLO@) +OLVW>Q?WRS WDLO +OLVW>Q?ERWWRP WDLO +OLVW>Q@KYDOXH K>Q@ +OLVW>Q@JYDOXH ,,OLVW>Q@KYDOXH )OLVW>+OLVW>Q@WRS@) ,QLWLDOL]H:LQQHU7UHHf IRU L Q fÂ§ GRZQWR GR EHJLQ 'HOHWH9DOXHLf ,QVHUW9DOXHLf HQG^RI IRU ` 'HOHWH 9DOXH2f 0LQLPL]HOW&XVWRP :LQQHU RI WKH 7UHH 7 HQG ^ RI 0LQLPL]HOW&XVWRP ` )LJXUH 3URFHGXUH WR REWDLQ D PLQLPXP KHLJKW IROGLQJ IRU FXVWRP FHOOV
PAGE 59
Â& WKH GHYHORSPHQW RI 6HFWLRQ ZH VHH WKDW QQf KQ DQG IRU L V r!f RR LI L\V 9. IVVf 5LV fÂ§ K RWKHUZLVH f DQG IRU W V PLQ ^ L "f KL ` f W TQ 7KH PLQLPXP KHLJKW LQWR ZKLFK WKH IROGLQJ FDQ EH GRQH LV PLQLf ^O"f` $V GHVFULEHG LQ 6HFWLRQ WKH VHW RI G\QDPLF SURJUDPPLQJ HTXDWLRQV FDQ EH VROYHG LQ Qf WLPH +RZHYHU WKH GHYHORSPHQW RI 6HFWLRQ WKDW UHVXOWV LQ DQ Qf WLPH VROXWLRQ GRHV QRW DSSO\ WR WKH QHZ VHW RI HTXDWLRQV ,QVWHDG ZH DUH DEOH WR VROYH SUREOHP LQ 2QORJQf WLPH 'HILQH )Lf fÂ§ 6XEVWLWXWLQJ LQWR (TXDWLRQ ZH JHW r} )Vf 5LV LI :LD RWKHUZLVH )URP (TXDWLRQ ZH JHW f )Lf rrf KL PLQ ^IL OTf` 8 ?TQ 8 PLQ^r OL f PLQ ^r "f`` WO"Q 8 f LL PLQ ?)Tf 5L`T`` L ? TQZWL: 8 PLQ ^)^Tf 5cLT` f LTQ:LLWT:
PAGE 60
RX 7KH KHLJKW RI WKH PLQLPXP KHLJKW IROGLQJ LV PP >)Lf 5Xf f OQ ZX: %HJLQQLQJ ZLWK )Qf QQf fÂ§ KQ WKH UHPDLQLQJ )nV PD\ EH FRPSXWHG LQ WKH RUGHU )Q fÂ§ f f f f )Of E\ XVLQJ (TXDWLRQ 7R XVH (TXDWLRQ ZH NHHS D PXOWLVHW RI ) YDOXHV DV LQ 6HFWLRQ :H EHJLQ ZLWK 6Q ^)Qf` DQG UHZULWH (TXDWLRQ DV )Lf Oc PLQ )"f rf f 2EVHUYDWLRQ RI 6HFWLRQ DSSOLHV WR (TXDWLRQ DQG ZH PD\ HOLPLQDWH IURP 6L DQ\ )Tf IRU ZKLFK ZLJ : 2EVHUYDWLRQ 5LT f f f L T Q 8VLQJ 2EVHUYDWLRQ DQG (TXDWLRQ ZH FDQ VKRZ WKDW /HPPD DSSOLHV IRU WKH FRPSXWDWLRQ RI WKH )nV DV GHILQHG LQ WKLV VHFWLRQ 2EVHUYDWLRQ ,I KM KT DQG L M T WKHQ 5^T A KT $OVR LI KM KM? DQG L M WKHQ 5LM 5LM? Â‘ 1RZ ZH GHYLVH D PHWKRG WR ILQG WKH PLQLPXP LQ (TXDWLRQ HIILFLHQWO\ :H VWRUH WKH )f YDOXHV LQ DQ DUUD\ RI UHFRUGV FDOOHG )OLVW (DFK )OLVW UHFRUG KDV WZR ILHOGV )OLVWT DQG )OLVW) )OLVW) ))OLVWTf LH VD\ )f WKHQ WKHUH LV D UHFRUG ZKLFK KDV )OLVWT DQG )OLVW) 7KHUH DUH WZR SRLQWHUV KHDG DQG
PAGE 61
3URFHGXUH 'HOHWH9DOXHLf@ ^ 'HOHWH )Of VXFK WKDW : ` GRQHaIDOVH ERRO IDOVH ZKLOH QRW GRQHf GR LI 4>L I @ fÂ§ 4>)OLVW>+OLVW>ULJKW@WRS@T @ :f WKHQ ^'HOHWH WKLV )f YDOXH` +OLVW>ULJKW?WRS +OLVW>ULJKW@WRS fÂ§ KHDG KHDG fÂ§ ERRO WUXH LI ,,OLVW>ULJKW?WRS ,,OLVW>ULJKL@ERWWRPf WKHQ ^ 0DNH WKLV UHFRUG LQDFWLYH ` +OLVW>ULJKW?JYDOXH RR $GMXVW:LQQHU7UHH7 ULJKWf@ ULJKW ULJKW fÂ§ ERRO IDOVH HQG^RI LI` HOVH GRQH WUXH HQG^RI LI` HQG^RI ZKLOH` LI ERRO WKHQ ,,OLVW>ULJKW@JYDOXH ,,OLVW>ULJKW@KYDOXH )OLVW>+OLVW>ULJKW@WRS@)@ $ GMXVW:LQQHU 7UHH 7 ULJKWf@ HQG^RI LI` HQG ^ RI 'HOHWH9DOXH ` )LJXUH 3URFHGXUH WR GHOHWH )f YDOXHV DV LQ 2EVHUYDWLRQ
PAGE 62
WDLO WKDW DUH XVHG ,QLWLDOO\ KHDG WDLO Q $W DQ\ SRLQW WKH KHDG DQG WDLO KDYH YDOXHV VXFK WKDW KHDG WDLO DQG )^WDLOf )WDLO f ! )KHDGf 7KLV GDWD VWUXFWXUH LV VDPH DV WKH RQH XVHG LQ 6HFWLRQ :KHQ FRPSXWLQJ )Lf ZH QHHG WR DVVRFLDWH )Tf YDOXHV ZLWK 5LLT YDOXHV DQG WKHQ JHQHUDWH YDOXHV )Tf 5LLT DQG ILQG WKH PLQLPXP RI WKHVH YDOXHV 6XSSRVH KT KT WKHQ )LL IURP 2EVHUYDWLRQ $VVRFLDWH WKH YDOXHV )Tf DQG )T f ZLWK 5LW4 LQ WKLV FDVH ,Q JHQHUDO LI 5LT 5LT 5LL WKHQ ZH KDYH D VLQJOH +OLVW UHFRUG ZLWK KT YDOXH DQG DVVRFLDWHG ZLWK LW WKH YDOXHV )Tf)T f )f 1RWH WKDW WKH )f YDOXHV PXVW VDWLVI\ WKH FRQGLWLRQ )Tf )T f )Of 2WKHUZLVH WKH )f YDOXHV ZKLFK YLRODWH WKH FRQGLWLRQ FDQ EH UHPRYHG DV LQ /HPPD E\ GRLQJ D OHIW WR ULJKW VFDQ :H XVH DQ DUUD\ RI UHFRUGV +OLVW RI VL]H Q ZLWK ILHOGV +OLVWKYDOXH UHSUHVHQWLQJ WKH KHLJKW +OLVWWRS DQG +OLVWERWWRP WKH WZR SRLQWHUV ZKLFK NHHS WUDFN RI WKH )f YDOXHV DVVRFLDWHG ZLWK WKLV UHFRUG 7KH WRS DQG ERWWRP SRLQWHUV SRLQW WR WKH )f YDOXHV VDWLVI\LQJ WKH FRQGLWLRQ )OLVW>+OLVWWRS@) )OLVW>+OLVWWRS fÂ§ @) )OLVW>+OLVWERWWRP@) 7KDW LV )OLVW>+OLVWWRS@) LV WKH PLQLPXP )f YDOXH DVVRFLDWHG ZLWK WKLV UHFRUG 1RWH WKDW HYHU\ )f YDOXH LV DVVRFLDWHG ZLWK D XQLTXH +OLVW UHFRUG :H JHQHUDWH WKH YDOXH )OLVW>+OLVWWRS@) +OLVWKYDOXH ZKLFK LV )Tf "Lf DQG VWRUH LW LQ +OLVWJYDOXH JHQHUDWHG YDOXHf 7KHVH JHQHUDWHG YDOXHV DUH XVHG WR FRQVWUXFW D ZLQQHU WUHH 7 VHH +RURZLW] DQG 6DKQL >@f 7KH ZLQQHU RI WKH WUHH 7 LV WKH PLQLPXP ZH DUH ORRNLQJ IRU ZKHQ FRPSXWLQJ )Lf /HW D +OLVW UHFRUG EH DFWLYH LI +OLVWJYDOXH A RR 7KH SRLQWHUV OHIW DQG ULJKW
PAGE 63
2OHIW ULJKW DUH XVHG WR SRLQW WR WKH FXUUHQWO\ DFWLYH OLVW RI +OLVW UHFRUGV +OLVW>OHIW? LV WKH OHIWPRVW DFWLYH UHFRUG DQG +OLVW>ULJKW@ LV WKH ULJKWPRVW DFWLYH UHFRUG 7KH SURFHGXUH 0LQLPL]H+W&XVWRP LV JLYHQ LQ )LJXUH 7KH SRLQWHUV DUH LQLWLDOL]HG DQG WKH ZLQQHU WUHH 7 LQLWLDOL]HG ,Q WKH SURFHGXUH 'HOHWH9DOXHLf WKH )Of YDOXHV WKDW VDWLVI\ WKH FRQGLWLRQV LQ 2EVHUYDWLRQ LH )Of YDOXHV VXFK WKDW :LLWL : DUH GHOHWHG /HW 4>M? :M :M ZQ 7KH SURFHGXUH 'HOHWH9DOXH LV JLYHQ LQ )LJXUH 7KH ERROHDQ ERRO NHHSV WUDFN RI ZKHWKHU D +OLVW UHFRUG KDV EHHQ PDGH LQDFWLYH ,I VR LW PRYHV WKH SRLQWHU ULJKW WR OHIW WR SRLQW WR DQ DFWLYH +OLVW UHFRUG $OVR WKH ZLQQHU WUHH 7 LV DGMXVWHG WR XSGDWH WKH FXUUHQW PLQLPXP 7KH FDOO WR IXQFWLRQ $GMXVW:LQQHU7UHH WDNHV 2ORJQf WLPH >@ 1RWH WKDW WKH ZLQQHU WUHH 7 LV DGMXVWHG D PD[LPXP RI WZR WLPHV ZKHQHYHU DQ )f YDOXH LV GHOHWHG /HW WKH QXPEHU RI GHOHWHV ZKHQ 'HOHWH9DOXH LV LQYRNHG EH [ 7KHQ WKH WLPH FRPSOH[LW\ RI 'HOHWH9DOXH LV 2[ORJQf 7KH SURFHGXUH ,QVHUW9DOXHLf ILUVW ILQGV WKH ZLQQHU RI WKH WUHH 7 7KLV LV DGGHG ZLWK >r@ WR JHW )Lf DV LQ (TXDWLRQ 2QFH ZH ILQG )Lf ZH WKHQ LQVHUW D +OLVW UHFRUG ZLWK +OLVWKYDOXH K>L@ DQG WKH )f YDOXH LV LQVHUWHG LQ WKH DUUD\ RI )OLVW UHFRUGV 7KH ZLQQHU WUHH 7 LV WKHQ DGMXVWHG ,Q WKH ILUVW ZKLOH ORRS RI WKH ,QVHUW9DOXH FRQGLWLRQV RI /HPPD DUH FKHFNHG ,I WKH FRQGLWLRQV DSSO\ WKHQ WKH )f YDOXHV DUH GHOHWHG DQG WKH ZLQQHU WUHH DGMXVWHG /HW WKH QXPEHU RI )f YDOXH GHOHWLRQV EH \ ,Q WKH VHFRQG ZKLOH ORRS RI WKH ,QVHUW9DOXH LW LV FKHFNHG WR VHH ZKHWKHU WKH FRQGLWLRQV RI 2EVHUYDWLRQ DSSO\ ,I VR WKH )f UHFRUGV RI WKH DGMDFHQW +OLVW UHFRUG LV DGGHG WR WKH FXUUHQW +OLVW UHFRUG DQG WKH UHFRUG PRYHG 7KH ZLQQHU
PAGE 64
3URFHGXUH ,QVHUW 9DOXH Lf OHIW OHIW fÂ§ WDLO WDLO fÂ§ )OLVW>WDLO@T L )OLVW>WDLO@) :LQQHU RI WKH 0LQ 7UHH 7 >rn@ +OLVW>OHIW@KYDOXH K>L? +OLVW>OHIW?WRS WDLO +OLVW>OHIW@ERWWRP WDLO +OLVW>OHIW@JYDOXH +OLVW>OHIW?KYDOXH )OLVW>+OLVW>OHIW@WRS@) $GMXVW:LQQHU7UHH7 OHIWf ZKLOH KHDG A WDLO DQG )OLVW>WDLO@) )OLVW>WDLO O@)f GR +OLVW>OHIW ?ERWWRP OLVW>OHIW S @ERWWRP LI +OLVW>OHIW @ERWWRP ,,OLVW>OHIW I @WRSf WKHQ ,,OLVW>OHIW @ +OLVW>OHIW? ^ 0RYH WKH UHFRUG ` ,,OLVW>OHIW@JYDOXH RR $GMXVW:LQQHU7UHH7 OHIWf OHIW OHIW ? HQG^RI LI` )OLVW>WDLO @ )OLVW>WDLO@ ^ 0RYH WKH UHFRUG ` WDLO WDLO +OLVW>OHIW?WRS WDLO +OLVW>OHIW?ERWWRP WDLO HQG^RI ZKLOHf ZKLOH OHIW A ULJKW DQG +OLVW>OHIW?KYDOXH! +OLVW>OHIW 7 O?KYDOXHf GR ^&RQGLWLRQV RI 2EVHUYDWLRQ DSSO\` +OLVW>OHI W?WRS ,,OLVW>OHIW @WRS +OLVW>OHIW @ +OLVW>OHIW? ^ 0RYH WKH UHFRUG ` +OLVW>OHIW?JYDOXH RR $GMXVW:LQQHU7UHH7 OHIWf OHIW OHIW +OLVW>OHIWfJYDOXH ,,OLVW>OHIW@KYDOXH )OLVW>+OLVW>OHIW?WRS@) $GMXVW:LQQHU7UHH7 OHIWf HQG^RI ZKLOH` HQG ^ RI ,QVHUW9DOXH ` )LJXUH 3URFHGXUH WR ,QVHUW )f YDOXHV
PAGE 65
WUHH LV WKHQ DGMXVWHG (YHU\ WLPH WKH FRQGLWLRQV RI 2EVHUYDWLRQ DSSO\ LQ WKH ZKLOH ORRS ZH VSHQG 2ORJQf WLPH ,H HYHU\ WLPH WKH FRQGLWLRQV DSSO\ ZH PHUJH WZR DGMDFHQW +OLVW UHFRUGV /HW WKH QXPEHU RI PHUJHV LQ D VLQJOH LQYRFDWLRQ RI ,QVHUW9DOXH EH ] 7KH WRWDO WLPH WDNHQ E\ D VLQJOH LQYRFDWLRQ RI ,QVHUW9DOXH DVVXPLQJ \ )^f YDOXHV DUH GHOHWHG DQG ] +OLVW PHUJHV WDNH SODFH LV W ] OfORJQf WLPH 1RWH WKDW QRW PRUH WKDQ Q )f YDOXHV FDQ EH GHOHWHG LQ WRWDO DQG QRW PRUH WKDQ Q +OLVW UHFRUGV FDQ EH PHUJHG LQ WRWDO 7KLV LPSOLHV WKDW WKH WRWDO WLPH WDNHQ E\ WKH SURFHGXUH 0LQLPL]H+W&XVWRP LV Q ORJQf ,Q FRQWUDVW WKH DOJRULWKP RI >@ IRU WKH VDPH SUREOHP WDNHV Qf WLPH +HLJKW &RQVWUDLQHG )ROGLQJ 3UREOHP f 7R REWDLQ WKH PLQLPXP KHLJKW IROGLQJ JLYHQ WKH ZLGWK RI WKH IROGLQJ : ZH XVH SDUDPHWULF VHDUFK LQ FRQMXQFWLRQ ZLWK WKH SURFHGXUH 0LQLPL]H+W&XVWRP GHYHORSHG LQ 6HFWLRQ 7KH SURFHGXUH 0LQLPL]H+W&XVWRP LV XVHG IRU WKH IHDVLELOLW\ WHVWLQJ ,Q IHDVLELOLW\ WHVWLQJ ZH DUH JLYHQ WKH ZLGWK[ RI WKH OD\RXW DQG ZH WHVW ZKHWKHU LW LV SRVVLEOH WR REWDLQ D IROGLQJ VXFK WKDW WKH KHLJKW RI WKH IROGLQJ LV + 7KH VHW RI FDQGLGDWH YDOXHV LV WKH VDPH DV WKH RQHV GHVFULEHG LQ 6HFWLRQ 7KH IHDVLELOLW\ WHVWLQJ WDNHV 2QORJQf WLPH DQG IURP &RUROODU\ WKH WRWDO WLPH WDNHQ WR REWDLQ WKH PLQLPXP KHLJKW IROGLQJ LV Q Q ORJ Q r ORJ Qf Q ORJ Qf 7KH VDPH SUREOHP LV VROYHG LQ QORJQf WLPH LQ >@
PAGE 66
7DEOH +HLJKWV SURGXFHG E\ ZLGWKFRQVWUDLQHG VWDQGDUG FHOO IROGLQJ DOJRULWKPV Q *UHHG\ 2XUV ([SHULPHQWDO 5HVXOWV 7KH SURFHGXUH 0LQLPL]H+W6WDQGDUG )LJXUH f ZDV SURJUDPPHG LQ & DQG UXQ RQ D 681 ZRUNVWDWLRQ 7KH VROXWLRQ SURGXFHG E\ 0LQLPL]H+W6WDQGDUG ZDV FRPSDUHG ZLWK WKH RQH REWDLQHG XVLQJ WKH JUHHG\ KHXULVWLF RI >@ 7KH GDWD IRU WKHVH SURJUDPV ZHUH SURGXFHG E\ KDYLQJ D OLQHDUO\ RUGHUHG OLVW RI PRGXOHV DQG PDNLQJ LQWHUFRQQHFWLRQV EHWZHHQ WKH PRGXOHV XVLQJ D UDQGRP QXPEHU JHQHUDWRU 7KH FRQQHFWLRQV ZHUH SULRULWL]HG VR WKDW WKHUH LV D ODUJH QXPEHU RI FRQn QHFWLRQV EHWZHHQ PRGXOHV ZKLFK DUH FORVH WRJHWKHU 2XU DOJRULWKP DOZD\V SURGXFHV EHWWHU VROXWLRQV WKDQ WKH JUHHG\ KHXULVWLF DQG WKH UHVXOWV DUH GHSLFWHG LQ 7DEOH 7KH UHVXOWV VKRZQ DUH WKH DYHUDJH RI UXQV IRU HDFK Q 2XU DOJRULWKP RQ WKH DYHUn DJH WRRN WR WLPHV PRUH WLPH WR DUULYH DW WKH VROXWLRQ WKDQ WDNHQ E\ WKH JUHHG\ KHXULVLWLF 7KH DOJRULWKP 0LQLPL]HOOW&XVWRP ZDV SURJUDPPHG DQG WKH UXQ WLPHV FRPSDUHG ZLWK WKH DOJRULWKP RI >@ 7KH UHVXOWV RI WKH H[SHULPHQWV DUH VKRZQ LQ 7DEOH %RWK WKH SURJUDPV ZHUH ZULWWHQ LQ & ,W LV HYLGHQW WKDW RXU DOJRULWKP LV FRQVLGHUDEO\
PAGE 67
< 7DEOH 5XQ WLPHV RI ZLGWKFRQVWUDLQHG IROGLQJ DOJRULWKPV IRU FXVWRP FHOOV Q 2XUV >@ 7LPHV DUH LQ PLOOLVHFRQGV VXSHULRU WR WKDW RI >@ 6LQFH ERWK DOJRULWKPV JHQHUDWH RSWLPDO VROXWLRQV WKH FKLS DUHD LV WKH VDPH XVLQJ HLWKHU &RQFOXVLRQV :H KDYH GHYHORSHG RSWLPDO DOJRULWKPV WR IROG D OLQHDUO\ RUGHUHG OLVW RI VWDQGDUG DQG FXVWRP FHOOV 6HYHUDO RSWLPL]DWLRQ FRQVWUDLQWV ZHUH FRQVLGHUHG 7KHVH UHVXOWHG LQ D WRWDO RI QLQH SUREOHP IRUPXODWLRQV 7ZR RI WKHVH FRUUHVSRQG WR SUREOHP IRUPXn ODWLRQV IRU WKH ELWVOLFH VWDFN IROGLQJ SUREOHP VWXGLHG LQ >@ 7KH DOJRULWKPV ZH KDYH GHYHORSHG IRU WKHVH WZR FDVHV DUH DV\PSWRWLFDOO\ VXSHULRU WR WKRVH GHYHORSHG LQ >@ ([SHULPHQWDWLRQ ZLWK RQH RI WKHVH VKRZV WKDW WKH DV\PSWRWLF VXSHULRULW\ RI RXU DOn JRULWKPV WUDQVODWHV LQWR D PXFK UHGXFHG H[HFXWLRQ WLPH )RU WKH RWKHU IRUPXODWLRQV KHXULVWLFV ZHUH SURSRVHG LQ 6KUDJRZLW] HW DO >@ 2XU DOJRULWKPV KDYH DFFHSWn DEOH DV\PSWRWLF FRPSOH[LW\ DQG JXDUDQWHH RSWLPDO VROXWLRQV ,Q IDFW H[SHULPHQWV FRQGXFWHG ZLWK RQH \LHOGHG IROGLQJV ZLWK VPDOOHU FKLS DUHD RQ DOO WHVWHG LQVWDQFHV
PAGE 68
&+$37(5 3/$1$5 7232/2*,&$/ 5287$%,/,7< ,QWURGXFWLRQ 7KH SUREOHP RI URXWLQJ WZRSLQ QHWV RQ D VLQJOH OD\HU KDV EHHQ VWXGLHG SUHYLRXVO\ E\ VHYHUDO UHVHDUFKHUV 7KH ULYHU URXWLQJ DULG VZLWFK ER[ URXWLQJ SUREOHPV DUH VSHFLDO FDVHV RI WKLV (IILFLHQW DOJRULWKPV IRU WKHVH FDQ EH IRXQG LQ > @ ,Q WKLV FKDSWHU ZH DUH FRQFHUQHG ZLWK WKH SUREOHP RI URXWLQJ WRSRORJLFDOO\f D FROOHFWLRQ RI WZRSLQ QHWV LQ D VLQJOH OD\HU RU SODQH :H UHIHU WR WKLV SUREOHP DV WKH 735 SUREOHP 7KH LQSXW WR WKH SUREOHP LV D WZR GLPHQVLRQDO URXWLQJ VXUIDFH ZLWK D FROOHFWLRQ RI PRGXOHV SODFHG LQ LW )LJXUH Dff :H DVVXPH WKDW QR WZR PRGXOHV WRXFK 7KHUH DUH SLQV RQ WKH SHULSKHU\ RI WKH PRGXOHV 3LQV ZLWK WKH VDPH QXPEHU GHILQH D QHW DQG DUH WR EH MRLQHG E\ DQ LQWHUFRQQHFW RU ZLUH ,Q WRSRORJLFDO URXWLQJ ZH DUH FRQFHUQHG ZLWK GHILQLQJ ZLUH SDWKV +RZHYHU QR XQGHUO\LQJ JULG LV DVVXPHG DQG WKHUH LV QR PLQLPXP ZLUH VHSDUDWLRQ UHTXLUHPHQW 7KXV ZLUH SDWKV FDQ WDNH DQ\ SODQDU VKDSH DQG PD\ UXQ DUELWUDULO\ FORVH WR HDFK RWKHU :LUHV DUH QRW SHUPLWWHG WR LQWHUVHFW RU UXQ RYHU PRGXOHV ,Q )LJXUH Df WKH EURNHQ OLQHV LQGLFDWH ZLUH SDWKV 7KH URXWLQJ LQVWDQFH 5,f RI )LJXUH Df LV WRSRORJLFDOO\ URXWDEOH LQ D VLQJOH OD\HU ZKLOH WKDW RI )LJXUH Ef LV QRW 7KH 735 SUREOHP IRU 5,V LQ ZKLFK DOO PRGXOHV OLH RQ WKH ERXQGDU\ RI WKH URXWLQJ UHJLRQ RU
PAGE 69
Ef $ QRQ SODQDU URXWDEOH H[DPSOH )LJXUH $ SODQDU URXWDEOH DQG D QRQSODQDU URXWDEOH FDVH PRUH SUHFLVHO\ DOO SLQV DUH RQ WKH ERXQGDU\ RI WKH UHJLRQf ZDV VWXGLHG LQ > @ $ VLPSOH OLQHDU WLPH DOJRULWKP IRU WKLV YHUVLRQ RI WKH 735 SUREOHP ZDV GHYHORSHG LQ WKHVH SDSHUV )RU WKH FDVH LQ ZKLFK QRQH RI WKH PRGXOHV DUH RQ WKH ERXQGDU\ 3LQWHU >@ KDV VXJJHVWHG XVLQJ WKH OLQHDU WLPH SODQDULW\ WHVWLQJ DOJRULWKP RI +RSFURIW DQG 7DUMDQ >@ +LV DOJRULWKP LV TXLWH FRPSOH[ 0DUHN6DGRZVND DQG 7DUQJ >@ KDYH FRQVLGHUHG WKH 735 SUREOHP DQG VHYHUDO YDULDQWV ZKLFK LQFOXGH IOLSSDEOH PRGXOHV DQG PXOWLWHUPLQDO QHWV 7KH\ GHYHORS D OLQHDU WLPH DOJRULWKP IRU 735 ZKLFK LV EDVHG RQ PRGXOH PHUJLQJ ,Q WKLV FKDSWHU ZH SUHVHQW LQ 6HFWLRQ DQRWKHU OLQHDU WLPH DOJRULWKP IRU WKH JHQHUDO 735 SUREOHP WKDW LV DOPRVW DV VLPSOH DV WKH RQH RI > @ IRU WKH UHVWULFWHG 735 SUREOHP 7KLV DOJRULWKP ZDV GHYHORSHG E\ /LP >@ EXW WKH SURRI WKDW WKH DOJRULWKP LV FRUUHFW ZDV LQFRPSOHWH ,Q WKLV VHFWLRQ ZH DOVR SUHVHQW DQ DOJRULWKP IRU GHILQLWH WRSRORJLFDO URXWLQJ 7KDW LV LI WKH LQVWDQFH LV WRSRORJLFDOO\ URXWDEOH ZH JLYH DQ DOJRULWKP WR GHWHUPLQH WKH ORRVH URXWH RI WKH ZLUHV 7KH 735 DOJRULWKP LV LPSOHPHQWHG GLIIHUHQWO\ WKDQ GHVFULEHG LQ WKH 6HFWLRQ 7KH LPSOHPHQWDWLRQ LVVXHV DUH GLVFXVVHG LQ 6HFWLRQ ([SHULPHQWDO UHVXOWV
PAGE 70
SUHVHQWHG LQ 6HFWLRQ LQGLFDWH WKDW RXU DOJRULWKP LV FRQVLGHUDEO\ IDVWHU WKDQ WKH 735 DOJRULWKP RI 0DUHN6DGRZVND DQG 7DUQJ >@ SDUWLFXODUO\ LI WKH URXWLQJ LQVWDQFH LV QRW SODQDU URXWDEOH )RU WKH FDVH RI PXOWLSLQ QHWV ZH VKRZ LQ 6HFWLRQ WKDW WHVWLQJ IRU WRSRORJLFDO URXWDELOLW\ LV HTXLYDOHQW WR JUDSK SODQDULW\ WHVWLQJ DQG WKDW ILQGLQJ WKH PD[LPXP QXPEHU RI QHWV WKDW LV WRSRORJLFDOO\ URXWDEOH LV 13FRPSOHWH :H DOVR H[WHQG RXU WZRSLQ DOJRULWKP WR KDQGOH PXOWLSLQ LQVWDQFHV LQ ZKLFK WKH PRGXOHV UHPDLQ FRQQHFWHG IROORZLQJ WKH GHOHWLRQ RI DOO QHWV ZLWK PRUH WKDQ WZR SLQV 3UHOLPLQDULHV 7R VLPSOLI\ PDWWHUV ZH VKDOO DVVXPH WKDW 735 5,V WKDW KDYH PRGXOHV RQ WKH ERXQGDU\ )LJXUH Dff KDYH EHHQ DXJPHQWHG E\ D VHW RI QHWV WKDW DUH UHTXLUHG WR EH URXWHG RQ WKH ERXQGDU\ DQG WKDW WKLV URXWLQJ WRJHWKHU ZLWK WKH PRGXOH ERXQGn DULHV HQFORVH WKH URXWLQJ UHJLRQ )LJXUH Eff 7KLV DXJPHQWDWLRQ PD\ UHTXLUH WKH DGGLWLRQ RI FRUQHU PRGXOHV $%& RI )LJXUH Eff 7KLV DVVXPSWLRQ LV QHHGHG VR WKDW RXU DOJRULWKP FDQ DFFRXQW IRU WKH FRQVWUDLQW WKDW RQH FDQQRW URXWH DURXQG D ERXQGDU\ PRGXOH EXW FDQ URXWH DURXQG DOO RWKHU PRGXOHV $ SLQ VHJPHQW 3 3?3 Â‘ Â‘ Â‘ 3N LV D VHTXHQFH RI SLQV RQ WKH ERXQGDU\ RI D PRGXOH S? SN DSSHDU LQ WKLV RUGHU ZKHQ WKH PRGXOH LV WUDYHUVHG FRXQWHUFORFNZLVH EHJLQQLQJ DW SL 6RPH RI WKH SLQ VHJPHQWV RI WKH PRGXOHV RI )LJXUH DUH DERGH DQG JMN+ RI PRGXOH 0/. DQG /. *I RI PRGXOH DQG $L) RI PRGXOH /HW ODVW3f DQG ILUVW3f UHVSHFWLYHO\ GHQRWH WKH ODVW DQG ILUVW SLQV RI VHJPHQW 3 /HW QHWSf GHQRWH WKH QHW DVVRFLDWHG ZLWK SLQ S 1RWH WKDW WZR SLQV S DQG SM DUH WR EH FRQQHFWHG E\ D ZLUH LII QHWSLf QHWSMf $ FXUYH & fÂ§ 3?3A f 3M LV D VHTXHQFH RI SLQ VHJPHQWV
PAGE 71
'L )LJXUH $XJPHQWDWLRQ )LJXUH $Q H[DPSOH WR LOOXVWUDWH VRPH WHUPLQRORJ\
PAGE 72
VXFK WKDW QHWODVW3Lff QHWILUVW3^ff L M $ FXUYH & 3?3] 3M LV D FORVHG FXUYH LII QHWODVW3Mff QHW^ILUVW^3?ff ,Q )LJXUH QHWSLf LV WKH ORZHUFDVH OHWWHU FRUUHVSRQGLQJ WR S 6R QHWKf QHW+f K 6RPH RI WKH FXUYHV RI )LJXUH DUH ,K +DEFGHJ *I )('&%$L M *I0 PLK HGFED $%&'( DQG $%& FGHJ *I0 ,K+DEFGHJ *I )('&%$L DQG HGFED $%&'( DUH FORVHG FXUYHV :LWK DQ\ FXUYH & 3? 3" 3M ZH DVVRFLDWH M fÂ§ O M LQ FDVH & LV FORVHGf ZLUHV 7KHVH UHVSHFWLYHO\ FRQQHFW WKH SLQV ODVW3Lf DQG ILUVW3L?f L M DQG ODVW3If DQG ILUVW3Lf LQ FDVH RI D FORVHG FXUYHf 1RWH WKDW WKH FXUYHV FORVHG FXUYHV DQG ZLUHV DVVRFLDWHG ZLWK DQ\ 5, GHSHQG RQO\ RQ WKH PRGXOHV DQG WKH QHW WR SLQ DVVLJQPHQWV 7KHVH DUH QRW D IXQFWLRQ RI WKH OD\RXW RI DQ\ RI WKH ZLUHV )RU DQ\ FORVHG FXUYH & 3? 3 Â‘ Â‘ Â‘ 3M ZH GHILQH WKH IROORZLQJ PRGXOH3Lf PRGXOH FRUUHVSRQGLQJ WR SLQ VHJPHQW 3L SLQVPRGXOH3Lff VHW RI DOO SLQV RQ PRGXOH PRGXOH3Lf SLQV3Lf VHW RI DOO SLQV RQ VHJPHQW 3 SLQV&f VHW RI DOO SLQV RQ FXUYH & 8Â SLQV3Lf H[WSLQV&f 8Â SLQVPRGXOH3Lff fÂ§ SLQV&f 1RWH LW LV SRVVLEOH WKDW PRGXOH3Lf PRG[LOH3Mf IRU L A M /HPPD >@ /HW EH DQ 5, WKDW FRQWDLQV D FORVHG FXUYH & ZLWK UHVSHFW WR ZKLFK WKHUH DUH WZR SLQV D f SLQV&f DQG E H[WSLQV&f VXFK WKDW QHWDf QHW^Ef LV QRW SODQDU URXWDEOH
PAGE 73
'2 )LJXUH 7ZR SRVVLELOLWLHV WR FRQQHFW D DQG E 3URRI )LJXUH VKRZV WZR SRVVLELOLWLHV ,W VKRXOG EH FOHDU WKDW QR PDWWHU KRZ WKH ZLUHV RI & DQG WKH ZLUH D Ef DUH ODLG RXW WKHUH PXVW EH DQ LQWHUVHFWLRQ EHWZHHQ WZR RI WKHVH Â’ /HPPD >@ /HW EH DQ 5, WKDW FRQWDLQV D FORVHG FXUYH & 3? 3 Â‘ f f 3M DQG DQRWKHU FXUYH 5 5?5 5N VXFK WKDW PRG[LOH5?f PRGXOH3Gf IRU VRPH G G M DQG ILUVW5Lf e H[WSLQV&f VHH )LJXUH If $VVXPH WKDW WKHUH H[LVW WZR SLQV D DQG E VXFK WKDW D e SLQV&f E e H[WMSLQV&f?SLQV5f DQG QHWDf QHWEf / LV QRW SODQDU URXWDEOH 3URRI )ROORZV IURP /HPPD Â’ 7ZR PRGXOHV DUH FRQQHFWHG LII WKHUH LV D FXUYH & 3?3 f f f 3M VXFK WKDW ERWK PRGXOHV DUH LQ 8ÂBM PRGXOH3Lf $ FRQQHFWHG FRPSRQHQW RU VLPSO\ FRPSRQHQWf LV
PAGE 74
)LJXUH $QRWKHU QRW SODQDU URXWDEOH VLWXDWLRQ D PD[LPDO VHW RI PRGXOHV WKDW DUH SDLUZLVH FRQQHFWHG ,W LV HDV\ WR VHH WKDW WKH FRQQHFWHG FRPSRQHQWV RI DQ 5, DUH GLVMRLQW $ ERXQGDU\ FRPSRQHQW LV D FRQQHFWHG FRPSRQHQW WKDW LQFOXGHV DW OHDVW RQH ERXQGDU\ PRGXOH 1RWH WKDW DQ 5, ZLWK QR ERXQGDU\ PRGXOHV KDV QR ERXQGDU\ FRPSRQHQW ZKLOH DQ 5, ZLWK DW OHDVW RQH ERXQGn DU\ PRGXOH KDV H[DFWO\ RQH ERXQGDU\ FRPSRQHQW WKLV LV EHFDXVH 5,V ZLWK ERXQGDU\ FRPSRQHQWV KDYH EHHQ DXJPHQWHG DV LQ )LJXUH Eff /HPPD nÂ‘ $Q 5, LV WRSRORJLFDOO\ URXWDEOH LII LWV FRPSRQHQWV DUH LQGHSHQGHQWO\f WRSRORJLFDOO\ URXWDEOH 3URRI ,W LV HDV\ WR VHH WKDW LI WKH 5, LV WRSRORJLFDOO\ URXWDEOH WKHQ HDFK RI LWV FRPSRQHQWV LV WRSRORJLFDOO\ URXWDEOH $VVXPH WKDW HDFK FRPSRQHQW LV WRSRORJLFDOO\ URXWDEOH 2UGHU WKH FRPSRQHQWV RI WKH 5, VR WKDW WKH ERXQGDU\ FRPSRQHQW LV ILUVW 7KH UHPDLQLQJ FRPSRQHQWV DUH LQ DUELWUDU\ RUGHU /HW WKH FRPSRQHQWV LQ WKLV RUGHU EH .L .N ,I N WKHQ QRWKLQJ LV WR EH SURYHG 6R DVVXPH :H VKDOO VKRZ KRZ WR FRQVWUXFW D WRSRORJLFDO URXWLQJ IRU .? f f f .D IURP D WRSRORJLFDO
PAGE 75
'2 Â’ 2 )LJXUH &RQVWUXFWLQJ WKH HQYHORSH RI D FRPSRQHQW URXWLQJ IRU .L .D DQG .D D N )LUVW VLQFH D .D LV QRW D ERXQGDU\ FRPSRQHQW 6R LW LV SRVVLEOH WR VXUURXQG LW E\ D FORVHG QRQ VHOI LQWHUVHFWLQJ OLQH VXFK WKDW WKH UHJLRQ HQFORVHG E\ WKLV OLQH LQFOXGHV H[DFWO\ WKRVH PRGXOHV WKDW DUH LQ .D DQG QR PRGXOH WRXFKHV WKH OLQH 7KH UHJLRQ HQFORVHG E\ WKLV FORVHG OLQH KDV WKH SURSHUW\ WKDW DQ\ WZR SRLQWV LQ WKH HQFORVHG UHJLRQ FDQ EH MRLQHG E\ D OLQH QRW QHFHVVDULO\ VWUDLJKWf WKDW OLHV ZKROO\ ZLWKLQ WKH UHJLRQ :H UHIHU WR WKH VXUURXQGLQJ OLQH DV WKH HQYHORSH RI .D 2QH ZD\ WR REWDLQ DQ HQYHORSH RI .D LV WR ILUVW FRQVWUXFW D VHW RI _.D_ fÂ§ $7_ LV WKH QXPEHU RI PRGXOHV LQ .Df OLQHV QRW QHFHVVDULO\ VWUDLJKWf VR WKDW PRGXOHV RI .D WRJHWKHU ZLWK WKHVH OLQHV IRUP D FRQQHFWHG FRPSRQHQW LQ WKH JUDSK WKHRUHWLF VHQVH VHH )LJXUH f 7KHVH OLQHV GR QRW WRXFK RU FURVV DQ\ RI WKH PRGXOHV RI 5, 7KLV FRQVWUXFWLRQ FDQ EH GRQH DV HYHU\ SDLU RI PRGXOHV RI DQ 5, FDQ
PAGE 76
EH FDQ EH FRQQHFWHG E\ VXFK D OLQH 7KH OLQHV DQG PRGXOHV GHILQH D VSDQQLQJ WUHH IRU .D %\ IDWWHQLQJ WKH OLQHV DV LQ )LJXUH Ff WKH HQYHORSH LV REWDLQHG ,W LV HDV\ WR VHH WKDW LI .D LV WRSRORJLFDOO\ URXWDEOH WKHQ LW LV WRSRORJLFDOO\ URXWDEOH ZLWK WKH GHILQHG HQYHORSH 6R XVH VXFK D WRSRORJLFDO URXWLQJ IRU .D :KHQ WKLV URXWLQJ LV HPEHGGHG LQWR WKH URXWLQJ IRU .L .D VRPH RI WKH WRSRORJLFDOO\ URXWHG ZLUHV RI LLL $nDL PD\ LQWHUVHFW RU WRXFKf WKH HQYHORSH RI .D +RZHYHU QRQH RI WKHVH ZLUHV RULJLQDWH RU WHUPLQDWH LQ WKH HQYHORSH RI .D 6R WKHVH FDQ EH UHURXWHG IROORZLQJ WKH FRQWRXU RI WKH HQYHORSH )LJXUH f Â’ $V D UHVXOW RI /HPPD ZH QHHG FRQFHUQ RXUVHOYHV RQO\ ZLWK WKH FDVH ZKHQ WKH 5, KDV D VLQJOH FRPSRQHQW 7KH $OJRULWKP 2XU DOJRULWKP WR REWDLQ D WRSRORJLFDO URXWLQJ RI D FRPSRQHQW XVHV /HPPDV DQG WR GHWHFW LQIHDVLELOLW\ 7KH DOJRULWKP LV JLYHQ LQ )LJXUH $V VWDWHG LW RQO\ SURGXFHV DQ RUGHULQJ RI WKH ZLUHV VXFK WKDW ZKHQ WKH ZLUHV DUH WRSRORJLFDOO\
PAGE 77
$OJRULWKP 7HVWLQJ3ODQDU5RXWDELOLW\ 6WHS /HW P EH DQ\ PRGXOH RI WKH FRPSRQHQW DQG OHW S EH DQ\ SLQ RI P 6WHS ([DPLQH WKH SLQV RI P LQ FRXQWHUFORFNZLVH RUGHU EHJLQQLQJ DW SLQ S :KHQ D SLQ T LV EHLQJ H[DPLQHG FRPSDUH QHWTf DQG QHWUf ZKHUH U LV WKH SLQ LI DQ\f DW WKH WRS RI VWDFN $ ,I VWDFN $ LV HPSW\ RU QHWTf A QHW^Uf WKHQ DGG T DQG WKH UHPDLQLQJ SLQV RI P WR WKH WRS RI VWDFN $ 2WKHUZLVH RXWSXW Uf DQG XQVWDFN U IURP $ 6WHS ,I ERWK VWDFN $ DQG % DUH HPSW\ WKHQ WHUPLQDWH 6WHS /HW U EH WKH SLQ DW WKH WRS RI VWDFN $ /HW V EH WKH SLQ VXFK WKDW QHWUf QHWVf Df ,I V LV DW WKH WRS RI WKH VWDFN L" WKHQ >RXWSXW U Vf XQVWDFN U IURP $ DQG V IURP % JR WR VWDUW RI 6WHS @ Ef ,I V LV LQ VWDFN % EXW QRW DW WKH WRS WKHQ >RXWSXWf7KH 5, LV QRW SODQDU URXWDEOHff 7HUPLQDWH@ Ff ,I V LV LQ VWDFN $ WKHQ >XQVWDFN U IURP $ DGG U WR VWDFN %? JR WR WKH VWDUW RI 6WHS @ Gf ,I V LV LQ QHLWKHU RI WKH VWDFNV WKHQ > VHW S WR V OHW P EH WKH PRGXOH FRQWDLQLQJ V JR WR 6WHS @ )LJXUH 7RSRORJLFDO URXWLQJ URXWHG RQH DW D WLPH LQ WKLV RUGHU WKHQ WKHUH LV DOZD\V D SDWK EHWZHHQ WKH WZR HQG SRLQWV RI WKH ZLUH FXUUHQWO\ EHLQJ URXWHG VXFK WKDW WKLV SDWK GRHV QRW LQWHUVHFW SUHYLRXVO\ URXWHG ZLUHV RU FURVV DQ\ RI WKH PRGXOHV 7KLV LV VXIILFLHQW WR REWDLQ WKH DFWXDO WRSRORJLFDO URXWLQJ 2XU DOJRULWKP HPSOR\V WZR VWDFNV $ DQG % 6WDFN $ PDLQWDLQV D SLQ VHTXHQFH WKDW GHILQHV D FXUYH RI WKH 5, 6WDFN % LV XVHG WR UHWDLQ SLQV WKDW GHILQH FORVHG FXUYHV ZLWK UHVSHFW WR D VXEf FXUYH RQ VWDFN $ :H GHVFULEH WKH ZRUNLQJ RI WKH DOJRULWKP
PAGE 78
'2 Ef$ SRVVLEOH WRSRORJLFDO URXWLQJ )LJXUH ([DPSOH 5, ZLWK WKH DLG RI DQ H[DPSOH )LJXUH Dff 7KHUH DUH IRXU PRGXOHV fÂ§ DQG SLQV D fÂ§ K DQG $ fÂ§ + QHWSf S LI S LV D ORZHUFDVH OHWWHU DQG QHWSf ORZHUFDVHSf LI S LV DQ XSSHUFDVH OHWWHU 6XSSRVH ZH EHJLQ LQ VWHS ZLWK P DQG S % 7KHQ LQ VWHS %$)(& JHW VWDFNHG LQ WKDW RUGHU RQ WR VWDFN $ 7KLV FRUUHVSRQGV WR WKH FXUYH RI )LJXUH Df 3LQ F LV LQ QHLWKHU RI WKH VWDFNV DQG LQ VWHS Gf ZH VHW P S F DQG JR WR VWHS ,Q WKLV VWHS WKH ZLUHV &F (H DQG )I DUH RXWSXW IRU URXWLQJ 7KH SLQV J DQG DUH SXW RQ WKH WRS RI VWDFN $ 7KH FXUYH WUDFHG VR IDU LV VKRZQ LQ )LJXUH Ef 7KH URXWHG ZLUHV DUH DOVR VKRZQ DV D FXUYH 1RWH WKDW WKHVH ZLUHV KDYH WR EH URXWHG XVLQJ WKH SURFHGXUH ILQGURXWH RWKHUZLVH WKH\ FDQ HQFORVH D QRQHPSW\ UHJLRQ 7KH FXUYH LV H[WHQGHG WR PRGXOH DQG VWDFN $ KDV FRQILJXUDWLRQ %$JKE 7KH ZLUH 'G LV RXWSXW IRU URXWLQJ 7KH FXUYH KDV WKH IRUP DV VKRZQ LV )LJXUH Ff 7KH FXUYH FDQQRW EH H[WHQGHG IXUWKHU DV ERWK HQG SRLQWV RI ZLUH %E DUH RQ WKH VWDFN 7KLV PHDQV WKDW ZH KDYH GHWHFWHG D FORVHG FXUYH RI WKH
PAGE 79
E\ %$)(& Df %$)(&FHIJ'GKE Ff %$)(&FHIJ' Ef %$)(&FHIJ'GK E )LJXUH ,OOXVWUDWLRQ RI WKH URXWLQJ VHTXHQFH 5, 7KH GHWHFWHG FXUYH LV WKDW RI )LJXUH Ff :H GHIHU WKH URXWLQJ RI %E XQWLO ZH KDYH YHULILHG HPPD DQG IRU WKLV FORVHG FXUYH 7KH GHIHUPHQW DOVR HQVXUHV WKDW WKH FXUUHQW WRSRORJLFDO URXWLQJ GRHV QRW FRQWDLQ D FORVHG OLQH ,I %E ZHUH URXWHG QRZ WKHQ WKH ZLUHV %E &F DQG 'G WRJHWKHU ZLWK WKH ERXQGDULHV RI PRGXOHV DQG ZRXOG GHILQH D FORVHG OLQH WKDW HQFORVHV D QRQHPSW\ UHJLRQ 7KLV FRXOG UHVXOW LQ IXWXUH URXWLQJ SUREOHPV DV WKHUH ZRXOG EH QR SDWK EHWZHHQ D SRLQW LQ WKH UHJLRQ DQG RQH WKDW LV RXWVLGH WKH UHJLRQ )RU H[DPSOH LI WKH URXWLQJ RI )LJXUH LV XVHG WKHQ WKHUH LV QR SDWK EHWZHHQ D DQG $ DV D LV LQ WKH HQFORVHG VKDGHGf UHJLRQ ZKLOH $ LV RXWVLGH RI LW 7KH URXWLQJ RI %E LV GHIHUUHG E\ VDYLQJ E RQ VWDFN % 7KH FXUYH RI VWDFN $ LV H[WHQGHG WR PRGXOH YLD WKH ZLUH K+ :LUH K+ LV RXWSXW IRU URXWLQJ $OVR WKH ZLUHV J* DQG $D DUH RXWSXW IRU URXWLQJ 6WDFN $ FRQWDLQV WKH SLQ % DQG VWDFN % FRQWDLQV WKH SLQ E 7KH FXUYH LV VKRZQ LQ )LJXUH Gf )LQDOO\ WKH ZLUH %E LV RXWSXW IRU URXWLQJ DQG WKH VLQFH ERWK WKH VWDFNV DUH HPSW\ WKH DOJRULWKP WHUPLQDWHV VXFFHVVIXOO\ LQ VWHS
PAGE 80
)LJXUH 7UDSSHG WHUPLQDO DQG PRGXOH 7KH URXWLQJ RUGHU LV &F (H )I 'G K+ J* $D DQG %E /HW XV WU\ WKLV RXW RQ RXU H[DPSOH :H VHH WKDW QR PDWWHU KRZ &F LV URXWHG WKHUH ZLOO UHPDLQ D URXWLQJ SDWK IRU WKH UHPDLQLQJ ZLUHV 7KH URXWLQJ RI 'G DQG +K FDQQRW FUHDWH DQ\ HQFORVHG UHJLRQV DQG VR FDQQRW DIIHFW WKH IHDVLELOLW\ RI IXWXUH URXWHV :KHQ (H DQG )I DUH URXWHG DQ HQFORVHG UHJLRQ FDQ EH IRUPHG +HQFH WKHVH ZLUHV KDYH WR EH URXWHG XVLQJ WKH SURFHGXUH ILQGURXWH RI )LJXUH RWKHUZLVH WKH\ FDQ HQFORVH D QRQHPSW\ UHJLRQ 7KH WRSRORJLFDO URXWHG 5, FDQ EH IRXQG LQ ILJXUH )LJXUH Ef /HPPD ,I DOJRULWKP 7HVWLQJ3ODQDU5RXWDELOLW\ WHUPLQDWHV LQ VWHS WKHQ WKH LQSXW LQVWDQFH LV WRSRORJLFDOO\ URXWDEOH 3URRI :H VKDOO VKRZ WKDW WKH DOJRULWKP 7HVWLQJB3ODQDUB5RXWDELOLW\ PDLQWDLQV WKH IROORZLQJ LQYDULDQW 7KHUH LV D WRSRORJLFDO URXWLQJ RI DOO ZLUHV RXWSXW VR IDU VXFK WKDW HDFK UHPDLQLQJ ZLUH LV LQGLYLGXDOO\f WRSRORJLFDOO\ URXWDEOH
PAGE 81
)LJXUH 7R LOOXVWUDWH FRQIOLFW 7KLV LV WUXH ZKHQ ZH VWDUW DV DW WKLV WLPH QR ZLUHV KDYH EHHQ RXWSXW DQG IRU HDFK ZLUH WKHUH LV D URXWLQJ SDWK EHWZHHQ LWV WZR SLQV $VVXPH WKDW WKH LQYDULDQW KROGV MXVW EHIRUH VRPH ZLUH U Vf LV RXWSXW :H VKDOO VKRZ WKH LQYDULDQW KROGV DIWHU WKLV ZLUH LV RXWSXW IRU URXWLQJ :LUH U Vf VDWLVILHV H[DFWO\ RQH RI WKH IROORZLQJ Df ,W LV RXWSXW LQ VWHS U LV D SLQ WKDW ZDV RQ VWDFN $ V LV WKH ILUVW SLQ WR EH UHDFKHG RQ LWV PRGXOH Ef ,W LV RXWSXW LQ VWHS U ZDV RQ VWDFN $ V LV QRW WKH ILUVW SLQ WR EH UHDFKHG RQ LWV PRGXOH Ff ,W LV RXWSXW LQ VWHS Df $W WKH WLPH RI RXWSXW U ZDV DW WKH WRS RI VWDFN $ DQG V DW WKH WRS RI VWDFN %
PAGE 82
,I ZH DUH LQ FDVH Df WKHQ VLQFH PRGXOHVf LV UHDFKHG IRU WKH ILUVW WLPH QR PDWWHU KRZ ZLUH U Vf LV URXWHG DW WKLV WLPH QR QHZ HQFORVHG UHJLRQV DUH IRUPHG +HQFH DOO UHPDLQLQJ ZLUHV UHPDLQ URXWDEOH 7KH SURRIV IRU FDVHV Ef DQG Ff DUH VLPLODU :H FRQVLGHU FDVH Ff RQO\ )URP WKH DOJRULWKP LW IROORZV WKDW DW VRPH WLPH SULRU WR WKH RXWSXW RI U Vf ERWK U DQG V ZHUH RQ VWDFN $ V ZDV DW WKH WRS RI $ DQG DERXW WR EH PRYHG WR VWDFN % 7KH SLQV RQ VWDFN $ EHJLQQLQJ ZLWK U DQG HQGLQJ DW V GHILQH D FORVHG FXUYH & DV QHWUf QHWVff /HW WKHVH SLQV EH IURP PRGXOHV PRGXOHUf 0L 0b 0N PRGXOHVf LQ WKLV RUGHU PRYLQJ XS VWDFN $f /HW S EH DQ\ SLQ LQ SLQV&f fÂ§ ^U V` DQG OHW T EH VXFK WKDW QHWSf QHWTf :H PD\ DVVXPH WKDW HLWKHU T f SLQV&f RU PRGXOHTf LV XQYLVLWHG DW WKH WLPH V LV PRYHG IURP VWDFN $ WR VWDFN % 1RWH WKDW LI WKLV LV QRW WKH FDVH WKHQ T LV LQ VWDFN $ DQG EHORZ U DW WKLV WLPH )URP WKH ZRUNLQJ RI WKH DOJRULWKP LW IROORZV WKDW ZKHQ U UHDFKHV WKH WRS RI VWDFN $ DV LW GRHV E\ WKH DVVXPSWLRQ RI U Vf EHLQJ RXWSXW IURP VWHS Dff S PXVW EH RQ VWDFN % DQG DERYH $ 6R WKH DOJRULWKP VKRXOG KDYH WHUPLQDWHG XQVXFFHVVIXOO\ LQ VWHS Ef FRQWUDGLFWLQJ WKH DVVXPSWLRQ RI WHUPLQDWLRQ LQ VWHS /HW 8 EH WKH VHW RI XQYLVLWHG PRGXOHV DW WKH WLPH V LV WUDQVIHUUHG IURP VWDFN $ WR VWDFN % %\ H[WHQGLQJ RXU SUHYLRXV DUJXPHQW ZH VHH WKDW WKH VHW 1 RI PRGXOHV YLVLWHG E\ WKH DOJRULWKP EHWZHHQ WKH WLPH V LV WUDQVIHUUHG IURP VWDFN $ WR VWDFN % DQG WKH WLPH U Vf LV RXWSXW LV VXFK WKDW f 9 & 8 8 PRGXOHV&f f $OO SLQV LQ 1 8f 8 SLQV&f fÂ§ ^UV`f KDYH EHHQ RXWSXW IRU URXWLQJ
PAGE 83
$OJRULWKP ILQGURXWHUVf EHJLQ FXUUHQWSLQ V FORFNZLVHSLQFXUUHQLSPf ZKLOH Uf GR EHJLQ 6WHS 5RXWH FORFNZLVH IURP FXUUHQWSLQ WR O IROORZLQJ WKH PRGXOH ERXQGDU\ 6WHS FXUUHQWSLQ T VXFK WKDW QHWTf QHWOf 6WHS &RQWLQXH WKH URXWH IURP WR FXUUHQWSLQ IROORZLQJ WKH H[LVWLQJ URXWH FORVHO\ 6WHS FORFNZLVHSLQFXUUHQISPf HQG &RPSOHWH WKH URXWH IURP FXUUHQWSLQ WR O U IROORZLQJ WKH PRGXOH ERXQGDU\ HQG )LJXUH $OJRULWKP WR ILQG URXWLQJ SDWK EHWZHHQ SLQV U DQG V f $OO SLQV UHDFKHG IURP 1 IO PRGXOHV&f DUH LQ SLQV&f 8 SLQV1 8f :H QRZ FODLP WKDW DOJRULWKP ILQGURXWHUVf REWDLQV D WRSRORJLFDO URXWLQJ RI WKH ZLUH U Vf WKDW SUHVHUYHV WKH LQYDULDQW 7R HVWDEOLVK WKLV ZH QHHG WR VKRZ WKDW $f 7KH DOJRULWKP DFWXDOO\ ILQGV WKH URXWH EHWZHHQ U DQG V %f 7KH UHJLRQ HQFORVHG E\ WKLV URXWH DQG WKH FXUYH & FRQWDLQV QR SLQV WKDW KDYH QRW EHHQ URXWHG WR 7R SURYH $f ZH QHHG WR VKRZ $Of )RU HDFK YDOXH RI FXUUHQWSLQ FORFNZLVHSLQFXUUHQLSPf LH WKH SLQ FORFNZLVH IURP FXUUHQWSLQf LV GHILQHG DQG GLIIHUHQW IURP FXUUHQWSLQ $f 7KH QHW O FXUUHQWSLQf LQ VWHS RI )LJXUH LV DOUHDG\ URXWHG VR LW LV SRVVLEOH WR IROORZ WKLV URXWH
PAGE 84
$f FXUUHQWSLQ GRHV QRW DVVXPH WKH VDPH YDOXH WZLFH )RU $Of ZH VLPSO\ DVVXPH WKDW HDFK PRGXOH KDV DWOHDVW WZR SLQV 0RGXOHV ZLWK D VLQJOH SLQ PD\ EH LJQRUHG LQLWLDOO\ DQG URXWHG WR DIWHU WKH UHPDLQLQJ URXWHV KDYH EHHQ PDGH )RU $f OHW WKH YDOXH RI WKH FXUUHQWSLQ DQG DW WKH VWDUW RI WKH ÂnWK LWHUDWLRQ RI WKH ZKLOH ORRS EH F DQG UHVSHFWLYHO\ :H QRWH WKDW F? V DQG L f SLQV&f ,I f SLQV&f 8 SLQV1 8f WKHQ IURP FRQGLWLRQV f DQG f LW IROORZV WKDW F f SLQV&f 8 SLQV1 IO 8f DQG ZLUH FLf KDV EHHQ URXWHG 6XSSRVH WKHUH LV DQ Â A SLQV&f 8 SLQV1 IO 8f /HW OM EH WKH ILUVW VXFK 6LQFH M OMBN DQG &MBrL DUH LQ SLQV&f 8 SLQV1 IO 8f IRU N 6LQFH &M DQG OM DUH RQ WKH VDPH PRGXOH LW IROORZV WKDW PRGXOHFMf 1 6R OM ( H[WSLQV&f DQG &M f SLQV&f )URP WKH ZD\ DOJRULWKP 7HVWLQJ3ODQDU5RXWDELOLW\ ZRUNV LW IROORZV WKDW OML&Mf LV D VHJPHQW RI WKH FXUYH & DQG WKDW FXUYH & ZKHQ RULHQWHG IURP U WR V ILUVW UHDFKHV MBL DQG WKHQ &M YLD ZLUH MBLFÂf +HQFH OM? f SLQV&f 6LQFH OM f SLQV&f E\ DVVXPSWLRQ RQ Mf &MBL f SLQV&f 8 SLQV1 IO 8f )XUWKHU VLQFH &M LV D PRGXOH RI & &MM f SLQV&f 1RZ VLQFH OM?&Mf LV D VHJPHQW RI & DQG &M? LV RQH SLQ FORFNZLVH IURP OM DQG D SLQ RI & LW IROORZV WKDW ^OML FLf LV D VHJPHQW RI & RULHQWHG IURP B WR &M? &RQWLQXLQJ LQ WKLV ZD\ ZH FRQFOXGH WKDW O?Ff LV D VHJPHQW RI & RULHQWHG IURP M WR F +RZHYHU ZH NQRZ WKDW ZKHQ & LV RULHQWHG IURP U WR V WKHUH LV RQO\ RQH ZLUH VHJPHQW WKDW LQFOXGHV D SLQ RI PRGXOHVf DQG WKLV LV RULHQWHG WR PRGXOHVf 7KDW LV WKH RULHQWDWLRQ LV F WR / D FRQWUDGLFWLRQ +HQFH WKHUH LV QR A SLQV&f 8 SLQV1 IO 8f $OVR QR Â‘ ^U V` DW WKH VWDUW RI D ZKLOH
PAGE 85
ORRS LWHUDWLRQ )URP FRQGLWLRQ f LW IROORZV WKDW DOO HQFRXQWHUHG FW[f KDYH EHHQ URXWHG )RU $f VXSSRVH WKDW F &M IRU VRPH L DQG M L M 6LQFH B[Ff DQG OML&Mf DUH WZRSLQ QHWV LW IROORZV WKDW B[ OM? 1RZ VLQFH FB[ DQG FÂB[ DUH UHVSHFWLYHO\ RQH SLQ FRXQWHUFORFNZLVH IURP fB[ DQG OML LW IROORZV WKDW FB[ &MBM &RQWLQXLQJ LQ WKLV ZD\ ZH VHH WKDW V &? &MBW[ 7KLV LPSOLHV WKDW QHW OML&MLLf UVf KDV DOUHDG\ EHHQ URXWHG %XW LW KDV QRW 6R QR F LV UHSHDWHG %f IROORZV IURP WKH IDFW WKDW ILQGURXWH UHDFKHV RQO\ SLQV LQ SLQV&f8SLQV1 &? 8f FRQGLWLRQ f DQG WKH IDFW WKDW ILQGURXWH IROORZV H[LVWLQJ URXWHV ZLWKRXW HQFORVLQJ DQ\ QHZ SLQV Â’ /HPPD ,I WKH DOJRULWKP 7HVWLQJ 3ODQDU5RXWDELOLW\ JLYHQ LQ )LJXUH f WHUPLn QDWHV LQ VWHS Ef WKH 5, LV QRW SODQDU URXWDEOH 3URRI ,I WKH DOJRULWKP WHUPLQDWHV LQ VWHS Ef WKHQ OHW U DQG V EH DV LQ VWHS U LV DW WKH WRS RI VWDFN $ DQG V LV LQ VWDFN % EXW QRW DW WKH WRS /HW [ EH DW WKH WRS RI VWDFN % DQG OHW \ EH WKH SLQ VXFK WKDW QHW\f fÂ§ QHW[f \ PXVW FXUUHQWO\ EH RQ VWDFN $ DV [ FDQ EH SXW RQ VWDFN % VHH VWHS Fff RQO\ LI \ LV RQ VWDFN $ :KHQ RQH SLQ RI D QHW LV LQ VWDFN $ DQG WKH RWKHU LQ VWDFN % WKH SLQV FDQ OHDYH WKH VWDFNV WRJHWKHU VWHS Dff RU QRW DW DOO 6LQFH [ LV RQ VWDFN % DW WHUPLQDWLRQ \ PXVW VWLOO EH RQ VWDFN $ DQG KHQFH PXVW EH ORZHU WKDQ U DV U LV DW WKH WRSf 6R WKHUH LV D FXUYH \ U LQ WKH 5, )XUWKHUPRUH FXUYHV \ U V DQG \ U [ PXVW H[LVW DV WKLV LV WKH RQO\ ZD\ V DQG [ FDQ JHW WR VWDFN $ DQG WKHQ WR VWDFN % )LJXUH Df VKRZV DQ H[DPSOH FXUYH \ U V 7KLV ILJXUH DVVXPHV WKDW PRGXOHVf PRGXOHUf 7KH
PAGE 86
SURRI IRU WKH FDVH PRGXOHVf PRGXOHUf LV VLPLODU /HW P EH WKH PRGXOH DW ZKLFK WKH FXUYHV \ U V DQG \ U [ GLYHUJH )LJXUH Eff 1RWH WKDW P PD\ EH PRGXOHUf RU D ODWHUPRGXOH RQ WKH FXUYH \ U V /HW X EH WKH SLQ RI P WKDW LV WKH ODVW SLQ RI P RQ FXUYH \ U V DQG OHW Y EH WKH FRUUHVSRQGLQJ SLQ IRU \ U [ 6LQFH DOO QHWV DUH WZRSLQ QHWV X A Y 6LQFH [ LV DERYH V LQ VWDFN % Y PXVW EH RQ WKH FXUYH \ U V 7KH FXUYH & fÂ§ \UY[ LV D FORVHG FXUYH :H VHH WKDW U SLQV&f DQG V H[WSLQV&f DQG QHWVf QHWUf 6R V DQG U VDWLVI\ WKH FRQGLWLRQV RI /HPPD DQG WKH 5, LV QRW SODQDU URXWDEOH Â’ 7KHRUHP 7KH DOJRULWKP 7HVWLQJ3ODQDUB5RXWDELOLW\ JLYHQ LQ )LJXUH f LV FRUn UHFW 3URRI )ROORZV IURP /HPPDV DQG Â’ 7KH DOJRULWKP RI )LJXUH LV HDVLO\ LPSOHPHQWHG WR KDYH FRPSOH[LW\ RI Qf ZKHUH Q LV WKH WRWDO QXPEHU RI SLQV )RU WKLV ZH QHHG WR XVH DQ DUUD\ VWDWXV>OQ@ WR PDLQWDLQ WKH FXUUHQW VWDWXV LH RQ VWDFN $ RQ VWDFN % RQ QHLWKHUf RI HDFK SLQ 7RSRORJLFDO 5RXWDELOLWY RI 0XOWLSLQ 1HWV :H VKDOO UHIHU WR WKH H[WHQVLRQ RI 7HVWLQJ3ODQDU5RXWDELOLW\ RU 735 WR WKH FDVH ZKHUH VRPH RU DOO QHWV PD\ KDYH PRUH WKDQ WZR SLQV DV 0735 7KH 0735 SUREn OHP PD\ EH VROYHG LQ OLQHDU WLPH E\ PDSSLQJ 0735 LQVWDQFHV LQWR JUDSK SODQDULW\ LQVWDQFHV > @ +RZHYHU WKH NQRZQ OLQHDU WLPH DOJRULWKPV >@ IRU JUDSK SODQDULW\ DUH FRPSOH[ DQG RQH LV PRWLYDWHG WR H[SORUH WKH SRVVLELOLW\ WKDW VLPSOHU DOJRULWKPV H[LVW IRU 0735 MXVW DV WKH\ GR IRU 735f 8QIRUWXQDWHO\ WKLV LV QRW WKH FDVH :H
PAGE 87
VKRZ LQ 7KHRUHP WKDW DQ\ DOJRULWKP IRU 0735 FDQ EH XVHG WR WHVW JUDSK SODn QDULW\ ZLWK QR LQFUHDVH LQ FRPSOH[LW\ ,Q 7KHRUHP ZH VKRZ WKDW WKH SUREOHP RI GHWHUPLQLQJ WKH PD[LPXP QXPEHU RI WRSRORJLFDOO\ URXWDEOH QHWV RI DQ 0735 LQn VWDQFH LV 13KDUG )RU WKH FDVH ZKHUH DOO WKH SLQV DUH WZRSLQ QHWV ZH FDQ XVH WKH FRQVWUXFWLRQ RI >@ DQG WKH DOJRULWKP RI >@ WR ILQG WKH PD[LPXP VXEVHW WKDW LV WRSRORJLFDOO\ URXWDEOH 7KH FRPSOH[LW\ RI WKH UHVXOWLQJ DOJRULWKP LV Qf ZKHUH Q LV WKH WRWDO QXPEHU RI QHWV 7KHRUHP PRWLYDWHV WKH TXHVW IRU D VLPSOH OLQHDU WLPH DOJRULWKP IRU D UHVWULFWHG YHUVLRQ RI 0735 :H VKRZ WKDW WKH DOJRULWKP RI )LJXUH PD\ EH H[WHQGHG WR KDQGOH 0735 LQVWDQFHV LQ ZKLFK HYHU\ SDLU RI PRGXOHV UHPDLQV FRQQHFWHG WKRXJK QRW QHFFHVVDULO\ E\ D QHWf ZKHQ DOO QHWV RWKHU WKDQ WZRSLQ QHWV DUH HOLPLQDWHG 7KHRUHP /HW EH DQ LQVWDQFH RI JUDSK SODQDULW\ FDQ EH WUDQVIRUPHG LQ OLQHDU WLPH LQWR DQ LQVWDQFH 9 RI 0735 VXFK WKDW LV SODQDU LII 9 LV WRSRORJLFDOO\ URXWDEOH 3URRI )URP WKH FRQVWUXFWLRQV RI > @ LW IROORZV WKDW WKH WRSRORJLFDO URXWDELOLW\ RI DQ 0735 LQVWDQFH GRHV QRW GHSHQG RQ WKH VSHFLILF SODFHPHQW RI WKH PRGXOHV +HQFH LQ FRQVWUXFWLQJ n ZH QHHG QRW VSHFLI\ WKH PRGXOH SODFHPHQW ,n LV REWDLQHG IURP E\ UHSODFLQJ HDFK HGJH L M RI E\ D PRGXOH 0\ ZLWK WZR SLQV $ DQG 0IM 7KH QHWV RI 9 DUH 1^ ^0` ?L Mf 8 ^0" M Â` L Q ZKHUH Q LV WKH QXPEHU RI YHUWLFHV LQ ,I 9 LV SODQDU URXWDEOH WKHQ HDFK QHW 79 KDV D SODQDU UHDOL]DWLRQ WKDW GRHV QRW FRQWDFW WKH UHDOL]DWLRQ RI DQ\ RWKHU QHW 7KLV UHDOL]DWLRQ FRQQHFWV WKH SLQV RI $On WRJHWKHU SRVVLEO\ XVLQJ VRPH 6WHLQHU SRLQWV VHH )LJXUH Dff
PAGE 88
)LJXUH 5HDOL]DWLRQ RI D SODQDU QHW XVLQJ RQH 6WHLQHU SRLQW ,I 79 LV D WZRSLQ QHW WKHQ LQWURGXFH YHUWH[ X DQ\ZKHUH RQ WKH ZLUH FRQQHFWLQJ WKH WZR SLQV RI 79 ,I 79 KDV PRUH WKDQ WZR SLQV WKHQ E\ XVLQJ WKH WUDQVIRUPDWLRQV RI )LJXUH Ef ZH FDQ UHGXFH WKH QXPEHU RI 6WHLQHU SRLQWV WR RQH DQG DOVR HQVXUH WKDW HDFK SLQ RI 79 KDV H[DFWO\ RQH ZLUH FRQQHFWHG WR LW 7KHUH WUDQVIRUPDWLRQV SUHVHUYH WKH SODQDULW\ RI WKH URXWLQJ 7KH VROH VXUYLYLQJ 6WHLQHU SRLQW LV UHSODFHG E\ WKH YHUWH[ YÂ 1RZ HDFK ZLUH WKDW FRQQHFWV WR W! FRQQHFWV WR PRGXOH 0LM RU 0MM 7KLV PRGXOH KDV DQRWKHU ZLUH FRQQHFWLQJ WR YHUWH[ M 5HPRYH $M RU 0Mcf DQG MRLQ WKH HQGV RI WKHVH WZR ZLUHV WRJHWKHU E\ D OLQH MRLQLQJ WKH WHUPLQDOV RI 0LM RU 0Wf :H QRZ KDYH D SODQDU HPEHGGLQJ RI ,I LV SODQDU WKHQ VWDUW ZLWK LWV SODQDU HPEHGGLQJ 5HSODFH X E\ D 6WHLQHU SRLQW SODFH 0LM DQ\ZKHUH RQ WKH HPEHGGLQJ RI HGJH LMf L M? VSOLW WKH HGJH LMf DW 0LM DQG FRQQHFWLQJ WKH WZR HQGV DW WKH VSOLW SRLQWf WR WKH WHUPLQDOV RI 0LM 7KLV \LHOGV D WRSRORJLFDO URXWLQJ RI
PAGE 89
+HQFH LV SODQDU LII n LV WRSRORJLFDOO\ URXWDEOH Â’ /HW 0735PD[ EH WKH SUREOHP RI GHWHUPLQLQJ ZKHWKHU RU QRW N RI WKH QHWV RI DQ 0735 LQVWDQFH DUH WRSRORJLFDOO\ URXWDEOH 7R VKRZ WKDW 0735PD[ LV 13FRPSOHWH ZH XVH WKH IROORZLQJ SUREOHP WKDW LV NQRZQ WR EH 13FRPSOHWH >@ 3ODQDU 6XEJUDSK *LYHQ *UDSK 9(f DQG D SRVLWLYH LQWHJHU N 9 ,V WKHUH D VXEVHW 9 & 9 ZLWK 9 _! N VXFK WKDW WKH VXEJUDSK LQGXFHG E\ WKH 9 YHUWLFHV LV SODQDU" 7KHRUHP 0735PD[ LV 13FRPSOHWH 3URRI ,W LV HDV\ WR VHH WKDW 0735PD[ LV LQ 13 $OVR IURP DQ LQVWDQFH RI WKH SODQDU VXEJUDSK SUREOHP ZH FDQ FRQVWUXFW DQ LQVWDQFH n RI 0735PD[ E\ UHSODFLQJ HGJHV E\ PRGXOHV DV LQ 7KHRUHP ,W LV HDV\ WR VHH WKDW n KDV N QHWV WKDW DUH WRSRORJLFDOO\ URXWDEOH LII KDV DQ LQGXFHG VXEJUDSK ZLWK N YHUWLFHV WKDW LV SODQDU Â’ $Q\ LQVWDQFH RI 0735 PD\ EH WUDQVIRUPHG LQWR DQ LQVWDQFH ,n RI 735 ZKLFK LQFOXGHV XQRUGHUHG PRGXOHV LH PRGXOHV ZKRVH WHUPLQDOV PD\ EH UHDUUDQJHG DW ZLOOf 3 KDV WKH SURSHUW\ WKDW WKHUH LV DQ DUUDQJHPHQW RI WHUPLQDOV IRU HDFK RI WKH XQRUGHUHG PRGXOHV ZKLFK UHVXOWV LQ n EHLQJ WRSRORJLFDOO\ URXWDEOH LII LV WRSRORJn LFDOO\ URXWDEOH 7R REWDLQ ,n IURP IRU HDFK PXOWLSLQ QHW 1Â RI VL]H N N ZH LQWURGXFH DQ XQRUGHUHG PRGXOH 8$ ZLWK N SLQV 7KH QHW 1L LV UHSODFHG E\ N WZR SLQ QHWV RQH SLQ RI HDFK RI WKHVH QHWV LV DQ RULJLQDO SLQ RI 1^ DQG WKH RWKHU D SLQ RI 80^ 6LQFH SODQDU URXWDELOLW\ LV QRW DIIHFWHG E\ PRGXOH SODFHPHQW 80^ PD\ EH SODFHG DQ\ZKHUH LQ WKH URXWLQJ UHJLRQ $Q H[DPSOH LV JLYHQ LQ )LJXUH
PAGE 90
Df $ PXOWLSLQ QHW Ef 7ZR SLQ QHWV )LJXUH 7UDQVIRUPDWLRQ IURP PXOWLSLQ WR WZRSLQ QHWV 7KHRUHP 7KH SLQV RI HDFK XQRUGHUHG PRGXOH RI 9 FDQ EH RUGHUHG VR WKDW WKH UHVXOWLQJ LQVWDQFH RI 735 LV WRSRORJLFDOO\ URXWDEOH LII LV WRSRORJLFDOO\ URXWDEOH 3URRI ,I WKH SLQV RI WKH 80I V FDQ EH VR RUGHUHG WKHQ D WRSRORJLFDO URXWLQJ RI LV HDVLO\ REWDLQHG IURP WKH WRSRORJLFDO URXWLQJ RI 9 VLPSO\ UHSODFH HDFK 80^ E\ D 6WHLQHU SRLQWf ,I LV WRSRORJLFDOO\ URXWDEOH WKHQ XVLQJ WUDQVIRUPDWLRQV VLPLODU WR WKRVH LQ )LJXUH Ef ZH PD\ WUDQVIRUP WKH WRSRORJLFDO URXWLQJ LQWR RQH LQ ZKLFK HDFK PXOWLSLQ QHW L9 RI VL]H N LV URXWHG XVLQJ H[DFWO\ RQH 6WHLQHU SRLQW 7KLV 6WHLQHU SRLQW LV UHSODFHG E\ PRGXOH W0 DQG WKH SLQ RUGHULQJ LV GHWHUPLQHG E\ WKH WRSRORJLFDO URXWLQJ DURXQG WKH 6WHLQHU SRLQW Â’ ,I ZH NQHZ ZKLFK WHUPLQDO RUGHULQJV RI WKH 80fV WR XVH ZH FRXOG VLPSO\ FRQYHUW HDFK 80L WR DQ RUGHUHG PRGXOH DQG UXQ WKH 735 DOJRULWKP 8QIRUWXQDWHO\ ZH GR QRW NQRZ WKLV 7KHUHIRUH ZH QHHG WR PRGLI\ DOJRULWKP 7HVWLQJA3ODQDU5RXWDELOLW\ VR DV WR SURSHUO\ KDQGOH XQRUGHUHG PRGXOHV $V LQ VHFWLRQ ZH PD\ DVVXPH WKDW
PAGE 91
LV D VLQJOH FRPSRQHQW )RU RXU PRGLILFDWLRQ WR ZRUN ZH DVVXPH WKDW UHPDLQV D VLQJOH FRPSRQHQW ZKHQ DOO PXOWLSLQ QHWV 1^ RI VL]H N DUH HOLPLQDWHG IURP 7KH PRGLILHG DOJRULWKP 0735 LV JLYHQ LQ )LJXUH 7KH ZRUNLQJ RI WKH 0735 DOJRULWKP LV H[SODLQHG XVLQJ WKH H[DPSOH LQ )LJn XUH 7KHUH DUH ILYH PRGXOHV DQG WKHUH DUH VHYHQ QHWV RXW RI ZKLFK VL[ DUH WZRSLQ QHWV 7KH VHYHQWK LV D IRXUSLQ QHW 7KH SLQV RI WKH IRXUSLQ QHW DUH Z[\ DQG ] ,Q VWHS RI WKH DOJRULWKP RI )LJXUH ZH UHSODFH WKH PXOWLSLQ QHW RI VL]H IRXU ZLWK D QHZ XQRUGHUHG PRGXOH 80? ZKLFK KDV IRXU SLQV 6XSSRVH ZH EHJLQ LQ VWHS ZLWK P DQG S $ 7KHQ LQ VWHS $&[% JHW VWDFNHG LQ WKDW RUGHU RQ WR VWDFN $ 7KLV FRUUHVSRQGV WR WKH FXUYH RI )LJXUH Df 7KH WRS RI VWDFN $ QRZ KDV SLQ L" DQG WKH FXUYH RQ VWDFN $ LV H[WHQGHG E\ DGGLQJ SLQV IURP PRGXOH WR VWDFN $ ,Q WKLV SURFHVV WKH ZLUH %E LV RXWSXW IRU URXWLQJ 7KLV VLWXDWLRQ LV GHSLFWHG LQ )LJXUH Ef 6LQFH SLQ D LV DW WKH WRS RI VWDFN $ DQG LWV PDWH LV EHORZ LW LQ WKH VWDFN SLQ D LV PRYHG IURP VWDFN $ WR VWDFN % $W WKH WRS RI VWDFN $ ZH KDYH D SLQ RI D IRXUSLQ QHW DQG VLQFH WKLV QHW LV VHHQ IRU WKH ILUVW WLPH ZH DGG WKH XQRUGHUHG PRGXOH WR WKH WRS RI VWDFN % DQG PDUN M DV KDYLQJ EHHQ VHHQ :H URXWH WKH ZLUH IURP SLQ \ WR WKH XQRUGHUHG PRGXOH 7KH SLQ [ ZKLFK LV EHORZ SLQ \ LV QH[W URXWHG WR WKH XQRUGHUHG PRGXOH 7KLV LV GRQH XVLQJ WKH SURFHGXUH ILQGURXWH RI )LJXUH 7KH FXUYH RQ VWDFN $ LV H[WHQGHG E\ DGGLQJ SLQV IURP PRGXOH $W WKLV WLPH ZLUH &F LV RXWSXW IRU URXWLQJ 7KLV VFHQDULR LV GHSLFWHG LQ )LJXUH Ff 1RZ SLQ ] LV DW WKH WRS RI VWDFN $ 7KLV SLQ LV URXWHG WR WKH XQRUGHUHG PRGXOH LQ VWHS Df RI WKH DOJRULWKP 1H[W LQ VWHS WKH ZLUH G' LV RXWSXW IRU URXWLQJ $OVR SLQ ( LV SXW RQ
PAGE 92
$OJRULWKP 0735 6WHS )RU HDFK PXOWLSLQ QHW $ RI VL]H N LQWURGXFH D QHZ XQRUGHUHG PRGXOH 80L ZLWK N SLQV DQG UHSODFH E\ N WZR WHUPLQDO QHWV DV GHVFULEHG HDUOLHU 6WHS /HW P EH DQ\ RUGHUHG PRGXOH DQG OHW S EH DQ\ SLQ RI P ZKLFK FRUUHVSRQGV WR DQ RULJLQDO WZRSLQ QHW 6WHS ([DPLQH WKH SLQV RI P LQ FRXQWHUFORFNZLVH RUGHU EHJLQQLQJ DW SLQ S :KHQ D SLQ T LV EHLQJ H[DPLQHG FRPSDUH QHWTf DQG QHWUf ZKHUH U LV WKH SLQ LI DQ\f DW WKH WRS RI VWDFN $ ,I VWDFN $ LV HPSW\ RU QHWTf A QHWUf WKHQ DGG T DQG WKH UHPDLQLQJ SLQV RI P WR WKH WRS RI VWDFN $ 2WKHUZLVH RXWSXW TUf DQG XQVWDFN U IURP $ 6WHS ,I ERWK VWDFNV $ DQG % DUH HPSW\ WKHQ WHUPLQDWH 6WHS /HW U EH WKH SLQ DW WKH WRS RI VWDFN $ /HW V EH WKH SLQ VXFK WKDW QHLUf QHWVf ,I PRGXOHVf LV DQ XQRUGHUHG PRGXOH WKHQ JR WR VWHS Df ,I V LV DW WKH WRS RI WKH VWDFN % WKHQ >RXWSXW U f XQVWDFN U IURP $ DQG V IURP %? JR WR VWDUW RI 6WHS @ Ef ,I V LV LQ VWDFN % EXW QRW DW WKH WRS WKHQ >RXWSXWf7KH 5, LV QRW SODQDU URXWDEOHff 7HUPLQDWH@ Ff ,I V LV LQ VWDFN $ WKHQ >XQVWDFN U IURP $ DGG U WR VWDFN %? JR WR WKH VWDUW RI 6WHS @ Gf ,I V LV LQ QHLWKHU RI WKH VWDFNV WKHQ > VHW S WR V OHW P EH WKH PRGXOH FRQWDLQLQJ V? JR WR 6WHS @ 6WHS Df ,I PRGXOHVf LV DW WKH WRS RI VWDFN % WKHQ >RXWSXW U Vf XQVWDFN U IURP $ PDUN SLQ V DV KDYLQJ EHHQ VHHQ ,I DOO SLQV RI PRGXOHVf KDYH EHHQ PDUNHG WKHQ XQVWDFN PRGXOHVf IURP %? JR WR VWDUW RI VWHS @ Ef ,I PRGXOHVf LV RQ % EXW QRW DW WKH WRS WKHQ >RXWSXWf7KH 5, LV QRW SODQDU URXWDEOHff 7HUPLQDWH@ Ff ,I PRGXOHVf LV QRW LQ VWDFN =" WKHQ >XQVWDFN U IURP $ PDUN SLQ V DV KDYLQJ EHHQ VHHQ DGG PRGXOHVf WR WKH WRS RI VWDFN % JR WR VWDUW RI VWHS @ )LJXUH 7RSRORJLFDO URXWLQJ RI PXOWLSLQ QHW IRU UHVWULFWHG YHUVLRQ
PAGE 93
)LJXUH ([DPSOH 5, ZLWK D IRXU SLQ QHW WKH WRS RI VWDFN $ $W WKLV SRLQW VWDFN $ FRQWDLQV SLQV $I( ERWWRP WR WRS LQ WKDW RUGHU 7KLV VLWXDWLRQ LV GHSLFWHG LQ )LJXUH Gf :H VHW P DQG S H LQ VWHS RI WKH DOJRULWKP DQG RXWSXW ZLUHV (H DQG I) IRU URXWLQJ 7KH UHPDLQLQJ SLQ Z LV SXW DW WKH WRS RI VWDFN $ ,Q VWHS Df RI WKH DOJRULWKP ZH PDUN SLQ Z DV VHHQ DQG URXWH D ZLUH IURP WKLV SLQ WR WKH XQRUGHUHG PRGXOH $OVR ZH UHPRYH WKH XQRUGHUHG PRGXOH IURP WKH WRS RI VWDFN I 7KLV LV VKRZQ LQ )LJXUH Hf 1RZ VWDFN $ FRQWDLQV SLQ $ DQG VWDFN % FRQWDLQV SLQ D DQG WKH ZLUH $D LV RXWSXW IRU URXWLQJ LQ VWHS Df RI WKH DOJRULWKP %RWK WKH VWDFNV DUH HPSW\ DQG WKH DOJRULWKP WHUPLQDWHV VXFFHVVIXOO\ LQ VWHS 7KH WRSRORJLFDOO\ URXWHG 5, FDQ EH IRXQG LQ )LJXUH /HPPD ,I WKH DOJRULWKP 0735 KDOWV LQ VWHS WKHQ WKH ZLUHV DUH SODQDU URXWDEOH 3URRI 7KH SURRI LV YHU\ VLPLODU WR WKDW RI /HPPD 7KH VDPH LQYDULDQW KROGV :KHQ ZH SXW DQ XQRUGHUHG PRGXOH RQ VWDFN % DQG PDUN D SLQ LI WKDW LV WKH ILUVW SLQ PDUNHGf WKHQ ZH FRQQHFW WKLV SLQ WR WKH XQRUGHUHG PRGXOH 6HH WKDW WKHUH LV QR
PAGE 94
$ & [ % $&[%E\D )LJXUH ,OOXVWUDWLRQ RI WKH URXWLQJ VHTXHQFH ZLWK 0XOWLWHUPLQDO QHW HQFORVHG UHJLRQ DQG WKH LQYDULDQW KROGV WUXH 1RZ LI ZH DUH URXWLQJ DQRWKHU SLQ RI PXOWLSLQ QHWf WKHQ WKH SLQ LW KDV WR EH FRQQHFWHG LV RQ WKH XQRUGHUHG PRGXOH 6R DV VRRQ DV ZH UHDFK WKH XQRUGHUHG PRGXOH WKH QH[W SLQ LV FKRVHQ DV WKH SLQ LW KDV WR EH FRQQHFWHG WR WKLV DOVR GHILQHV WKH RUGHU RI SLQV LQ WKH XQRUGHUHG PRGXOHf 7KH SURRIV DSSO\ LQ WKLV FDVH DV ZH KDYH PDGH DOO QHWV WZRSLQ QHWV Â’ /HPPD /HW EH DQ 5, WKDW FRQWDLQV D FXUYH & 33 3M /HW 5 5L 5 5N DQG 6 66 6L EH WZR FXUYHV VXFK WKDW PRGXOH^5?f PRGXOH3Gf IRU VRPH G G M DQG ILUVW^5?f f H[WSLQV&f DQG PRGXOH6?f PRGXOH3Hf IRU VRPH H H M DQG ILUVW6 f f SLQV&f
PAGE 95
/HW & EH VXFK WKDW ILUVW3?f DQG ODVW3Mf DUH SDUW RI WKH VDPH QHW 1 $VVXPH WKDW WKHUH H[LVW WZR SLQV D DQG E VXFK WKDW D f SLQV&f 8 SLQV6f E f H[WMSLQV&f 8 SLQV5f DQG QHWDf QHWEf A 1 LV QRW SODQDU URXWDEOH 3URRI )ROORZV IURP /HPPD Â’ /HPPD ,I DOJRULWKP 0735 WHUPLQDWHV LQ VWHSV Ef RU Ef WKH 5, LV QRW SODQDU URXWDEOH 3URRI 6XSSRVH WKH DOJRULWKP WHUPLQDWHV LQ VWHS Ef /HW U DQG V EH DV LQ VWHS DQG OHW [ EH DW WKH WRS RI VWDFN % 1RWH WKDW U DQG V GHILQH D WZRSLQ QHW ,I [ LV D WZRSLQ QHW WKHQ WKH 5, LV QRW SODQDU URXWDEOH VHH SURRI RI /HPPD f 6R DVVXPH WKDW [ LV DQ XQRUGHUHG PRGXOH QRWH WKDW RQO\ SLQV RI WZRSLQ QHWV DQG XQRUGHUHG PRGXOHV JHW RQ WR VWDFN %f 0RGXOH [ PXVW KDYH DWOHDVW RQH PDUNHG DQG RQH XQPDUNHG SLQ /HW & EH WKH FXUYH GHILQHG E\ WKH VWDFN $ VHJPHQW IURP U WR V ZKHQ V ZDV DW WKH WRS RI VWDFN $ MXVW SULRU WR EHLQJ WUDQVIHUUHG WR VWDFN % )URP WKH ZRUNLQJ RI 0735 LW IROORZV WKDW WKHUH LV D SLQ S f SLQV&f IURP ZKLFK D SDWK ZDV WUDFHG WR WKH PXOWLSLQ QHW FRUUHVSRQGLQJ WR PRGXOH [ )XUWKHUPRUH WKHUH LV DWOHDVW RQH SLQ D RI WKH PXOWLSLQ QHW WKDW LV RQ D SDWK IURP D SLQ WKDW LV QRW LQ SLQV&f $ SRVVLEOH VLWXDWLRQ LV VKRZQ LQ )LJXUH 7KH FRQGLWLRQV RI /HPPD DUH VDWLVILHG DQG WKH 5, LV QRW SODQDU URXWDEOH ,I WKH DOJRULWKP WHUPLQDWHV LQ VWHS Ef WKHQ U LV D SLQ RI D PXOWLSLQ QHW DQG PRGXOHVf LV DQ XQRUGHUHG PRGXOH /HW [ EH DW WKH WRS RI VWDFN % DW WKH WLPH RI WHUPLQDWLRQ /HW M EH RQH RI WKH SLQV WKDW KDYH DOUHDG\ EHHQ URXWHG WR PRGXOHVf
PAGE 96
)LJXUH $Q SRVVLEOH VLWXDWLRQ ZKHUH WKH 5, LV XQURXWDEOH /HW & EH WKH FXUYH GHILQHG E\ WKH VWDFN $ VHJPHQW DW WKH WLPH SLQ M ZDV RXWSXW IRU URXWLQJ /HW 6 EH WKH FXUYH RU SLQ LQ SLQV&f WKDW ZDV XVHG WR UHDFK SLQ [ /HW \ EH VXFK WKDW QHW[f QHW\f 6LQFH \ PXVW EH EHORZ U RQ VWDFN $ DQG U LV D QHW RI D PXOWLSLQ QHW WKH SDWK IURP \ WR U RQ VWDFN $ PXVW LQFOXGH D SLQ LQ H[WSLQV&f %\ VHWWLQJ D DQG E RI /HPPD WR [ DQG \ UHVSHFWLYHO\ ZH VHH WKDW WKH FRQGLWLRQV RI /HPPD DUH VDWLVILHG DQG WKH 5, LV XQURXWDEOH 7KH SURRI IRU WKH FDVH [ LV DQ XQRUGHUHG PRGXOH LV VLPLODU Â’ ,PSOHPHQWDWLRQ RI 7ZR3LQ $OJRULWKP :KLOH WKH FRUUHFWQHVV SURRI IRU RXU DOJRULWKP LV VRPHZKDW LQYROYHG WKH DOJRn ULWKP LWVHOI LV TXLWH VLPSOH DQG HDV\ WR LPSOHPHQW 7R JHW JRRG SHUIRUPDQFH ZH LPSOHPHQWHG VWDFN $ DV D VWDFN RI PRGXOHV UDWKHU WKDQ RQH RI SLQV DV GHVFULEHG LQ 6HFWLRQ 6R ZKHQ VWHS RI )LJXUH DGGV T DQG WKH UHPDLQLQJ SLQV RI P WR
PAGE 97
VWDFN $ ZH VLPSO\ DGG D UHFRUG RI WKH W\SH PT f ZKHUH LV WKH ODVW SLQ RI P WR WKH VWDFN $OVR WR JHW WKH WRS SLQ RI VWDFN $ ZH ORRN DW WKH WRS UHFRUG PTOf 7KH WRS SLQ LV O 7R GHOHWH WKLV SLQ WKH WRS UHFRUG LV FKDQJHG WR PTSOff ZKHUH SOf LV WKH SUHGHFHVVRU RI SLQ XQOHVV T O ,Q WKH ODWWHU FDVH WKH UHFRUG PTOf LV GHOHWHG IURP WKH VWDFN 7KH UROH RI DUUD\ VWDWXV QHHGV WR EH FKDQJHG WR VXSSRUW WKLV FKDQJH LQ VWDFN VWUXFWXUH :H QRZ NHHS D VWDWXV IRU D PRGXOH DV ZHOO DV IRU D SLQ $ PRGXOHfV VWDWXV UHIOHFWV ZKHWKHU RU QRW LW LV LQ VWDFN $ DQG D SLQfV VWDWXV UHIOHFWV ZKHWKHU RU QRW LW LV LQ VWDFN % 7KH WZRSLQ QHW DOJRULWKP RI 0DUHN6DGRZVND DQG 7DUQJ >@ LV D WZR VWHS DOJRULWKP 6WHS 0HUJH PRGXOHV WRJHWKHU WR REWDLQ DQ HTXLYDOHQW URXWLQJ SUREOHP LQ ZKLFK DOO SLQV DUH RQ WKH SHULSKHU\ RI D URXWLQJ UHJLRQ 6WHS 'HWHUPLQH WKH IHDVLELOLW\ RI WKH HTXLYDOHQW SUREOHP XVLQJ D VLQJOH VWDFN VFKHPH 7R LPSOHPHQW VWHS ZH SHUIRUPHG D WUDYHUVDO RI WKH PRGXOHV (DFK PRGXOH ZDV UHSUHVHQWHG DV D VLQJO\ OLQNHG FLUFXODU OLVW RI SLQV :LWK WKLV UHSUHVHQWDWLRQ PRGXOHV FDQ EH PHUJHG HIILFLHQWO\ %\ FRQWUDVW IRU WKH DOJRULWKP RI )LJXUH PRGXOHV ZHUH UHSUHVHQWHG XVLQJ GRXEO\ OLQNHG FLUFXODU OLVWV 7KH PXOWLSLQ QHW DOJRULWKP RI 0DUHN6DGRZVND DQG 7DUQJ >@ KDV WKUHH VWHSV 6WHS 0HUJH PRGXOHV WRJHWKHU WR REWDLQ DQ HTXLYDOHQW URXWLQJ SUREOHP LQ ZKLFK DOO SLQV DUH RQ WKH SHULSKHU\ RI D URXWLQJ UHJLRQ
PAGE 98
)LJXUH 7UHHOLNH FRQQHFWHG FLUFXLWV 6WHS 7UDYHUVH WKH SLQV DQG WUDQVIRUP PXOWLSLQ QHWV LQWR WZR SLQ QHWV 6WHS 'HWHUPLQH WKH IHDVLELOLW\ RI WKH HTXLYDOHQW SUREOHP XVLQJ D VLQJOH VWDFN VFKHPH ([SHULPHQWDO 5HVXOWV :H LPSOHPHQWHG RXU DOJRULWKP IRU WZRSLQ QHWV DQG PXOWLSLQ QHWV DQG WKDW RI 0DUHN6DGRZVND DQG 7DUQJ >@ LQ & DQG REWDLQHG H[HFXWLRQ WLPHV XVLQJ ERWK FLUFXLWV WKDW DUH URXWDEOH DQG WKRVH WKDW DUH QRW )RU WKH WZRSLQ QHW FDVH WKH URXWDEOH FLUFXLWV XVHG DUH KLJKO\ VWUXFWXUHG RQHV DV VKRZQ LQ )LJXUHV DQG DV ZHOO DV UDQGRPO\ JHQHUDWHG RQHV 7KH QRQURXWDEOH FLUFXLWV XVHG ZHUH REWDLQHG E\ PRGLI\LQJ WKH WUHHOLNH FLUFXLWV RI )LJXUH
PAGE 99
)LJXUH 6L[ZD\ FRQQHFWHG FLUFXLWV )LJXUH 7UHHOLNH FRQQHFWHG FLUFXLWV ZLWK PXOWLSLQ QHWV
PAGE 100
\X ? ; ; ; ; ; ; ; ; ; ; ; ? )LJXUH (LJKWZD\ FRQQHFWHG FLUFXLWV ZLWK PXOWLSLQ QHWV )RU WKH PXOWLSLQ QHW FDVH ZH XVHG KLJKO\ VWUXFWXUHG FLUFXLWV DV VKRZQ LQ )LJn XUHV DQG 7KH QRQURXWDEOH FLUFXLWV IRU WKH PXOWLSLQ FDVH ZDV REWDLQHG E\ PRGLI\LQJ WKH VWUXFWXUHG FLUFXLWV 7KH WLPLQJ UHVXOWV IRU WKH URXWDEOH FLUFXLWV RI WZRSLQ QHWV DUH VKRZQ LQ 7DEOHV DQG UHVSHFWLYHO\ 7KH WLPHV DUH LQ PLOOLVHFRQGV DQG WKH SURJUDPV ZHUH UXQ RQ D 681 ZRUNVWDWLRQ 2Q WUHHOLNH FLUFXLWV WKH DOJRULWKP RI 0DUHN6DGRZVND DQG 7DUQJ >@ WRRN b PRUH WLPH WKDQ RXUV RQ DYHUDJH RQ VL[ZD\ FLUFXLWV LW WRRN DSSUR[LPDWHO\ b PRUH WLPH DQG RQ UDQGRP FLUFXLWV LW WRRN DSSUR[LPDWHO\ b PRUH WLPH )RU WKH PXOWLSLQ QHW FDVH WKH WLPLQJ UHVXOWV IRU WKH URXWDEOH FLUFXLWV DUH VKRZQ LQ 7DEOHV DQG 2Q WUHHOLNH FLUFXLWV ZLWK PXOWLSLQ QHWV WKH DOJRULWKP RI 0DUHN6DGRZVND DQG 7DUQJ >@ WRRN b PRUH WLPH WKDQ RXUV RQ DYHUDJH RQ
PAGE 101
7DEOH 7UHHOLNH &RQQHFWHG &LUFXLWV 13 10 2XU >@ 13 1XPEHU RI SLQV LQ WKH FLUFXLW 10 1XPEHU RI PRGXOHV LQ WKH FLUFXLW 7DEOH 6L[:D\ &RQQHFWHG &LUFXLWV 13 10 2XU >@
PAGE 102
7DEOH 5DQGRP &LUFXLW 13 10 2XU >@ 7DEOH )DVWHU 7HUPLQDWLRQ IRU 1RQ5RXWDEOH &LUFXLWV 13 10 2XU >@ HLJKWZD\ FRQQHFWHG FLUFXLWV ZLWK PXOWLSLQ QHWV LW WRRN DSSUR[LPDWHO\ b PRUH WLPH 2XU DOJRULWKP KDV D GLVWLQFW DGYDQWDJH RYHU WKDW RI 0DUHN6DGRZVND DQG 7DUQJ >@ ZKHQ ZRUNLQJ ZLWK QRQURXWDEOH FLUFXLWV )RU WKH FDVH RI WZRSLQ QHWV WKH DOn JRULWKP RI 0DUHN6DGRZVND DQG 7DUQJ >@ PXVW FRPSOHWH LWV VWHS EHIRUH LW FDQ GHWHFW LQIHDVLELOLW\ DQG IRU WKH FDVH RI PXOWLSLQ QHWV WKH DOJRULWKP RI 0DUHN6DGRZVND DQG 7DUQJ >@ PXVW FRPSOHWH LWV VWHS DQG VWHS EHIRUH LW FDQ GHWHFW LQIHDVLELOLW\ ZKHUHDV RXU DOJRULWKP FDQ GHWHFW LQIHDVLELOLW\ DW DQ\ VWDJH +HQFH LW LV SRVVLEOH
PAGE 103
7DEOH (LJKWZD\ &RQQHFWHG &LUFXLWV ZLWK 0XOWLSLQ 1HWV 13 10 2XU >@ 7DEOH 7UHHOLNH &RQQHFWHG &LUFXLWV :LWK 0XOWLSLQ 1HWV 13 10 2XU >@ 7DEOH )DVWHU 7HUPLQDWLRQ IRU 1RQ5RXWDEOH &LUFXLWV :LWK 0XOWLSLQ 1HWV 13 10 2XU >@
PAGE 104
IRU RXU DOJRULWKP WR WDNH PXFK OHVV WLPH WKDQ WKDW RI 0DUHN6DGRZVND DQG 7DUQJ >@ ZKHQ ZRUNLQJ RQ VXFK FLUFXLWV 7KH UHVXOWV IURP WKUHH WHVW FLUFXLWV DUH JLYHQ LQ 7DEOHV DQG 7KH DOJRULWKP RI 0DUHN6DGRZVND DQG 7DUQJ >@ WRRN DSSUR[n LPDWHO\ WR WLPHV WKH WLPH WDNHQ E\ RXU DOJRULWKP IRU FLUFXLWV ZLWK WZR SLQ QHWV RQO\ DQG IRU FLUFXLWV ZLWK PXOWLSLQ QHWV LW WRRN WR WLPHV DV PXFK DV WLPH DV GLG RXU DOJRULWKP &RQFOXVLRQ :H KDYH GHYHORSHG D UHODWLYHO\ VLPSOH DQG IDVW OLQHDU WLPH DOJRULWKP WR WHVW WKH SODQDU WRSRORJLFDO URXWDELOLW\ RI D FROOHFWLRQ RI WZRSLQ QHWV 7KH DOJRULWKP LV IDVWHU WKDQ WKH OLQHDU WLPH DOJRULWKP RI 0DUHN6DGRZVND DQG 7DUQJ >@ :H KDYH DOVR VKRZQ WKH HTXLYDOHQFH RI WKH PXOWLSLQ QHW URXWDELOLW\ SUREOHP DQG WKH JUDSK SODQDULW\ SUREOHP 7KLV LPSOLHV WKDW ZH FDQQRW VROYH WKH PXOWLSLQ SUREOHP E\ D VLPSOHU DOJRULWKP WKDQ XVHG IRU JUDSK SODQDULW\ 2XU VLPSOH WZRSLQ DOJRULWKP FDQ EH H[WHQGHG WR ZRUN RQ URXWLQJ LQVWDQFHV WKDW UHPDLQ FRQQHFWHG IROORZLQJ WKH HOLPLQDWLRQ RI DOO PXOWLSLQ QHWV 7KHVH DUH WKH VDPH LQVWDQFHV WKDW FDQ EH VROYHG E\ WKH VSHFLDOL]HG DOJRULWKP RI 0DUHN6DGRZVND DQG 7DUQJ >@ :H DOVR VKRZ WKDW GHWHUPLQLQJ WKH PD[LPXP QXPEHU RI URXWDEOH QHWV LV 13KDUG ZKHQ VRPH RU DOO RI WKH QHWV KDYH PRUH WKDQ WZR SLQV :KHQ DOO QHWV DUH WZRSLQ QHWV WKLV FDQ EH GRQH LQ Qf WLPH
PAGE 105
&+$37(5 &21&/86,216 $1' )8785( :25. )RU D VWDFN RI HTXDOZLGWK ELWVOLFH DUFKLWHFWXUDO FRPSRQHQWV ZH GHYHORSHG D QRUPDOL]DWLRQ WHFKQLTXH ZKLFK DOORZHG XV WR REWDLQ OLQHDU WLPH DOJRULWKPV IRU WKH KHLJKWFRQVWUDLQHG DQG ZLGWKFRQVWUDLQHG OD\RXWV 7KHVH DOJRULWKPV DUH DW OHDVW DQ RUGHU RI PDJQLWXGH IDVWHU WKDQ WKH H[LVWLQJ DOJRULWKPV IRU WKH VDPH SUREOHP :H FRQVLGHUHG IROGLQJ IRU D OLVW RI VWDQGDUG FHOOV DQG FXVWRP FHOOV :H FRQVLGn HUHG YDULRXV RSWLPL]DWLRQ FRQVWUDLQWV ZKLFK UHVXOWHG LQ QLQH GLIIHUHQW SUREOHP IRUPXn ODWLRQV 2SWLPDO DOJRULWKPV ZHUH GHYHORSHG IRU DOO WKHVH IRUPXODWLRQV :H KDYH GHYHORSHG D IDVWHU DOJRULWKP IRU WKH WRSRORJLFDO URXWDELOLW\ SUREOHP ZLWK SLQ QHWV :H KDYH DOVR VKRZQ WKH HTXLYDOHQFH RI WKH PXOWLSLQ QHW WRSRORJLFDO URXWDELOLW\ SUREOHP DQG WKH JUDSK SODQDULW\ SUREOHP 7KLV PHDQV WKDW WKH PXOWLSLQ QHW WRSRORJLFDO URXWDELOLW\ SUREOHP FDQQRW EH VROYHG E\ D VLPSOHU DOJRULWKP WKDQ XVHG IRU WKH JUDSK SODQDULW\ SUREOHP :H VKRZ WKDW WKH SUREOHP RI GHWHUPLQLQJ WKH PD[LPXP QXPEHU RI WRSRORJLFDOO\ URXWDEOH QHWV LQ WKH SUHVHQFH RI PXOWLSLQ QHWV LV 13KDUG ([SHULPHQWDO UHVXOWV VKRZ WKDW WKH DV\PSWRWLF VXSHULRULW\ RI RXU DOJRULWKPV WUDQVODWH LQWR OHVVHU H[HFXWLRQ WLPH FRPSDUHG WR H[LVWLQJ DOJRULWKPV
PAGE 106
7KH DOJRULWKPV GHYHORSHG E\ 3DLN DQG 6DKQL >@ IRU D VWDFN RI ELWVOLFHG DUFKLn WHFWXUH FRPSRQHQWV ZKLFK DUH RI XQHTXDO ZLGWK KDYH KLJK WLPH FRPSOH[LW\ Qf WR Qff 7KLV ZLOO WUDQVODWH LQWR YHU\ ODUJH H[HFXWLRQ WLPH IRU HYHQ VPDOO LQVWDQFHV $OJRULWKPV ZKLFK KDYH OHVVHU DV\PSWRWLF WLPH FRPSOH[LW\ FRXOG EH GHYHORSHG (IIHFWLYH KHXULVWLFV FRXOG EH GHYHORSHG IRU WKH SUREOHP RI GHWHUPLQLQJ WKH PD[n LPXP QXPEHU RI URXWDEOH QHWV IRU WRSRORJLFDO URXWDELOLW\ RI LQVWDQFHV ZLWK PXOWLSLQ QHWV
PAGE 107
5()(5(1&(6 >@ %UH8(5 0 $ 0LQ&XW 3ODFHPHQW RXUQDO RI 'HVLJQ $XWRPDWLRQ DQG )DXOW 7ROHUDQW &RPSXWLQJ f >@ &R[ : $1' &$552// % 7KH 6WDQGDUG 7UDQVLVWRU $UUD\ 67$5f 3DUW ,, $XWRPDWLF &HOO 3ODFHPHQW 7HFKQLTXHV ,Q $&0,((( 'HVLJQ $XWRPDn WLRQ &RQIHUHQFH f SS >@ )5('(5,&.621 1 2SWLPDO $OJRULWKPV IRU 7UHH 3DUWLWLRQLQJ ,Q 3URn FHHGLQJV QG $&06,$0 6\PSRVLXP RQ 'LVFUHWH $OJRULWKPV 2WWDZD &DQDGD f SS >@ )5('(5,&.621 1 2SWLPDO 3DUDPHWULF 6HDUFK $OJRULWKPV LQ 7UHHV 7UHH 3DUWLWLRQLQJ 7HFK 5HS &675 3XUGXH 8QLYHUVLW\ :HVW /DID\HWWH ,1 >@ )5('(5,&.621 1 $1' 2+1621 % )LQGLQJ NWK 3DWKV DQG S &HQWHUV E\ *HQHUDWLQJ DQG 6HDUFKLQJ *RRG 'DWD 6WUXFWXUHV RXUQDO RI $OJRn ULWKPV f >@ )5('(5,&.621 1 $1' 2+1621 % *HQHUDOL]HG 6HOHFWLRQ DQG 5DQNLQJ 6RUWHG 0DWULFHV 6,$0 RXUQDO RI &RPSXWLQJ f >@ *$5(< 0 5 $1' 2+1621 6 &RPSXWHUV DQG ,QWUDFWDELOLW\ $ *XLGH WR WKH 7KHRU\ RI 13&RPSOHWHQHVV :+ )UHHPDQ DQG &RPSDQ\ 6DQ )UDQFLVFR >@ +HOOHU : 5 0LNKDLO : ) DQG 'RQDWK : ( 3UHGLFWLRQ RI :LULQJ 6SDFH 5HTXLUHPHQWV IRU /6, ,Q 3URFHHGLQJV RI WKH OIWK 'HVLJQ $XWRPDWLRQ &RQIHUHQFH f SS > +RSFURIW $1' 7DUMDQ 5 (IILFLHQW 3ODQDULW\ 7HVWLQJ RXUQDO RI $&0 f >@ +252:,7= ( $1' 6DKQL 6 )XQGDPHQWDOV RI &RPSXWHU $OJRULWKPV &RPn SXWHU 6FLHQFH 3UHVV 3RWRPDF 0' >@ +252:,7= ( $1' 6DKQL 6 )XQGDPHQWDOV RI 'DWD 6WUXFWXUHV LQ 3DVFDO WK HG &RPSXWHU 6FLHQFH 3UHVV 3RWRPDF 0'
PAGE 108
>@ +VX & *HQHUDO 5LYHU 5RXWLQJ $OJRULWKP ,Q $&0,((( 'HVLJQ $XWRPDWLRQ &RQIHUHQFH f SS >@ .DQJ 6 /LQHDU 2UGHULQJ DQG $SSOLFDWLRQ WR 3ODFHPHQW ,Q $&0,((( 'HVLJQ $XWRPDWLRQ &RQIHUHQFH f SS >@ /DUPRUH / *DMVNL $1' :X $ /D\RXW 3ODFHPHQW IRU 6OLFHG $Un FKLWHFWXUH ,((( 7UDQVDFWLRQV RQ &RPSXWHU$LGHG 'HVLJQ DQ f >@ /(,6(5621 & $1' 3LQWHU 5 2SWLPDO 3ODFHPHQW IRU 5LYHU 5RXWLQJ 6,$0 RXUQDO RQ &RPSXWLQJ f >@ /O0 $ (IILFLHQW $OJRULWKP IRU &$' LQ 9/6, 3K' WKHVLV 8QLYHUVLW\ RI 0LQQHVRWD 0LQQHDSROLV 01 >@ /O0 $ &+(1* 6 $1' 6DKQL 6 2SWLPDO RLQLQJ RI &RPSDFWHG &HOOV ,((( 7UDQVDFWLRQV RQ &RPSXWHU 0D\ f >@ 0 0DUHN6DGRZVND DQG 7 7DUQJ 6LQJOH/D\HU 5RXWLQJ IRU 9/6, $QDOn \VLV DQG $OJRULWKPV ,((( 7UDQVDFWLRQV RQ &RPSXWHU$LGHG 'HVLJQ &$' f >@ 0O5=$,$1 $ 5LYHU 5RXWLQJ LQ 9/6, RXUQDO RI &RPSXWHU DQG 6\VWHP 6FLn HQFHV f >@ 0O5=$,$1 $ $ 0LQLPXP 6HSDUDWLRQ $OJRULWKP IRU 5LYHU 5RXWLQJ ZLWK %RXQGHG 1XPEHU RI RJV ,Q ,QWHUQDWLRQDO &RQIHUHQFH LQ &RPSXWHU$LGHG 'Hn VLJQ f SS >@ 3$,. $1' 6$+1, 6 2SWLPDO )ROGLQJ RI %LW 6OLFHG 6WDFNV ,((( 7UDQVn DFWLRQV RQ &RPSXWHU$LGHG 'HVLJQ 1RY f >@ 3O17(5 5 2Q 5RXWLQJ 7ZR 3RLQW 1HWV $FURVV D &KDQQHO ,Q $&0,((( 'HVLJQ $XWRPDWLRQ &RQIHUHQFH f SS >@ 3O17(5 5 5LYHU5RXWLQJ 0HWKRGRORJ\ DQG $QDO\VLV ,Q 7KLUG &DOWHFK &RQn IHUHQFH RQ 9/6, 0DUFK f >@ 6O,(5:$1, 1 $OJRULWKPV IRU 9/6, 3K\VLFDO 'HVLJQ $XWRPDWLRQ VW HG .OXZHU $FDGHPLF %RVWRQ >@ 6KUDJRZLW] ( /HH DQG 6DKQL 6 3ODFHU5RXWHU IRU 6HDRI*DWHV 'HVLJQ 6W\OH 3URJUHVV LQ &RPSXWHU $LGHG 9/6, GHVLJQ $EOH[ 1RUZRRG 1f >@ 6KUDJRZLW] ( /LQ / DQG 6DKQL 6 0RGHOV DQG $OJRULWKPV )RU 6WUXFn WXUHG /D\RXW &RPSXWHU $LGHG 'HVLJQ f
PAGE 109
>@ 6,(*(/ $ $1' 'ROHY 7KH 6HSDUDWLRQ IRU *HQHUDO 6LQJOH /D\HU :LULQJ %DUULHUV ,Q 9/6, 6\VWHPV DQG &RPSXWDWLRQV f SS >@ 6832:,7 )LQGLQJ D 0D[LPXP 3ODQDU 6XEVHW RI D 6HW RI 1HWV LQ D &KDQQHO ,((( 7UDQVDFWLRQV RQ &RPSXWHU$LGHG 'HVLJQ &$' f >@ 78$1 7 $1' +DNLPL 6 5LYHU 5RXWLQJ ZLWK 6PDOO 1XPEHU RI RJV 6,$0 'LVFUHWH 0DWK f >@ 78$1 7 DQG 7HR 2Q 5LYHU 5RXWLQJ ZLWK 0LQLPXP 1XPEHU RI RJV ,((( 7UDQVDFWLRQV RQ &RPSXWHU$LGHG 'HVLJQ f >@ :X $ $1' '*DMVNL 3DUWLWLRQLQJ $OJRULWKPV IRU /D\RXW 6\QWKHVLV IURP 5HJLVWHU7UDQVIHU 1HWOLVWV ,((( 7UDQVDFWLRQV RQ &RPSXWHU$LGHG 'HVLJQ $ $SU f
PAGE 110
%,2*5$3+,&$/ 6.(7&+ 9HQNDWUDPDQDQ 7KDQYDQWUL ZDV EURXJKW XS LQ 0DGUDV ,QGLD +H FRPSOHWHG KLV XQGHUJUDGXDWH GHJUHH LQ SK\VLFV IURP 9LYHNDQDQGD &ROOHJH 8QLYHUVLW\ RI 0DGUDV +H REWDLQHG DQ 0( GHJUHH LQ FRPSXWHU VFLHQFH IURP WKH ,QGLDQ ,QVWLWXWH RI 6FLn HQFH %DQJDORUH ,QGLD +H VWDUWHG WR ZRUN WRZDUGV KLV 3K' IURP )DOO LQ WKH &RPSXWHU DQG ,QIRUPDWLRQ 6FLHQFH DQG (QJLQHHULQJ 'HSDUWPHQW DW WKH 8QLYHUVLW\ RI )ORULGD +LV UHVHDUFK LQWHUHVWV LQFOXGH &$' 9/6, DOJRULWKPV DQG SDUDOOHO FRPSXWLQJ +H ZLOO EH JUDGXDWLQJ LQ $XJXVW
PAGE 111
, FHUWLI\ WKDW KDYH UHDG WKLV VWXG\ DQG WKDW LQ P\ RSLQLRQ LW FRQIRUPV WR DFFHSWDEOH VWDQGDUGV RI VFKRODUO\ SUHVHQWDWLRQ DQG LV IXOO\ DGHTXDWH LQ VFRSH DQG TXDOLW\ DV D GLVVHUWDWLRQ IRU WKH GHJUHH RI 'RFWRU RI 3KLORVRSK\ Â‘$' DUW D M 6DKILUI&KDLUPDQ 3URIHVVRU RI &RPSXWHU DQG ,QIRUPDWLRQ 6FLHQFH DQG (QJLQHHULQJ FHUWLI\ WKDW KDYH UHDG WKLV VWXG\ DQG WKDW LQ P\ RSLQLRQ LW FRQIRUPV WR DFFHSWDEOH VWDQGDUGV RI VFKRODUO\ SUHVHQWDWLRQ DQG LV IXOO\ DGHTXDWH LQ VFRSH DQG TXDOLW\ DV D GLVVHUWDWLRQ IRU WKH GHJUHH RI 'RFWRU RI 3KLORVRSK\ %DED 9HPXUL $VVRFLDWH 3URIHVVRU RI &RPSXWHU DQG ,QIRUPDWLRQ 6FLHQFH DQG (QJLQHHULQJ FHUWLI\ WKDW KDYH UHDG WKLV VWXG\ DQG WKDW LQ P\ RSLQLRQ LW FRQIRUPV WR DFFHSWDEOH VWDQGDUGV RI VFKRODUO\ SUHVHQWDWLRQ DQG LV IXOO\ DGHTXDWH LQ VFRSH DQG TXDOLW\ DV D GLVVHUWDWLRQ IRU WKHGAJUHH TOA'TFWRU RI 3KLORVRSK\ 7LPRWK\ $VVLVWDQW 3URIHVVRU RI &RPSXWHU DQG ,QIRUPDWLRQ 6FLHQFH DQG (QJLQHHULQJ FHUWLI\ WKDW KDYH UHDG WKLV VWXG\ DQG WKDW LQ P\ RSLQLRQ LW FRQIRUPV WR DFFHSWDEOH VWDQGDUGV RI VFKRODUO\ SUHVHQWDWLRQ" DQG LV IXOO\ DGHTXDWH LQ VFRSH DQG TXDOLW\ DV D GLVVHUWDWLRQ IRU WKRAHJUAH RI 'RFWRU RI 3KLORVRSK\ /L0LU.IX $VVRFLDWH 3URIHVVRU RI &RPSXWHU DQG ,QIRUPDWLRQ 6FLHQFH DQG (QJLQHHULQJ
PAGE 112
, FHUWLI\ WKDW KDYH UHDG WKLV VWXG\ DQG WKDW LQ P\ RSLQLRQ LW FRQIRUPV WR DFFHSWDEOH VWDQGDUGV RI VFKRODUO\ SUHVHQWDWLRQ DQG LV IXOO\ DGHTXDWH LQ VFRSH DQG TXDOLW\ DV D GLVVHUWDWLRQ IRU WKH GHJUHH RI 'RFWRU RI 3KLORVRSK\ (OHFWULFDO DQG &RPSXWHU (QJLQHHULQJ 7KLV GLVVHUWDWLRQ ZDV VXEPLWWHG WR WKH *UDGXDWH )DFXOW\ RI WKH &ROOHJH RI (QJLQHHULQJ DQG WR WKH *UDGXDWH 6FKRRO DQG ZDV DFFHSWHG DV SDUWLDO IXOn ILOOPHQW RI WKH UHTXLUHPHQWV IRU WKH GHJUHH RI 'RFWRU RI 3KLORVRSK\ $XJXVW Ur U :LQIUHG 0 3KLOOLSV 'HDQ &ROOHJH RI (QJLQHHULQJ .DUHQ $ +ROEURRN 'HDQ *UDGXDWH 6FKRRO
PAGE 113
OG n 81,9(56,7< 2) )/25,'$

