Series-parallel partial order

From testwiki
Jump to navigation Jump to search
A series-parallel partial order, shown as a Hasse diagram.

In order-theoretic mathematics, a series-parallel partial order is a partially ordered set built up from smaller series-parallel partial orders by two simple composition operations.[1][2]

The series-parallel partial orders may be characterized as the N-free finite partial orders; they have order dimension at most two.[1][3] They include weak orders and the reachability relationship in directed trees and directed series–parallel graphs.[2][3] The comparability graphs of series-parallel partial orders are cographs.[2][4]

Series-parallel partial orders have been applied in job shop scheduling,[5] machine learning of event sequencing in time series data,[6] transmission sequencing of multimedia data,[7] and throughput maximization in dataflow programming.[8]

Series-parallel partial orders have also been called multitrees;[4] however, that name is ambiguous: multitrees also refer to partial orders with no four-element diamond suborder[9] and to other structures formed from multiple trees.

Definition

Consider Template:Mvar and Template:Mvar, two partially ordered sets. The series composition of Template:Mvar and Template:Mvar, written Template:Math,[7] Template:Math,[2] or Template:Math,[1]is the partially ordered set whose elements are the disjoint union of the elements of Template:Mvar and Template:Mvar. In Template:Math, two elements Template:Mvar and Template:Mvar that both belong to Template:Mvar or that both belong to Template:Mvar have the same order relation that they do in Template:Mvar or Template:Mvar respectively. However, for every pair Template:Mvar, Template:Mvar where Template:Mvar belongs to Template:Mvar and Template:Mvar belongs to Template:Mvar, there is an additional order relation Template:Math in the series composition. Series composition is an associative operation: one can write Template:Math as the series composition of three orders, without ambiguity about how to combine them pairwise, because both of the parenthesizations Template:Math and Template:Math describe the same partial order. However, it is not a commutative operation, because switching the roles of Template:Mvar and Template:Mvar will produce a different partial order that reverses the order relations of pairs with one element in Template:Mvar and one in Template:Mvar.[1]

The parallel composition of Template:Mvar and Template:Mvar, written Template:Math,[7] Template:Math,[2] or Template:Math,[1] is defined similarly, from the disjoint union of the elements in Template:Mvar and the elements in Template:Mvar, with pairs of elements that both belong to Template:Mvar or both to Template:Mvar having the same order as they do in Template:Mvar or Template:Mvar respectively. In Template:Math, a pair Template:Mvar, Template:Mvar is incomparable whenever Template:Mvar belongs to Template:Mvar and Template:Mvar belongs to Template:Mvar. Parallel composition is both commutative and associative.[1]

The class of series-parallel partial orders is the set of partial orders that can be built up from single-element partial orders using these two operations. Equivalently, it is the smallest set of partial orders that includes the single-element partial order and is closed under the series and parallel composition operations.[1][2]

A weak order is the series parallel partial order obtained from a sequence of composition operations in which all of the parallel compositions are performed first, and then the results of these compositions are combined using only series compositions.[2]

Forbidden suborder characterization

The partial order Template:Mvar with the four elements Template:Mvar, Template:Mvar, Template:Mvar, and Template:Mvar and exactly the three order relations Template:Math is an example of a fence or zigzag poset; its Hasse diagram has the shape of the capital letter "N". It is not series-parallel, because there is no way of splitting it into the series or parallel composition of two smaller partial orders. A partial order Template:Mvar is said to be N-free if there does not exist a set of four elements in Template:Mvar such that the restriction of Template:Mvar to those elements is order-isomorphic to Template:Mvar. The series-parallel partial orders are exactly the nonempty finite N-free partial orders.[1][2][3]

It follows immediately from this (although it can also be proven directly) that any nonempty restriction of a series-parallel partial order is itself a series-parallel partial order.[1]

Order dimension

The order dimension of a partial order Template:Mvar is the minimum size of a realizer of Template:Mvar, a set of linear extensions of Template:Mvar with the property that, for every two distinct elements Template:Mvar and Template:Mvar of Template:Mvar, Template:Math in Template:Mvar if and only if Template:Mvar has an earlier position than Template:Mvar in every linear extension of the realizer. Series-parallel partial orders have order dimension at most two. If Template:Mvar and Template:Mvar have realizers Template:Math and Template:Math respectively, then Template:Math is a realizer of the series composition Template:Math, and Template:Math is a realizer of the parallel composition Template:Math.[2][3] A partial order is series-parallel if and only if it has a realizer in which one of the two permutations is the identity and the other is a separable permutation.

