Towards billion-bit optimization via a parallel estimation of distribution algorithm This paper presents a highly efficient, fully parallelized implementation of the compact genetic algorithm (cGA) to solve very large scale problems with millions to billions of variables. The paper presents principled results demonstrating the scalable solution of a difficult test function on instances over a billion variables using a parallel implementation of cGA. The problem addressed is a noisy, blind problem over a vector of binary decision variables. Noise is added equaling up to a tenth of the deterministic objective function variance of the problem, thereby making it difficult for simple hillclimbers to find the optimal solution. The compact GA, on the other hand, is able to find the optimum in the presence of noise quickly, reliably, and accurately, and the solution scalability follows known convergence theories. These results on noisy problem together with other results on problems involving varying modularity, hierarchy, and overlap foreshadow routine solution of billion-variable problems across the landscape of search problems. Since the mid-1980s, genetic algorithms (GAs) [13, 6] search procedures based on mechanics of natural selection and genetics-have been used to solve problems across the spectrum of human endeavor. Increasingly, GAs find answers to important scientific problems, but doubts remain about solution size, speed, and effectiveness despite efforts that demonstrate GA scalability in a principled manner [7] . GAs have often been criticized as being slow, suitable for optimizing problems with only a few variables, and that they do not scale to larger and more complex problems. Moreover, the push for scientific understanding formulates an array of challenging optimization problems with staggering number of decision variables. Despite these an other compelling needs, optimization today is generally limited to problems well under a million decision variables.. In this paper we show that the criticisms are somewhat unfounded and clearly demonstrate that GA scalability by presenting principled solutions to a representative, difficult problem over a billion variables. Specifically, we take the first step of designing a highly-efficient competent GA that can solve boundedly-difficult large scale problems with millions to billions of variables. Specifically, in this paper we develop a fully parallelized, highly-efficient compact genetic algorithm (cGA) [12, 1, 18] . The purpose of this paper is also to show that by utilizing a number of memory and computational efficiencies, we can design a GA that can potentially solve problems with millions to a billion binary variables. Moreover, we show that the as predicted cGA scales as Θ( log )-where is the number of binary variableson a class of additively-separable problems with and without additive noise, and local search methods fail to do so in the presence of even a modest amount of noise.. This paper is organized as follows. We provide a brief literature review on studies involving large-scale optimization problems in the next section. In section 3, we provide details of the GA implementation that incorporates efficient memory utilization, and a number of computational efficiencies. A brief description of the test problems and the key results are discussed in section 5. Finally we summarize and present key conclusions in section 6. This paper presents an highly-efficient, fully parallelized compact genetic algorithm for solving large-scale problems with millions to billions of variables. A number of memory and computational efficiencies, including vectorization using SIMD instructions are used to enable rapid solutions to very large-scale problems. The scalability of the parallel cGA is tested on a noisy OneMax problem with exogenous noise variance set up to a tenth of the deterministic variance. We show that using a modest 128-and 256-processors, cGA can solve problems with over 33 million variables to optimality and with a relaxed convergence, cGA can successfully solve problems with 1.1 billion variables. 18 receiving 50 trials, up to = 2 23 receiving at least 2 trials, and larger problems receiving one trial. In a set of fixed proportion runs the cGA is run until all probability values in the vector are greater than 0.501. Like the full convergence CGA result, the fixed proportion result scales as Θ( log ) as predicted theoretically, and this level of convergence strongly predicts accurate full convergence. As such, these results represent the first time any genetic algorithm has ever been run successfully at a problem size over a billion bits.. This effort is the first step towards developing a scalable genetic algorithm that can routinely solve boundedlydifficult problems. Existing theory confirmed by bounding experiment already tells us how to extend these results in which noise is the primary difficulty to those where modularity, overlap, or hierarchy come into play [26] and efforts are currently underway towards this goal. In this way, these results are a building block to practical and effective billion-variable optimization in the increasingly large, complex problems of science. As science pushes to the frontiers of the small, the large, the living, and the societal, the need to tackle extraordinarily large search and optimization problems will become increasingly acute. These results foretell a time when such problems can be tackled routinely, confidently, and well.

