The LinearSplit package

[ Tags: algorithms, bsd3, library ] [ Propose Tags ]

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]

Properties

Versions 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]
License BSD3
Author Vitaliy Rukavishnikov
Maintainer virukav@gmail.com
Category Algorithms
Home page http://github.com/rukav/LinearSplit
Bug tracker mailto:virukav@gmail.com
Uploaded Sat Mar 5 16:34:41 UTC 2011 by VitaliyRukavishnikov
Distributions NixOS:0.2.1
Downloads 1125 total (93 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


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