It is known that a partial order Template:Mvar has order dimension two if and only if there exists a conjugate order Template:Mvar on the same elements, with the property that any two distinct elements Template:Mvar and Template:Mvar are comparable on exactly one of these two orders. In the case of series parallel partial orders, a conjugate order that is itself series parallel may be obtained by performing a sequence of composition operations in the same order as the ones defining Template:Mvar on the same elements, but performing a series composition for each parallel composition in the decomposition of Template:Mvar and vice versa. More strongly, although a partial order may have many different conjugates, every conjugate of a series parallel partial order must itself be series parallel.[2]

Connections to graph theory

Any partial order may be represented (usually in more than one way) by a directed acyclic graph in which there is a path from Template:Mvar to Template:Mvar whenever Template:Mvar and Template:Mvar are elements of the partial order with Template:Math. The graphs that represent series-parallel partial orders in this way have been called vertex series parallel graphs, and their transitive reductions (the graphs of the covering relations of the partial order) are called minimal vertex series parallel graphs.[3] Directed trees and (two-terminal) series parallel graphs are examples of minimal vertex series parallel graphs; therefore, series parallel partial orders may be used to represent reachability relations in directed trees and series parallel graphs.[2][3]

The comparability graph of a partial order is the undirected graph with a vertex for each element and an undirected edge for each pair of distinct elements Template:Mvar, Template:Mvar with either Template:Math or Template:Math. That is, it is formed from a minimal vertex series parallel graph by forgetting the orientation of each edge. The comparability graph of a series-parallel partial order is a cograph: the series and parallel composition operations of the partial order give rise to operations on the comparability graph that form the disjoint union of two subgraphs or that connect two subgraphs by all possible edges; these two operations are the basic operations from which cographs are defined. Conversely, every cograph is the comparability graph of a series-parallel partial order. If a partial order has a cograph as its comparability graph, then it must be a series-parallel partial order, because every other kind of partial order has an N suborder that would correspond to an induced four-vertex path in its comparability graph, and such paths are forbidden in cographs.[2][4]

Computational complexity

The forbidden suborder characterization of series-parallel partial orders can be used as a basis for an algorithm that tests whether a given binary relation is a series-parallel partial order, in an amount of time that is linear in the number of related pairs.[2][3] Alternatively, if a partial order is described as the reachability order of a directed acyclic graph, it is possible to test whether it is a series-parallel partial order, and if so compute its transitive closure, in time proportional to the number of vertices and edges in the transitive closure; it remains open whether the time to recognize series-parallel reachability orders can be improved to be linear in the size of the input graph.[10]

If a series-parallel partial order is represented as an expression tree describing the series and parallel composition operations that formed it, then the elements of the partial order may be represented by the leaves of the expression tree. A comparison between any two elements may be performed algorithmically by searching for the lowest common ancestor of the corresponding two leaves; if that ancestor is a parallel composition, the two elements are incomparable, and otherwise the order of the series composition operands determines the order of the elements. In this way, a series-parallel partial order on Template:Mvar elements may be represented in Template:Math space with Template:Math time to determine any comparison value.[2]

It is NP-complete to test, for two given series-parallel partial orders Template:Mvar and Template:Mvar, whether Template:Mvar contains a restriction isomorphic to Template:Mvar.[3]

Although the problem of counting the number of linear extensions of an arbitrary partial order is #P-complete,[11] it may be solved in polynomial time for series-parallel partial orders. Specifically, if Template:Math denotes the number of linear extensions of a partial order Template:Mvar, then Template:Math and

L(P||Q)=(|P|+|Q|)!|P|!|Q|!L(P)L(Q),

so the number of linear extensions may be calculated using an expression tree with the same form as the decomposition tree of the given series-parallel order.[2]

Applications

Template:Harvtxt use series-parallel partial orders as a model for the sequences of events in time series data. They describe machine learning algorithms for inferring models of this type, and demonstrate its effectiveness at inferring course prerequisites from student enrollment data and at modeling web browser usage patterns.[6]

Template:Harvtxt argue that series-parallel partial orders are a good fit for modeling the transmission sequencing requirements of multimedia presentations. They use the formula for computing the number of linear extensions of a series-parallel partial order as the basis for analyzing multimedia transmission algorithms.[7]

Template:Harvtxt use series-parallel partial orders to model the task dependencies in a dataflow model of massive data processing for computer vision. They show that, by using series-parallel orders for this problem, it is possible to efficiently construct an optimized schedule that assigns different tasks to different processors of a parallel computing system in order to optimize the throughput of the system.[8]

A class of orderings somewhat more general than series-parallel partial orders is provided by PQ trees, data structures that have been applied in algorithms for testing whether a graph is planar and recognizing interval graphs.[12] A P node of a PQ tree allows all possible orderings of its children, like a parallel composition of partial orders, while a Q node requires the children to occur in a fixed linear ordering, like a series composition of partial orders. However, unlike series-parallel partial orders, PQ trees allow the linear ordering of any Q node to be reversed.

See also

References

Template:Reflist

Template:Order theory