O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Extracting moving regions from spatial data We provide an algorithm that can construct a valid moving region from snapshots of a region in time. Our algorithm is robust in the sense that given valid input regions, the generated moving region will define a valid region at every instant over the given time period. Many disciplines involve the analysis of spatial data that has an associated temporal component. This temporal component may be a time-stamp of when data was collected, or may describe something more complex such as time frame when data is valid. Often, the spatial and temporal components of data are fundamentally related in the sense that a spatial object is moving or changing shape throughout a time period. Such data are typically referred to as spatiotemporal data or moving object data. Examples of spatiotemporal data include weather phenomena such as storm systems or hurricanes, migratory patterns of land or ocean animals, and regions representing rates of infection as a disease spreads. Effectively collecting, analyzing, and managing spatio-temporal data is vital to fields such as meteorology, biology, oceanography, and geography to name a few.. Despite the importance of spatio-temporal data, collecting it remains a challenging problem. Many sensor technologies exist and are readily available with the ability to capture spatial data and associate it with some temporal component. For example, radar, satellite imaging, and even video systems can be leveraged, but these systems have the common property that they effectively take snapshots of spatial data at a fixed point in time, and then associate a temporal value with each snapshot. A region at a specific point in time representing a hurricane, for instance, can be created from a satellite image; however, a representation of a hurricane that models its movement with infinite temporal resolution can more accurately model the continuous motion of the hurricane as compared to a series of temporally static snapshots. A continuously moving representation also allows for more precise analysis of the hurricane's path, trajectory, and interference with land masses. Therefore, given a series of snapshots of a spatial object over time, a need exists to be able to construct a continuously moving spatio-temporal object from the snapshots. Specifically in the case of spatial data consisting of regions, we denote this the region interpolation problem (RIP), since the movement of a region must be interpolated between snapshots. The RIP proves to be a difficult problem because the moving region that results from an interpolation must be constructed in such a way that at every time instant, the temporally static, spatial region described by the moving region must conform to the definition of spatial regions. If at some time instant within a moving region, the region at that instant violates the definition of a spatial region, then the entire moving region is invalid and type closure properties cannot be maintained across spatio-temporal operations. Type closure properties are vital in applications such as GIS and spatial databases where large amounts of data may be processed with the output of operations used as input to other operations.. The main contribution of this paper is an algorithm takes two regions representing snapshots of a moving region at two time instants, and computes a moving region across the time interval. Furthermore, the algorithm is correct in the sense that the result will describe a valid region at every time instant within the interval. The algorithm is robust in the sense that given any two valid input regions, it will always return a valid result. A second contribution is that the proposed algorithm will at most divide a time interval into three smaller time intervals, effectively providing an upper bound on the storage requirements of the algorithm's output. Finally, we are provide an example where existing approaches to solving the RIP fail due to assumptions about region interpolations that turn out to be false, and we show that our algorithm effectively handles such problematic cases. In this paper, we have provided a solution for the region interpolation problem for moving regions. Our solution is robust in that there are no special cases in which it fails, and it is efficient. In the cases where the interval boundary regions are convex, our algorithm has time complexity O(n). If non-convex regions are used, the algorithm runs in O(n lg n + (mn). 2 ) where n is the number of line segments and m is the number of concavities in the interval boundary regions. The n lg n component reflects the building time of an OBBTree and the (mn) 2 reflects the worst case behavior of finding intersecting concavities in which each concavity must be tested for intersection against all other concavities. In practice, the worst case behavior is extremely rare, and only occurs in cases where the bounding boxes of all delta triangles intersect, but no actual delta triangles intersect; a situation that OBBTrees specifically minimize. Furthermore, two concavities intersect if only a single pair of delta triangles intersect, so the algorithm can be cut short when an intersecting pair is found. m is also typically much smaller than n. We found through experiments that these factors result in extremely fast execution times. Spatio-temporal databases have been studied in the literature for some time [7, 5, 2, 3] . The most comprehensive solution is presented as a mathematical model defining mov-ing object data types, operations, and predicates in [2] , and a discrete model more suited to implementation in [3] . In [3] , a discrete representation of moving regions is called the slice representation. This representation essentially represents a moving region as a series of slices where each slice is a collection of moving line segments that describe the motion of the line segments defining a region's boundary over a time interval. This is similar in concept to our notion of interval regions (Section 3), however, slices are more restrictive. Our goal is to develop a general algorithm that can be easily applied to various models of moving regions, and so we choose a less strict model that can be easily adapted to a more strict definition of moving regions.. The closest work to our algorithm is presented in [6] , which attempts to provide a solution to the region interpolation problem. That solution is similar to ours in that it takes two simple regions (Section 3) as input, and not two regions in general. The main drawback to the algorithm in [6] is that it assumes that given any two simple region snapshots at times t1 and t2 as input, a single interpolation between those snapshots exists such that the interpolation describes a valid simple region at every time instant between t1 and t2. Section 4 provides an explicit example of input regions in which this assumption does not hold. Our algorithm provides a valid solution to the RIP even when such cases exist. Given two interval boundary regions and times corresponding to a time interval, the algorithm presented in this paper creates a bounded set of interval regions describing a moving region's motion across the time interval. In some situations, only a single interval region is required to represent a region's motion; however, certain configurations exist such that a single interval region will be invalid (i.e., there exists a time instant during the interval when the geometry defined by the interval region violates the definition of a simple region). Our algorithm detects such invalid configurations, and if none are found, the algorithm is complete. If an invalid configuration is found, then the interval region is split into at most three interval regions. We develop our algorithm in stages in which each stage addresses a more complex problem that must be solved.. Twisting: Given two convex simple regions at times t1 and t2, a solution to the RIP will be a set of moving segments that describe the motion of boundary line segments from the source region to the destination region. The set of moving segments essentially defines a mapping from segments in the source region to points in the destination region, and points in the source region to segments in the destination region describing their motion over the time interval. There are obviously many choices to construct this mapping, but a mapping must address two key issues. First, the resulting region must have a closed boundary throughout the interval; therefore, no gaps between the endpoints of adjacent moving segments must appear in a region. Second, moving segments cannot overlap, except along segment endpoints (i.e., delta triangle boundaries). If we consider the simple case of computing the solution to the RIP between two convex interval boundary regions, then delta triangles will only intersect if they form a twisting motion across an interval. For example, if the source and destination regions are identical squares, delta triangles could be defined to travel from an edge to a corner of a square on the opposite side. If all edges are defined in this way, then delta triangles will intersect, resulting in an invalid moving region. We solve both problems (eliminating gaps and avoiding intersecting delta triangles) for convex regions by creating moving segments through mapping segments to endpoints around source and destination regions in cyclic order. Twisting is avoided through the mapping of points in an interval boundary region to segments in the opposing region that are roughly the same distance around the boundary of the regions in cyclic order. We make the observation that as one traverses a convex region boundary in cyclic order, the angle as measured counter-clockwise from a vertical line extending down from the primary point of a segment and the segment itself either increases or stays the same as each successive segment is encountered. Therefore, this angle can be used as a measure of how far around a convex region a segment lies. For a segment s, we denote this angle the progress angle for s and identify it by the notation φs. In essence, the next segment used as the segment portion of a moving segment will be the next segment in cyclic order in either the source or destination region that. has not yet been used to create a moving segment and that has the smallest progress angle. The point from the opposing region used to complete the moving segment will be the secondary end point of the segment last used as the segment portion of a moving segment. The algorithm begins with the least segment in the source and destination regions, then repeating this process of creating moving segments until all segments are used to create moving segments (Figure 1a) . Non-Convex Regions: To extend our solution to nonconvex regions, we must add a mechanism to deal with concavities in regions. The use of a progress angle to measure relative distance around two regions does not directly extend to concavities. Furthermore, concavities can be arbitrarily complex. Because our goal is create a geometrically valid moving region in an efficient manner, we take the approach that all segments that form a concavity in a source region will be used to form moving segments with the same point in the destination region, and vice versa. Effectively, this implies that a concavity in a source region will always collapse into a single point in the destination region, and a concavity in the destination region will always expand from a single point in the source region (Figure 1b) . Because topological relationships are invariant under the operations of translation, rotation, and scaling, it follows that moving segments forming a concavity will never intersect using this approach since they are simply being translated and scaled to a single point in space. Therefore, an individual concavity in a source or destination region will not contain intersecting delta triangles, and will not violate the definition of a region at any time instant during an interval. Because all segments forming a concavity are dealt with as a group, the convex hull of a non-convex region is used to compute progress angles and prevent twisting. Because cyclic ordering is employed, we use Melkman's convex hull algorithm to achieve a convex hull in linear time [4] . Algorithm 1 provides the solution to RIP as discussed thus far. A detailed discussion of the algorithm must be omitted due to space constraints.. Intersecting Concavities: Algorithm 1 creates an interval region such that invalid configurations do not arise from intersections involving segments forming a single concavity, nor do they form from twisting configurations due to the use of progress angles on the convex hull of a region; however, the delta triangles forming two separate concavities may intersect. Recall that intersecting delta triangles translate to intersecting moving regions, which implies a self-intersecting region boundary and an invalid region configuration. Therefore, we must be able to detect and handle intersecting concavities. Because delta triangles can be treated as triangles in 3-dimensional space, a triangle-based surface interference algorithm can be used to detect intersecting concavities. We chose an OBBTree based interference algorithm [1] due to its O(n lg n) construction time its ability to create bounding boxes oriented to the geometries of objects they bound; thus greatly reducing bounding box overlap among objects that do not intersect. The only modification required to the algorithm is that it should not report delta triangles as overlapping if they share an endpoint. This modification comes from the observation that many situations exist in which delta triangles can share vertices, but two delta triangles that overlap within their interiors will never share a vertex due to the generation of moving segments in cyclic order, the use of progress angles to prevent twisting, and the fact that all segments forming a single concavity in a regions are mapped to the same point in the opposing region. We were able to add roughly ten lines of code to a freely available implementation of an OBBTree interference detection algorithm to achieve this behavior.. Once intersecting concavities are detected, they must be dealt with. Our approach is to discover offending concav-ities, and remove them. Two or more concavities from a source region may intersect if they form a configuration such that a point exists in one concavity that is completely surrounded by a second concavity. This configuration typically occurs when concavities form spirals that often resemble the shape of a snail shell, thus, we denote it the snail shell configuration (Figure 1c) . Because moving segments cannot change direction over an interval, the spirals in a snail shell cannot be unwound in single interval while preserving a valid geometry. Furthermore, unwinding such a configuration would require that an interval be split into an arbitrary number of smaller intervals since spirals can have an arbitrary number of turns. Therefore, our approach is to remove offending concavities in a single interval. An offending concavity in a source region is triangulated, and the triangles are collapsed towards an interior point over an interval. We denote this process evaporation, and its reverse (for offending concavities in a destination region), condensation. Because concavities are evaporated in place, all offending concavities can be evaporated (or condensed) in a single interval; therefore, a single interval between a source an destination region must be divided into at most three intervals, one for evaporation, one for condensation, and one to transition the post-evaporation region to the pre-condensation region (Figure 1e) . Note that if two concavities intersect from opposing regions, one must be chosen for removal in an evaporation or condensation stage. The creation of a moving region from a source region in a snail shell configuration to a destination region that is the convex hull of the source region cannot be achieved in a single interval using moving segments that do not change direction within an interval. This example violates the assumption required by the algorithm in [6] that only a single interval is required to create a moving region between arbitrary source and destination regions.

