2 research outputs found

    Joint Size and Depth Optimization of Sorting Networks

    Full text link
    Sorting networks are oblivious sorting algorithms with many interesting theoretical properties and practical applications. One of the related classical challenges is the search of optimal networks respect to size (number of comparators) of depth (number of layers). However, up to our knowledge, the joint size-depth optimality of small sorting networks has not been addressed before. This paper presents size-depth optimality results for networks up to 1212 channels. Our results show that there are sorting networks for n≤9n\leq9 inputs that are optimal in both size and depth, but this is not the case for 1010 and 1212 channels. For n=10n=10 inputs, we were able to proof that optimal-depth optimal sorting networks with 77 layers require 3131 comparators while optimal-size networks with 2929 comparators need 88 layers. For n=11n=11 inputs we show that networks with 88 or 99 layers require at least 3535 comparators (the best known upper bound for the minimal size). And for networks with n=12n=12 inputs and 88 layers we need 4040 comparators, while for 99 layers the best known size is 3939

    SAT encodings for sorting networks, single-exception sorting networks and ϵ−\epsilon-halvers

    Full text link
    Sorting networks are oblivious sorting algorithms with many practical applications and rich theoretical properties. Propositional encodings of sorting networks are a key tool for proving concrete bounds on the minimum number of comparators or depth (number of parallel steps) of sorting networks. In this paper, we present new SAT encodings that reduce the number of variables and clauses of the sorting constraint of optimality problems. Moreover, the proposed SAT encodings can be applied to a broader class of problems, such as the search of optimal single-exception sorting networks and ϵ−\epsilon-halvers. We obtain optimality results for single-exception sorting networks on n≤10n \le 10 inputs.Comment: Software available at https://github.com/jarfo/sor
    corecore