Efficient array partitioning

Sanjeev Khanna, Shanmugavelayutham Muthukrishnan, Steven Skiena

    Research output: Chapter in Book/Report/Conference proceedingConference contribution

    Abstract

    We consider the problem of partitioning an array of n items into p intervals so that the maximum weight of the intervals is minimized. The currently best known bound for this problem is 0(n+p1+ε) [HNC92] for any fixed ε< 1. In this paper, we present an algorithm that runs in time O(n log n); this is the fastest known algorithm for arbitrary p. We consider the natural generalization of this partitioning to two dimensions, where an nxn array of items is to be partitioned into p2blocks by partitioning the rows and columns into p intervals each and considering the blocks induced by this partition. The problem is to find that partition which minimizes the maximum weight among the resulting blocks. This problem is known to be NP-hard [GM96]. Independently, Charikar et, al. have given a simple proof that shows that the problem is in fact NP-hard to approximate within a factor of two. Here we provide a polynomial time algorithm that determines a solution at most O(1) times the optimum; the previously best approximation ratio was O(√p) [HM96], Both the results above are proved for the case when the weight of an interval or block is the sum of the elements in it. These problems arise in load balancing for parallel machines and data partitioning in parallel languages. Applications in motion estimation by block matching in video and image compression give rise to the dual problem, that of minimizing the number of dividers p so that the maximum weight of a block is at most S. We give an O(log n) approximation algorithm for this problem. All our results for two dimensional array partitioning extend to any higher fixed dimension.

    Original languageEnglish (US)
    Title of host publicationAutomata, Languages and Programming - 24th International Colloquium, ICALP 1997, Proceedings
    EditorsPierpaolo Degano, Roberto Gorrieri, Alberto Marchetti-Spaccamela
    PublisherSpringer-Verlag
    Pages616-626
    Number of pages11
    ISBN (Print)3540631658, 9783540631651
    StatePublished - Jan 1 1997
    Event24th International Colloquium on Automata, Languages and Programming, ICALP 1997 - Bologna, Italy
    Duration: Jul 7 1997Jul 11 1997

    Publication series

    NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
    Volume1256
    ISSN (Print)0302-9743
    ISSN (Electronic)1611-3349

    Conference

    Conference24th International Colloquium on Automata, Languages and Programming, ICALP 1997
    CountryItaly
    CityBologna
    Period7/7/977/11/97

    Fingerprint

    Partitioning
    Image compression
    Approximation algorithms
    Motion estimation
    Interval
    Resource allocation
    Polynomials
    NP-complete problem
    Partition
    Data Partitioning
    Block Matching
    Video Compression
    Parallel Machines
    Image Compression
    Motion Estimation
    Dual Problem
    Load Balancing
    Best Approximation
    Polynomial-time Algorithm
    Fast Algorithm

    ASJC Scopus subject areas

    • Theoretical Computer Science
    • Computer Science(all)

    Cite this

    Khanna, S., Muthukrishnan, S., & Skiena, S. (1997). Efficient array partitioning. In P. Degano, R. Gorrieri, & A. Marchetti-Spaccamela (Eds.), Automata, Languages and Programming - 24th International Colloquium, ICALP 1997, Proceedings (pp. 616-626). (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Vol. 1256). Springer-Verlag.

    Efficient array partitioning. / Khanna, Sanjeev; Muthukrishnan, Shanmugavelayutham; Skiena, Steven.

    Automata, Languages and Programming - 24th International Colloquium, ICALP 1997, Proceedings. ed. / Pierpaolo Degano; Roberto Gorrieri; Alberto Marchetti-Spaccamela. Springer-Verlag, 1997. p. 616-626 (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Vol. 1256).

    Research output: Chapter in Book/Report/Conference proceedingConference contribution

    Khanna, S, Muthukrishnan, S & Skiena, S 1997, Efficient array partitioning. in P Degano, R Gorrieri & A Marchetti-Spaccamela (eds), Automata, Languages and Programming - 24th International Colloquium, ICALP 1997, Proceedings. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), vol. 1256, Springer-Verlag, pp. 616-626, 24th International Colloquium on Automata, Languages and Programming, ICALP 1997, Bologna, Italy, 7/7/97.
    Khanna S, Muthukrishnan S, Skiena S. Efficient array partitioning. In Degano P, Gorrieri R, Marchetti-Spaccamela A, editors, Automata, Languages and Programming - 24th International Colloquium, ICALP 1997, Proceedings. Springer-Verlag. 1997. p. 616-626. (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)).
    Khanna, Sanjeev ; Muthukrishnan, Shanmugavelayutham ; Skiena, Steven. / Efficient array partitioning. Automata, Languages and Programming - 24th International Colloquium, ICALP 1997, Proceedings. editor / Pierpaolo Degano ; Roberto Gorrieri ; Alberto Marchetti-Spaccamela. Springer-Verlag, 1997. pp. 616-626 (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)).
    @inproceedings{3101fac486f24a7894decb9567cb6037,
    title = "Efficient array partitioning",
    abstract = "We consider the problem of partitioning an array of n items into p intervals so that the maximum weight of the intervals is minimized. The currently best known bound for this problem is 0(n+p1+ε) [HNC92] for any fixed ε< 1. In this paper, we present an algorithm that runs in time O(n log n); this is the fastest known algorithm for arbitrary p. We consider the natural generalization of this partitioning to two dimensions, where an nxn array of items is to be partitioned into p2blocks by partitioning the rows and columns into p intervals each and considering the blocks induced by this partition. The problem is to find that partition which minimizes the maximum weight among the resulting blocks. This problem is known to be NP-hard [GM96]. Independently, Charikar et, al. have given a simple proof that shows that the problem is in fact NP-hard to approximate within a factor of two. Here we provide a polynomial time algorithm that determines a solution at most O(1) times the optimum; the previously best approximation ratio was O(√p) [HM96], Both the results above are proved for the case when the weight of an interval or block is the sum of the elements in it. These problems arise in load balancing for parallel machines and data partitioning in parallel languages. Applications in motion estimation by block matching in video and image compression give rise to the dual problem, that of minimizing the number of dividers p so that the maximum weight of a block is at most S. We give an O(log n) approximation algorithm for this problem. All our results for two dimensional array partitioning extend to any higher fixed dimension.",
    author = "Sanjeev Khanna and Shanmugavelayutham Muthukrishnan and Steven Skiena",
    year = "1997",
    month = "1",
    day = "1",
    language = "English (US)",
    isbn = "3540631658",
    series = "Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)",
    publisher = "Springer-Verlag",
    pages = "616--626",
    editor = "Pierpaolo Degano and Roberto Gorrieri and Alberto Marchetti-Spaccamela",
    booktitle = "Automata, Languages and Programming - 24th International Colloquium, ICALP 1997, Proceedings",

    }

    TY - GEN

    T1 - Efficient array partitioning

    AU - Khanna, Sanjeev

    AU - Muthukrishnan, Shanmugavelayutham

    AU - Skiena, Steven

    PY - 1997/1/1

    Y1 - 1997/1/1

    N2 - We consider the problem of partitioning an array of n items into p intervals so that the maximum weight of the intervals is minimized. The currently best known bound for this problem is 0(n+p1+ε) [HNC92] for any fixed ε< 1. In this paper, we present an algorithm that runs in time O(n log n); this is the fastest known algorithm for arbitrary p. We consider the natural generalization of this partitioning to two dimensions, where an nxn array of items is to be partitioned into p2blocks by partitioning the rows and columns into p intervals each and considering the blocks induced by this partition. The problem is to find that partition which minimizes the maximum weight among the resulting blocks. This problem is known to be NP-hard [GM96]. Independently, Charikar et, al. have given a simple proof that shows that the problem is in fact NP-hard to approximate within a factor of two. Here we provide a polynomial time algorithm that determines a solution at most O(1) times the optimum; the previously best approximation ratio was O(√p) [HM96], Both the results above are proved for the case when the weight of an interval or block is the sum of the elements in it. These problems arise in load balancing for parallel machines and data partitioning in parallel languages. Applications in motion estimation by block matching in video and image compression give rise to the dual problem, that of minimizing the number of dividers p so that the maximum weight of a block is at most S. We give an O(log n) approximation algorithm for this problem. All our results for two dimensional array partitioning extend to any higher fixed dimension.

    AB - We consider the problem of partitioning an array of n items into p intervals so that the maximum weight of the intervals is minimized. The currently best known bound for this problem is 0(n+p1+ε) [HNC92] for any fixed ε< 1. In this paper, we present an algorithm that runs in time O(n log n); this is the fastest known algorithm for arbitrary p. We consider the natural generalization of this partitioning to two dimensions, where an nxn array of items is to be partitioned into p2blocks by partitioning the rows and columns into p intervals each and considering the blocks induced by this partition. The problem is to find that partition which minimizes the maximum weight among the resulting blocks. This problem is known to be NP-hard [GM96]. Independently, Charikar et, al. have given a simple proof that shows that the problem is in fact NP-hard to approximate within a factor of two. Here we provide a polynomial time algorithm that determines a solution at most O(1) times the optimum; the previously best approximation ratio was O(√p) [HM96], Both the results above are proved for the case when the weight of an interval or block is the sum of the elements in it. These problems arise in load balancing for parallel machines and data partitioning in parallel languages. Applications in motion estimation by block matching in video and image compression give rise to the dual problem, that of minimizing the number of dividers p so that the maximum weight of a block is at most S. We give an O(log n) approximation algorithm for this problem. All our results for two dimensional array partitioning extend to any higher fixed dimension.

    UR - http://www.scopus.com/inward/record.url?scp=84950971965&partnerID=8YFLogxK

    UR - http://www.scopus.com/inward/citedby.url?scp=84950971965&partnerID=8YFLogxK

    M3 - Conference contribution

    SN - 3540631658

    SN - 9783540631651

    T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)

    SP - 616

    EP - 626

    BT - Automata, Languages and Programming - 24th International Colloquium, ICALP 1997, Proceedings

    A2 - Degano, Pierpaolo

    A2 - Gorrieri, Roberto

    A2 - Marchetti-Spaccamela, Alberto

    PB - Springer-Verlag

    ER -