Using symmetry and evolutionary search to minimize sorting networks
In this paper we present a theory of anti-chains as data representations for sets in circumstances where sets of interest satisfy properties such as being upward-closed or convex relative to a partial ordering. Our goal is to provide an interface for supplying an implementation of the necessary primitives in a reusable manner and a theory that will facilitate algebraic reasoning about correctness. We present an algebra of anti-chains and illustrate its use in programming and reasoning about a machine learning algorithm. 1 I n t r o d u c t i o n A crude way to represent a set is to maintain a list of its elements. Given an ordering for set elements, this can be optimized by maintaining the elements of a set in a structure like a balanced tree. In special circumstances a set can be maintained more indirectly as a predicate that tests set membership. This has the advantage of greater flexibility (such as the ability to represent infinite sets of elements), but it may be so general that it is impossible to implement basic operations efficiently. In this paper we analyze the primitive operations for a representation that can compromise between these two approaches when the sets being represented are known to have certain order-theoretic closure properties. To begin the discussion with an illustrative example, suppose we must maintaiu sets of strings of digits, supporting operations like testing whether a particular string is in a set and binary operations like taking the union or intersection of two such sets. We can order digit strings by the prefix order (for example, 01 is a prefix of 012 and 013 but not of 001) and represent them as balanced trees of strings, but it may become costly to maintain large sets in this way. We could introduce a logic capable of expressing properties of strings and then use predicates to represent sets; the efficiency of this approach will depend on the kinds of predicates we expect to use and how expensive it will be to test them. * E m a i l a d d r e s s e s : g u n t e r ~ c i s . upenn, edu, t e o w h i n @ i s s , n u s . s g , d e v i k a ~ c s , r i c e . edu.