LinearSplit: Partition the sequence of items to the subsequences in the order given

[ algorithms, bsd3, library ] [ Propose Tags ] [ Report a vulnerability ]

The LinearSplit module implements partitioning the sequence of items to the subsequences in the order given. The items can be splitted using greedy heuristic or using the linear partition algorithm to minimize the maximum cost over all ranges (see the 'The Algorithm Design Manual' by Steven S. Skiena..).

The library can be used to balance the work across processors to minimize the run time. For the library usage take a look in examples/Splitter.hs.


[Skip to Readme]

Modules

[Index]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1, 0.2, 0.2.1
Dependencies array, base (>=3.0.3.2 && <5), cmdargs (>=0.3), haskell98, QuickCheck (>=1.2.0.1) [details]
Tested with ghc ==6.12.3
License BSD-3-Clause
Author Vitaliy Rukavishnikov
Maintainer virukav@gmail.com
Category Algorithms
Home page http://github.com/rukav/LinearSplit
Bug tracker mailto:virukav@gmail.com
Uploaded by VitaliyRukavishnikov at 2011-03-05T16:34:41Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 3073 total (10 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for LinearSplit-0.2.1

[back to package description]
The LinearSplit module implements partitioning the sequence of items to the 
subsequences in the order given. The next functions are provided:
   gPartition  - split the sequence of items items using greedy heuristic. 
   lPartition  - split the sequence of items to minimize the maximum cost 
                 over all the subsequences using linear partition algorithm
                 (see the 'The Algorithm Design Manual' by Steven S. Skiena..)  
   ltPartition - the approximation of the linear partition algorithm.
                 The large size of the work items space is decreased by
                 combining the consecutive items based on the threshold 
                 parameter.
See examples/Splitter.hs for the usage help.

For example, the next command will split the items in test1.txt on 5 ranges using
greedy heuristics and linear partition algorithm.
$ Splitter -f test1.txt -n -o -g -t500 -s5