O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Creases

and

boundary

conditions

for

subdivision

curves

Citation

for

published

version

(APA):

Kosinka,

J.,

Sabin,

M.,

Dodgson,

N.

Creases

and

boundary

conditions

for

subdivision

curves.

Graphical

Models,

Copyright

Other

than

for

strictly

personal

use,

it

is

not

permitted

to

download

or

to

forward/distribute

the

text

or

part

of

it

without

the

consent

of

the

author(s)

and/or

copyright

holder(s),

unless

the

work

is

under

an

open

content

license

(like

Creative

Commons).Take-down

policy

If

you

believe

that

this

document

breaches

copyright

please

contact

us

providing

details,

and

we

will

remove

access

to

the

work

immediately

and

investigate

your

claim.

Our

goal

is

to

find

subdivision

rules

at

creases

in

arbitrary

degree

subdivision

for

piecewise

polynomial

curves,

but

without

introducing

new

control

points

e.g.

by

knot

insertion.

Crease

rules

are

well

understood

for

low

degree

(cubic

and

lower)

curves.

We

compare

three

main

approaches:

knot

insertion,

ghost

points,

and

modifying

subdivision

rules.

While

knot

insertion

and

ghost

points

work

for

arbitrary

degrees

for

B-splines,

these

methods

introduce

unnecessary

(ghost)

control

points.The

situation

is

not

so

simple

in

modifying

subdivision

rules.

Based

on

subdivision

and

subspace

selection

matrices,

a

novel

approach

to

finding

boundary

and

sharp

subdivision

rules

that

generalises

to

any

degree

is

presented.

Our

approach

leads

to

new

higher-degree

polynomial

subdivision

schemes

with

crease

control

without

introducing

new

control

points.

We

wish

to

have

arbitrary-degree

subdivision

surfaces

with

creases

and

boundary

conditions

that

are

as

robust

as

those

available

for

B-spline

surfaces

The

existing

methods

for

degree

do

not

generalise

to

higher

degrees.

We

have

analysed

the

problem

and

provide

a

general

solution,

with

specific

worked

examples

for

degrees

up

to

We

present

here

our

results

for

curves,

which

provide

the

necessary

precursor

to

the

more

challenging

surface

cases..

Sharp

creases

and

end-point

interpolation

(including

Bézier

end-conditions)

in

B-spline

curves

(and

by

extension

in

tensor-product

B-spline

surfaces)

are

typically

achieved

via

multiple

knots.

Indeed,

a

knot

of

multiplicity

m

reduces

the

continuity

of

a

degree

d

B-spline

to

C

dÀm

from

the

native

C

continuity

at

single

knots.

Thus,

to

create

a

crease,

a

knot

of

multiplicity

d

can

be

used.

To

achieve

Bézier

end-conditions,

knots

of

multiplicity

d

þ

are

included

at

the

start

and

end

of

knot

vectors..

Instead

of

using

multiple

knots

to

achieve

end-point

interpolation,

one

can

use

ghost

(also

known

as

phantom

or

virtual)

points.

Depending

on

degree,

several

ghost

points

are

pre-and

appended

to

the

control

polygon.

These

are

carefully

placed

(as

linear

combinations

of

existing

control

points)

so

that

the

resulting

curve

satisfies

given

end-conditions.

This

technique

yields

modified

basis

functions

formed

as

linear

combinations

of

B-splines..

A

popular

alternative

to

using

basis

functions

to

evaluate

spline

curves

and

