# Series-parallel partial order

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 *P* and *Q*, two partially ordered sets. The series composition of *P* and *Q*, written *P*; *Q*,[7] *P* * *Q*,[2] or *P* ⧀ *Q*,[1]is the partially ordered set whose elements are the disjoint union of the elements of *P* and *Q*. In *P*; *Q*, two elements *x* and *y* that both belong to *P* or that both belong to *Q* have the same order relation that they do in *P* or *Q* respectively. However, for every pair *x*, *y* where *x* belongs to *P* and *y* belongs to *Q*, there is an additional order relation *x* ≤ *y* in the series composition. Series composition is an associative operation: one can write *P*; *Q*; *R* as the series composition of three orders, without ambiguity about how to combine them pairwise, because both of the parenthesizations (*P*; *Q*); *R* and *P*; (*Q*; *R*) describe the same partial order. However, it is not a commutative operation, because switching the roles of *P* and *Q* will produce a different partial order that reverses the order relations of pairs with one element in *P* and one in *Q*.[1]

The parallel composition of *P* and *Q*, written *P* || *Q*,[7] *P* + *Q*,[2] or *P* ⊕ *Q*,[1] is defined similarly, from the disjoint union of the elements in *P* and the elements in *Q*, with pairs of elements that both belong to *P* or both to *Q* having the same order as they do in *P* or *Q* respectively. In *P* || *Q*, a pair *x*, *y* is incomparable whenever *x* belongs to *P* and *y* belongs to *Q*. 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 *N* with the four elements *a*, *b*, *c*, and *d* and exactly the three order relations *a* ≤ *b* ≥ *c* ≤ *d* 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 *P* is said to be N-free if there does not exist a set of four elements in *P* such that the restriction of *P* to those elements is order-isomorphic to *N*. 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 *P* is the minimum size of a realizer of *P*, a set of linear extensions of *P* with the property that, for every two distinct elements *x* and *y* of *P*, *x* ≤ *y* in *P* if and only if *x* has an earlier position than *y* in every linear extension of the realizer. Series-parallel partial orders have order dimension at most two. If *P* and *Q* have realizers {*L*_{1}, *L*_{2}} and {*L*_{3}, *L*_{4}}, respectively, then {*L*_{1}*L*_{3}, *L*_{2}*L*_{4}} is a realizer of the series composition *P*; *Q*, and {*L*_{1}*L*_{3}, *L*_{4}*L*_{2}} is a realizer of the parallel composition *P* || *Q*.[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 *P* has order dimension two if and only if there exists a conjugate order *Q* on the same elements, with the property that any two distinct elements *x* and *y* 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 *P* on the same elements, but performing a series composition for each parallel composition in the decomposition of *P* 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 *x* to *y* whenever *x* and *y* are elements of the partial order with *x* ≤ *y*. 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 *x*, *y* with either *x* ≤ *y* or *y* ≤ *x*. 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 *n* elements may be represented in O(*n*) space with O(1) time to determine any comparison value.[2]

It is NP-complete to test, for two given series-parallel partial orders *P* and *Q*, whether *P* contains a restriction isomorphic to *Q*.[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 *L*(*P*) denotes the number of linear extensions of a partial order *P*, then *L*(*P*; *Q*) = *L*(*P*)*L*(*Q*) and

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

Mannila & Meek (2000) 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]

Amer et al. (1994) 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]

Choudhary et al. (1994) 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

- Bechet, Denis; De Groote, Philippe; Retoré, Christian (1997), "A complete axiomatisation for the inclusion of series-parallel partial orders",
*Rewriting Techniques and Applications*, Lecture Notes in Computer Science,**1232**, Springer-Verlag, pp. 230–240, doi:10.1007/3-540-62950-5_74. - Möhring, Rolf H. (1989), "Computationally tractable classes of ordered sets", in Rival, Ivan (ed.),
*Algorithms and Order: Proceedings of the NATO Advanced Study Institute on Algorithms and Order, Ottawa, Canada, May 31-June 13, 1987*, NATO Science Series C,**255**, Springer-Verlag, pp. 105–194, ISBN 978-0-7923-0007-6. - Valdes, Jacobo; Tarjan, Robert E.; Lawler, Eugene L. (1982), "The recognition of series parallel digraphs",
*SIAM Journal on Computing*,**11**(2): 298–313, doi:10.1137/0211023. - Jung, H. A. (1978), "On a class of posets and the corresponding comparability graphs",
*Journal of Combinatorial Theory, Series B*,**24**(2): 125–133, doi:10.1016/0095-8956(78)90013-8, MR 0491356. - Lawler, Eugene L. (1978), "Sequencing jobs to minimize total weighted completion time subject to precedence constraints",
*Annals of Discrete Mathematics*,**2**: 75–90, doi:10.1016/S0167-5060(08)70323-6, MR 0495156. - Mannila, Heikki; Meek, Christopher (2000), "Global partial orders from sequential data",
*Proc. 6th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD 2000)*, pp. 161–168, doi:10.1145/347090.347122. - Amer, Paul D.; Chassot, Christophe; Connolly, Thomas J.; Diaz, Michel; Conrad, Phillip (1994), "Partial-order transport service for multimedia and other applications",
*IEEE/ACM Transactions on Networking*,**2**(5): 440–456, doi:10.1109/90.336326. - Choudhary, A. N.; Narahari, B.; Nicol, D. M.; Simha, R. (1994), "Optimal processor assignment for a class of pipelined computations",
*IEEE Transactions on Parallel and Distributed Systems*,**5**(4): 439–445, doi:10.1109/71.273050. - Furnas, George W.; Zacks, Jeff (1994), "Multitrees: enriching and reusing hierarchical structure",
*Proc. SIGCHI conference on Human Factors in Computing Systems (CHI '94)*, pp. 330–336, doi:10.1145/191666.191778. - Ma, Tze-Heng; Spinrad, Jeremy (1991), "Transitive closure for restricted classes of partial orders",
*Order*,**8**(2): 175–183, doi:10.1007/BF00383402. - Brightwell, Graham R.; Winkler, Peter (1991), "Counting linear extensions",
*Order*,**8**(3): 225–242, doi:10.1007/BF00383444. - Booth, Kellogg S.; Lueker, George S. (1976), "Testing for the consecutive ones property, interval graphs, and graph planarity using PQ-tree algorithms",
*Journal of Computer and System Sciences*,**13**(3): 335–379, doi:10.1016/S0022-0000(76)80045-1.