surfaces

is

recursive

subdivision

Creases

and

boundary

interpolation

rules

can

still

be

obtained

via

multiple

knots

but

there

is

an

alternative

available:

smooth

subdivision

rules

are

modified

to

sharp

ones

This

has

the

advantage

over

multiple

knots

that

the

user

does

not

need

to

interact

with

the

knot

vector.

The

user

marks

control

vertices

of

a

curve

(edges

in

the

surface

case)

as

smooth

(default)

or

sharp.

This

leads

to

an

intuitive

modelling

interface

as

no

extra

control

points

are

introduced,

in

contrast

to

knot

insertion..

Motivated

by

these

observations

and

the

fact

that

sharp

rules

have

so

far

been

limited

to

low-degree

subdivision

we

investigate

a

more

general

setting

for

introducing

sharp

creases

and

boundary

interpolation

rules

in

higher-degree

spline

curves.

Our

results

then

extend

naturally

to

tensor-product

surfaces

and

potentially

to

higher-degree

subdivision

surfaces,

such

as

those

by

Stam

and

Cashman

The

problem

of

finding

crease

rules,

and

our

approach

to

solving

it,

comprise

our

main

contribution

(Section

We

present

case

studies

for

odd

degrees

(Section

and

the

more

challenging

even

degrees

(Section

demonstrated

on

examples

of

B-spline

subdivision

curves

with

creases.

We

show

that

relaxing

some

of

our

requirements

(Section

leads

to

interesting

trade-offs

between

the

simplicity

of

subdivision

rules

and

the

behaviour

of

subdivision

curves

at

creases

and

end-points.

Before

all

this,

we

present

our

notation

and

a

summary

of

the

necessary

underlying

B-spline

theory.

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O B O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O


Rank-1 modal logics are coalgebraic Coalgebras provide a unifying semantic framework for a wide variety of modal logics. It has previously been shown that the class of coalgebras for an endofunctor can always be axiomatised in rank 1. Here we establish the converse, i.e. every rank 1 modal logic has a sound and strongly complete coalgebraic semantics. This is achieved by constructing for a given modal logic a canonical coalgebraic semantics, consisting of a signature functor and interpretations of modal operators, which turns out to be final among all such structures. The canonical semantics may be seen as a coalgebraic reconstruction of neighbourhood semantics, broadly construed. A finitary restriction of the canonical semantics yields a canonical weakly complete semantics which moreover enjoys the Hennessy-Milner property.As a consequence, the machinery of coalgebraic modal logic, in particular generic decision procedures and upper complexity bounds, becomes applicable to arbitrary rank 1 modal logics, without regard to their semantic status; we thus obtain purely syntactic versions of such results. As an extended example, we apply our framework to recently defined deontic logics. In particular, our methods lead to the new result that these logics are strongly complete. In recent years, coalgebras have received a steadily growing amount of attention as general models of state-based systems [32] , encompassing such diverse systems as labelled transition systems, probabilistic systems, game frames, and neighbourhood frames [36] . On the logical side, modal logic has emerged as the adequate specification language for coalgebraically modelled systems. A variety of different frameworks have been proposed [24, 31, 16] . Here, we work with coalgebraic modal logic [27] , which allows for a high level of generality while retaining a close relationship to the established syntactic and semantic tradition of modal logic.. Reversing the viewpoint that modal logic is a suitable specification language for coalgebra, coalgebraic semantics captures, in a uniform way, the structural similarities of a large variety of different modal logics. In its most traditional form, modal logic comprises a unary operator 2, read as "necessarily", in addition to propositional connectives, and is interpreted over relational (Kripke) models. But there are many variations: probabilistic modal logic [21, 13] features operators that speak about the likelihood of events, with relational successors annotated with probabilities on the semantical side. The modalities of Pauly's coalition logic [29] formalise coalitional power in strategic games and provide the syntactic means to reason about so-called game frames that involve strategies of participating agents. Yet another example is conditional logic [5] that adds a binary non-monotonic conditional to propositional logic and is commonly interpreted over selection function models. In a broad sense, the semantics of all the above logics comprise a notion of state or world and operators that describe the dynamics of state transitions.. The purpose and main idea of a coalgebraic treatment of modal logics is to lift these similarities to a formal level with the goal of deriving meta-theorems that uniformly apply to many structurally different logics. We illustrate this viewpoint by re-visiting the above examples in more detail.. Kripke Frames. The traditional textbook semantics of the modal logic K and its extensions is usually presented in relational form: a Kripke model is a pair (W, R) where W is a set of worlds and R ⊆ W × W is an accessibility relation. Kripke frames are easily seen to be in 1-1 correspondence to powerset coalgebras, i.e. pairs (W, ρ) where ρ : W → P(W ) is the transition function that assigns the set of successors {w ∈ W | wRw } to each world w. In this example, ρ(w) is the unstructured set of successors of a single point, and as we will see shortly, the coalgebraic approach deploys its full power when structured sets of successors are considered.. In the coalgebraic setting, it is most appropriate to think of modal operators as specifying properties of (possibly structured) successor sets. For example, if φ is a modal formula with extension φ ⊆ W , then a world w satisfies 2φ if the successor set of w is contained in φ . In other words, w |= φ ⇐⇒ ρ(w) ∈ {B ∈ P(W ) | B ⊆ φ }.. Conceptually, this epitomises the interpretation of the modal operator as a predicate lifting, that is, an operation that transforms predicates on states to predicates on (for now unstructured) successor sets. As we shall see in the examples to follow, this re-formulation of modal semantics provides a common denominator for a broad class of structurally different modal logics.. Probabilistic Transition Systems. In its simplest form [21, 13] , probabilistic modal logic (PML) extends propositional logic with operators L p where p ∈ [0, 1] is a rational number. The intended reading of L p φ is 'φ holds with probability at least p in the next state'. PML is interpreted over probabilistic transition systems (W, P ) where W is a set of worlds and P = (P w ) w∈W is a family of probability distributions on W , indexed by the set of worlds. In the spirit of the coalgebraic re-formulation of Kripke frames above, we readily recognise probabilistic transition systems as coalgebras (W, ρ) where ρ : W → D(W ) assigns a probability distribution ρ(w) ∈ D(W ) over W to each world w. The main difference lies in the fact that collections of successors are now structured : moving from frames to probabilistic models entails a shift from successor sets to distributions. The classical interpretation of probabilistic formulas, i.e.. w |= L p φ ⇐⇒ P w ( φ ) ≥ p can now be re-phrased in terms of successor distributions:. i.e. a state w satisfies L p φ if its successor distribution assigns probability at least p to the event φ . Again, the quintessential nature of a probabilistic modal operator manifests itself as providing a passage from properties of states (subsets of W ) to properties of successor distributions.. Conditional Logic. The language of conditional logic [5] extends propositional logic with a binary connective that we write ⇒, using infix notation. The operator ⇒ represents a non-monotonic conditional, and the intended reading of φ ⇒ ψ is "ψ holds under the condition φ". Note that this operator is in general distinct from implication →. For example, the validity of φ ⇒ ψ does not imply that of φ ∧ φ ⇒ ψ. Conditional logic is usually interpreted in so-called (standard) conditional frames (or selection function frames), that is, tuples (W, f ) where W is a set of worlds and f : W ×P(W ) → P(W ) is a selection function that assigns a proposition f (w, A) ⊆ W to each world w and condition A ⊆ W . In coalgebraic parlance, we understand conditional frames as structures (W, ρ) where ρ : W → (P(W ) → P(W )) maps each world w ∈ W to a function ρ(w) : P(W ) → P(W ) from conditions to propositions, both formalised as subsets of W . That is, successor structures of worlds are now (selection) functions of type P(W ) → P(W ).. In a conditional frame (W, f ), the standard semantics of the conditional operator takes the form w |= φ ⇒ ψ ⇐⇒ f (w, φ ) ⊆ ψ .. Again, the semantics of the conditional operator can be understood as specifying a property of successor structures, i.e. selection functions: under the coalgebraic reading we have where φ and ψ are again the truth-sets of φ and ψ, respectively. We note that, as in the other examples above, the semantics of the conditional operator is embodied by an operation, in this case binary, that maps predicates on the set of worlds to predicates on the set of successor structures, in this case selection functions.. The above examples suggest that a great variety of structurally different modal logics can be studied in a uniform and more abstract setting. Models take the form of coalgebras, i.e. pairs (W, ρ : W → T (W )) where ρ assigns a successor structure ρ(w) ∈ T (W ) to every world w ∈ W . By varying the notion of successor structure, one captures Kripke frames (T (W ) consists of the subsets of W ), probabilistic transition systems (T (W ) are the probability distributions over W ) and conditional frames (where T (W ) are the selection functions over W ).. In all cases, the link to the semantics of modal languages is provided by the abstract notion of predicate liftings, i.e. operations P(W ) → P(T W ) that single out properties of successor structures in terms of predicates on the state set. This is the starting point of coalgebraic modal logic: the study of abstract properties of modal logics based on a coalgebraic formulation in terms of predicate liftings. Rather than dealing with modal languages and their semantics on a case-by-case basis, the goal is to find easy-to-check general coherence conditions between a modal logic and its semantics that guarantee properties like completeness or decidability. In other words, the theory abstracts from the particular definition of successor structures and liftings. Results on particular logics can then be obtained by checking these coherence conditions for a specific instance of the general theory. The meta-theory of coalgebraic modal logic in this sense has been expanding rapidly in recent years; prominent results include the Hennessy-Milner property [33] , bisimulation-somewhere-else [18] , and generic decidability and complexity criteria [34, 36] .. It has been shown in [34] that every coalgebraic modal logic, when interpreted over all coalgebras of a given type, can be axiomatized by formulas of rank 1, i.e. with nesting depth of modal operators uniformly equal to 1 (logics of arbitrary rank are obtained by restricting the relevant class of coalgebras); such axioms may be regarded as concerning precisely the single next transition step. Here, we establish the converse: given a modal logic L of rank 1, we construct a functor M L that provides a sound and strongly complete semantics for L; i.e. coalgebraic modal logic subsumes all rank-1 modal logics. The functor M L can be viewed as a generalization of the neighbourhood frame functor, so that in traditional terms, our results imply in particular that every rank-1 modal logic is strongly complete for the associated class of neighbourhood frames. The semantics over M L is moreover canonical in a precise categorical sense: it is final among all possible coalgebraic semantics of L, i.e. we obtain an adjunction between modal syntax and semantics. A finitary modification of M L provides a canonical finitely branching semantics, which necessarily (i.e. due to finite branching) fails to be strongly complete, but is still weakly complete and moreover, unlike M L itself, satisfies the Hennessy-Milner property, which states that logically indistinguishable states are behaviourally equivalent.. Besides rounding off the picture in a pleasant way, these results make the extensive generic machinery of coalgebraic modal logic applicable to arbitrary rank-1 modal logics, even when the latter are given purely syntactically or equipped with a semantics that fails to be, or has not yet been recognized as, coalgebraic. For instance, we obtain a purely syntactic version of the decidability criterion of [34] . As an extended example, we discuss applications of these results to recently defined variants of deontic logic [11] . In particular, our results immediately imply that these logics are strongly complete, while only weak completeness is proved in loc. cit.. The material is organised as follows. We recall the fundamental concepts of coalgebraic modal logic in Section 1. We then describe the construction of the canonical semantics and its finitely branching variant in Sections 2 and 3, and in Section 4 lay out how these constructions form part of an adjunction between modal syntax and coalgebraic semantics. Applications to decidability and complexity issues are discussed in Section 5, and the extended example is presented in Section 6. We have taken care to explain the required basic categorical terminology at first use, so that Sections 1, 5, 6, and most of Section 2 should be accessible also to readers without previous knowledge of category theory. Section 4 does assume a more extensive categorical background, but is not required for the understanding of the following sections. This work is an extended version of [38] . We have established that every modal logic L of rank 1 has a canonical coalgebraic semantics M L , for which L is sound and strongly complete. Moreover, L has a canonical finitely branching coalgebraic semantics M fin L , for which L is sound and weakly complete and has the Hennessy-Milner property. All finitely branching semantics for which L has the Hennessy-Milner property are obtained as substructures of M fin L . Interestingly, if the similarity type of L is finite, then M fin L is uniquely determined as a finitely branching semantics for which L is weakly complete and has the HennessyMilner property.. These results provide a converse to the previous insight that every coalgebraic modal logic can be axiomatized in rank 1 [34] . They have allowed us to formulate purely syntactic versions of semantics-based generic decidability and complexity criteria for coalgebraic modal logic [34] , including e.g. the result that every rank-1 logic with finitely many modal operators whose contraction closure is recursive is decidable. This result is related to a result by Lewis [23] , which applies to a slightly more general class of logics called non-iterative logics (where axioms still cannot nest modal operators, but may contain top-level propositional variables), but which makes the stronger assumption that the axiomatisation is finite. Extending our results to non-iterative logics is the subject of future work.. We have applied our framework to recently defined versions of deontic logic which accommodate deontic dilemmas [11] . In particular, we have obtained decidability and strong completeness for these logics as immediate consequences of our generic results, while the original work has rather involved proofs and moreover establishes only decidability and weak completeness. Application of the generic PSPACE upper bound [36] to these logics remains an open problem.. We emphasise that the restriction to rank 1 is not an inherent limitation of the coalgebraic approach -the fact that coalgebraic modal logics are of rank 1 is due to the interpretation of these logics over the whole class of coalgebras for the relevant functor (in analogy to the standard modal logic K), and logics outside rank 1 may be modelled by passing to suitable subclasses (covarieties) of coalgebras, in generalisation of e.g. the interpretation of K4 over transitive Kripke frames (i.e. P-coalgebras); general completeness and decidability results for such logics are the subject of ongoing [28] and future work. A further point of interest is to obtain completeness and decidability results for coalgebraic modal logics with iteration, i.e. the coalgebraic counterpart of CTL. Finally, results on generic strong completeness criteria for coalgebraic modal logics (other than canonical structures) are forthcoming [35] .

O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O B I O O O O B I O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Implicit enumeration of strongly connected components and an application to formal verification We have presented a complete planar clock routing system called ACTD, which is implemented by employing heuristic techniques. Our first algorithm, called CLE routing, is implemented to solve the overlapping of clock net routing and prevent the crossing in the clock net. The second algorithm, called POA routing, reconstructs the clock tree using heuristics, to avoid obstacles with the scheme of changing tapping points. We have validated our techniques experimentally using test circuits. Future work includes extending the CLE routing and POA routing approach to include well-balanced clock trees, since our current implementation constructs a planar clock routing in the presence of obstacles with allowing the path length skew. Extending our present results to the minimum skew goal presents an intriguing direction for future work. We expect that partitioning line adjustment based on the weight of load and tapping point adjustment for a given planar clock tree will help to minimize clock skew. REFERENCESAiguo Xie and Peter A. BeerelAbstract-This paper first presents a binary decision diagram-based implicit algorithm to compute all maximal strongly connected components (SCCs) of directed graphs. The algorithm iteratively applies reachability analysis and sequentially identifies SCCs. Experimental results suggest that the algorithm dramatically outperforms the only existing implicit method which must compute the transitive closure of the adjacency-matrix of the graphs. This paper then applies this SCC algorithm to solve the bad cycle detection problem encountered in formal verification. Experimental results show that our new bad cycle detection algorithm is typically significantly faster than the state-of-the-art [1], sometimes by more than a factor of ten. Decomposing a directed graph (digraph) into its (maximal) strongly connected components (SCCs) is a fundamental graph problem [2] and has many important applications in computer-aided design. Generally speaking, SCC decomposition often divides a digraph problem into subproblems, one for each SCC. The solution to the original problem can be constructed by combining the solutions to the subproblems, sometimes with the aid of the component graph (i.e., the structure of connections among SCCs).. Using an explicit data structure such as an adjacency-list or an adjacency-matrix [2] , the decomposition of a digraph G(V; E) (with V being the set of its nodes and E the set of its edges) can be done in linear time (i.e., O(jV j + jE j)) using a depth-first search [2] , [3] . However, in many real applications, the size of the digraph can be too large (e.g., with more than 10 20 nodes) for explicit methods to be practical. One promising alternative is to use an implicit representation of the graph, for example using binary decision diagrams (BDDs) [4] . Such implicit representations are often dramatically smaller than their explicit counterparts and facilitate graph algorithms on very large digraphs. An implicit BDD-based method to find all SCCs in the reachable state space of a finite state machine (FSM) is described in [5] . 1 . It first implicitly computes the transitive closure of the state transition relation of the machine, and then computes all SCCs simultaneously. 2 We call this method TC-based. In practice, however, despite the advantages of the implicit data structures, computing the transitive closure has been shown to be very computationally expensive in both CPU time and memory. This paper proposes an alternative implicit approach that is motivated by related algorithms that identify only the terminal SCCs, i.e., Manuscript received January 28, 2000; revised May 5, 2000 . This work is supported in part by the National Science Foundation (NSF) under CAREER Award MIP-9502386 and Award CCR-9812164, and in part by Semiconductor Research Corporation (SRC) under Grant 98-DJ-486. This paper was recommended by Associate Editor E. Cerny.. A. Xie is with Cadence Design Systems, Inc., San Jose, CA. 95134 USA. P. A. Beerel is with the Electrical Engineering-Systems Department, University of Southern California, Los Angeles, CA 90089-2562 USA (e-mail: pabeerel@usc.edu).. Publisher Item Identifier S 0278-0070(00)09153-3.. those from which no other SCCs can be reached [7] - [9] . These algorithms, identify all terminal SCCs sequentially by iteratively applying reachability analysis [7] - [9] , rather than extracting the terminal SCCs from the set of all SCCs found using the above TC-based method. Because implicit reachability analysis is much less computationally expensive than implicitly computing the transitive closure and FSMs often have a limited number of terminal SCCs, these algorithms have been shown to be much more efficient than the TC-based method in finding terminal SCCs. In particular, this paper explores whether such a BDD-based reachability analysis approach can be extended to sequentially find all SCCs (not just the terminal SCCs) of a digraph. This paper answers this question in the affirmative by presenting an algorithm that recursively partitions the digraph into subgraphs using reachability analysis and reduces the SCC identification problem to individual subgraphs that are sequentially analyzed. Experiments show that the algorithm is dramatically faster and solves much larger problems than the TC-based method, especially when the graph has a small number of SCCs. In contrast, it should be understood that this sequential approach will not work well for digraphs containing numerous, very small SCCs. In fact, for such graphs, explicit methods based on depth-first search may be more efficient.. This paper also explores the application of our new SCC algorithm to the bad cycle detection problem, encountered in many formal verification problems, stated as follows [10] , [1] . Given a set of state sets, called cycle sets, determine if there is any reachable cycle of states that is not contained in at least one cycle set. Such a cycle is called a bad cycle because it reflects a cyclic behavior that is unexpected and/or unwanted. The current implicit state-of-the-art algorithm to solve this problem is by Hardin et al. [1] . This method iteratively refines the set of bad states using over approximations of SCCs. In contrast, we propose to first use our new algorithm to find all SCCs exactly and then verify whether each SCC is contained in at least one cycle set. In particular, there exists a bad cycle if and only if there exists an SCC that is not contained in at least one cycle set. The key intuition behind this fact is that the SCC itself forms a (possibly nonsimple) cycle that is not covered by any cycle set. We present experimental results on VIS benchmark examples that indicate our algorithm is generally much faster than the algorithm in [1] .. The remainder of this paper is organized as follows. Section II reviews implicit representation of digraphs using BDDs, and summarizes the TC-based method. Section III details our reachability-analysis (RA)-based method. The performance of the two methods are compared in Section IV. Section V describes its application to the bad cycle detection problem and Section VI concludes the paper. Notice that based on our definition of a path, a node may not be in any SCC, which we refer to as a non-SCC node. All other nodes are SCC nodes. This definition is convenient since in most applications we are aware of these non-SCC nodes are not of interest. However, note that all our definitions and proposed algorithms can be easily altered to accommodate the more traditional definition. Computing SCCs of a directed graph is a generic graph problem. For this purpose, we have proposed an implicit algorithm using BDDs. The method iteratively applies reachability analysis and computes SCCs sequentially. It has been used to compute the SCCs in the reachable state space of a set of FSMs. Compared with an existing symbolic method which requires the transitive closure of the adjacency-matrix of the graph, our method is shown to be much faster, requires much less memory, and consequently solves much larger problems.. We applied our algorithm to the bad-cycle-detection problem [10] , [1] . Our experimental results on a number of VIS benchmarks indicate that our approach is significantly faster than the state-of-the-art described in [1] .. Finally, we observe that when there are excessive SCCs, our approach may not complete in a reasonable amount of time. Consequently, as future work, it might be interesting to explore a hybrid approach between our RA-based method and the TC-based method, which may simultaneously find multiple SCCs of relatively small size without computing the transitive closure of the entire graph. SCC identification. They would also like to acknowledge the anonymous reviewers of earlier versions of this manuscript for providing many useful suggestions for improvement.

O O O B I I O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O B I O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O


Comparing spatial hypertext collections This paper proposes an approach to comparison of spatial hypertext collections which avoids becoming entangled in complexities of version management and merging. We also propose and illustrate principles for presenting comparisons of spatial hypertext without losing important implicit information.We argue that multiple view options, distinct areas for different collections, and dependency lists are all necessary if comparison is to retain the kinds of meaning fundamentally important to spatial hypertext. The problem of hypertext comparison, an immediately-obvious component of any multi-user or version-managed system, is nonetheless still poorly understood. This is especially the case for spatial hypertext. To address this, we provide a simple approach to calculating and presenting spatial hypertext comparisons, explaining a key component to larger problems within spatial hypertext version management.. Since spatial hypertext implies meaning in the visual arrangement of information, 1 a versioning system for spatial hypertext must account for these visual features. Meaningful implications could be encoded in shapes, colours, borders, lines, arrows, regions of visual space, proximity of visual elements, and labels affixed to Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. any of the above. Furthermore, spatial hypertext systems sometimes present information using multiple views. Each individual view could present important information which may not be presented by other views.. Managing versions of spatial hypertext therefore requires a special attention to visual information in ways not discussed in prior scholarship. Previous approaches have modeled the histories of objects, text, transclusions, and links, but not visual information.. If visualizations appear at all in those approaches, they are tools for comparing abstract models rather than things which themselves are important to compare between versions.. Our attention on visual features overlaps with related work on the version management of UML diagrams, CAD documents, and other forms of visual modeling. Even in these areas however, computer-generated visualizations are favored over approaches that preserve visual information. Our approach to comparing visual differences may therefore add to those fields as well.. Since hypertext scholarship tends to focus on complex versioning models, solutions can seem intractable. Indeed, tasks such as comparing transclusion versions through time, or managing distributed version histories require nontrivial solutions. It might therefore seem that spatial hypertext, which adds complexity to the user interface, should require yet more complex version management.. Our approach to comparison simplifies the larger task of version management. Here, we propose an approach to computing and presenting differences between two collections 2 of spatial hypertext in a clear and useful way. By focusing on this single component, we identify and satisfy key requirements of spatial hypertext version management while clarifying some of the complexities associated with hypertext versioning in general. Comparison is an important but hitherto unexamined part of hypertext versioning and collaboration. Especially in spatial hypertext, whose uses tend naturally toward collaboration, comparison and merging are not well understood. The problems seem complex due to the complexity of different versioning approaches. Furthermore, the display of multiple versions, user contributions, and merges can distort important features of the spatial hypertext collection.. By producing a simple, general approach to comparison, we have been able to illustrate necessary principles for handling the challenges unique to comparing spatial hypertext. Multiple view options, distinct areas for different collections, and dependency lists are all necessary if comparison is to retain the kinds of meaning fundamentally important to spatial hypertext.

O B I O O O O O O O B O B I O O O O O O O O B I O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O B I O O O O B O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O B I O O O O O O O O O B I B I O B I O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O B I O O O B O O O O O B I O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O B I B I O O O O O O O O O O O O B O O O O O O O O O O O B O O B I O O O O O B B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O B O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O B O O O O O O O O O O B I


Markov Chain Monte Carlo Estimation of Normal Ogive IRT Models in MATLAB Modeling the interaction between persons and items at the item level for binary response data, item response theory (IRT) models have been found useful in a wide variety of applications in various fields. This paper provides the requisite information and description of software that implements the Gibbs sampling procedures for the one-, two-and three-parameter normal ogive models. The software developed is written in the MATLAB package IRTuno. The package is flexible enough to allow a user the choice to simulate binary response data, set the number of total or burn-in iterations, specify starting values or prior distributions for model parameters, check convergence of the Markov chain, and obtain Bayesian fit statistics. Illustrative examples are provided to demonstrate and validate the use of the software package. The m-file v25i08.m is also provided as a guide for the user of the MCMC algorithms with the three dichotomous IRT models. Item response theory (IRT) provides a collection of models that describe how items and persons interact to yield probabilistic correct/incorrect responses. The influence of items and persons on the responses is modeled by distinct sets of parameters so that the probability of a correct response to an item is a function of the person's latent trait, θ i , and the item's characteristics, ξ j , i.e., P (y = correct) = f (θ i , ξ j ).. The model assumes one θ i parameter for each person and is commonly referred to as the unidimensional model, signifying that each test item measures some facet of the unified latent trait. Much research has been conducted on the development and application of such IRT models in educational and psychological measurement (e.g., Bock and Aitkin 1981; Mislevy 1985; Patz and Junker 1999b; Tsutakawa and Lin 1986) .. Studies in other fields have also utilized them or similar models in a wide variety of applications (e.g., Bafumi, Gelman, Park, and Kaplan 2005; Bezruckzo 2005; Chang and Reeve 2005; Feske, Kirisci, Tarter, and Plkonis 2007; Fienberg, Johnson, and Junker 1999; Imbens 2000; Reiser 1989; Sinharay and Stern 2002) .. Simultaneous estimation of both item and person parameters in IRT models results in statistical complexities in the estimation task, as consistent estimates are not available. This problem has made estimation procedure a primary focus of psychometric research over decades (Birnbaum 1969; Bock and Aitkin 1981; Molenaar 1995) . Recent attention is focused on Markov chain Monte Carlo (MCMC, see e.g., Chib and Greenberg 1995) simulation techniques, which have been influential in modern Bayesian analyses where they are used to summarize the posterior distributions that arise in the context of the Bayesian prior-posterior framework (Carlin and Louis 2000; Chib and Greenberg 1995; Gelfand and Smith 1990; Gelman, Carlin, Stern, and Rubin 2004; Tanner and Wong 1987) . MCMC methods have proved useful in practically all aspects of Bayesian inference, such as parameter estimation and model comparisons. A key reason for the widespread interest in them is that they are extremely general and flexible and hence can be used to sample univariate and multivariate distributions when other methods (e.g., marginal maximum likelihood) either fail or are difficult to implement. In addition, MCMC allows one to model the dependencies among parameters and sources of uncertainty (Tsutakawa and Johnson 1990; Tsutakawa and Soltys 1988) . Albert (1992) -see also Baker (1998) -was the first to apply an MCMC algorithm, known as Gibbs sampling (Chib and Greenberg 1995; Gelfand and Smith 1990; Geman and Geman 1984) , to the two-parameter normal ogive (2PNO, Lord and Novick 1968) IRT model using the data augmentation idea of Tanner and Wong (1987) . Johnson and Albert (1999) further generalized the approach to the three-parameter normal ogive (2PNO, Lord 1980) IRT model. With no prior information concerning the item parameters, noninformative priors were adopted in their implementation so that inference was based solely on the data. However, in some applications, informative priors are more preferred than noninformative priors. This is especially the case with the 3PNO model, where improper noninformative priors are to be avoided given the reason described later in this paper. Moreover, when comparing several candidate models, Bayes factors are commonly adopted in the Bayesian framework, but they are not defined with noninformative priors (Gelman et al. 2004) . Studies have also shown that by incorporating prior information about item parameters, model parameters can be estimated more accurately with smaller sample sizes (Mislevy 1986; Swaminathan and Gifford 1983 , 1985 , 1986 .. In view of the above, the objective of this paper is to provide a MATLAB (The MathWorks, Inc. 2007) package that implements Gibbs sampling procedures for the one-, two-, and threeparameter normal ogive IRT models with the option of specifying noninformative or informative priors for item parameters. Section 2 reviews the three unidimensional models. Section 3 briefly describes the MCMC algorithms which are implemented in the package IRTuno. In Section 4, a brief illustration is given of a Bayesian model selection technique for testing the fit of the model. The package IRTuno is introduced in Section 5, where a description is given of common input and output variables. In Section 6, illustrative examples are provided to demonstrate the use of the source code. Finally, a few summary remarks are given in Section 7.. It has to be noted that more complicated MCMC procedures have to be adopted for the logistic form of IRT models. For example, Patz and Junker (1999a,b) adopted the Metropolis-Hastings within Gibbs (Chib and Greenberg 1995) for the two-parameter logistic (2PL) and the threeparameter logistic (3PL) models. As Gibbs sampling is relatively easier to implement, and the logistic and normal ogive forms of the IRT model are essentially indistinguishable in model fit or parameter estimates given proper scaling (Birnbaum 1968; Embretson and Reise 2000) , the MCMC procedures for logistic models are not considered in this paper. With functions for generating dichotomous response data and implementing the Gibbs sampler for a user-specified unidimensional IRT model, IRTuno allows the user the choice to set the numbers of total and burn-in samples, specify starting values and prior distributions for model parameters, check convergence of the Markov chain, as well as obtain Bayesian fit statistics. The package leaves it to the user to choose between noninformative and informative priors for the item parameters in the 1PNO and 2PNO models. In addition, the user can choose to set the location and scale parameters for the prior normal distributions of θ i , α j and β j , or the two parameters in the Beta prior for γ j to reflect different prior beliefs on their distributions. For example, if there is a stronger prior opinion that the item difficulties should be centered around 0, a smaller σ 2 β can be specified in the gsIRTuno function such that gprior=[0,0.5]. It is noted that during an implementation of the Gibbs sampler, if a Markov chain does not converge within a run length of certain iterations, additional iterations can be obtained by invoking the gsIRTuno function with starting values th0 and item0 set to be their respective posterior samples drawn on the last iteration of the Markov chain. This is demonstrated in the example of assessing parameter recovery for the 3PNO model in v25i08.m.. In the CBASE example, one may note the small difference between the two DIC estimates for the 2PNO and 3PNO models from Table 5 . Given the complexity of the 3PNO model, it is, however, not clear if this small difference makes a practical significance. Consequently, one may also want to consider Bayes factors, which provide more reliable and powerful results for model comparisons in the Bayesian framework. However, they are difficult to calculate due to the difficulty in exact analytic evaluation of the marginal density of the data (Kass and Raftery 1995) and hence are not considered in the paper. In addition, this paper adopts the Gelman-Rubin R statistic for assessing convergence. Its multivariate extension, the BrooksGelman multivariate potential scale reduction factor (Brooks and Gelman 1998) , may be considered as well.

O O O O O O O O O O O B O O O O O O O O O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O B I I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O O B I O O O O O O O O O O O O O O O O O O O O O O O O