Skip to main content

MM is a package for running the greedy cover algorithm to perform multiset multicover.

Project description

This package implements the Greedy Cover algorithm for multisets

in C++ and exposes it to Python. Given a universe of elements U, and a family of subsets F = {S1, …, Sn} of U, the set cover problem asks to find the smallest number of sets in F such that every element of U appears in at least one such set. This can be extended to a multicover problem, where we ask that every element be included at least k sets. This in turn, can be extended to accomodate multisets, where each element in Si also has a given multiplicity.

The set cover problem is NP hard. The best known algorithm is a greedy approach that iteratively selects the set with the largest number of elements that have not been covered yet. This algorithm has a log(n)-approximation guarantee where n is the size of the largest set. The same guarantee also applies to the multicover problem, as well as the multiset multicover problem (n here corresponds to the size of the largest set, counting multiplicities).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

multiset_multicover-1.0.tar.gz (11.9 kB view hashes)

Uploaded Source

Built Distributions

multiset_multicover-1.0-cp311-cp311-win_amd64.whl (23.7 kB view hashes)

Uploaded CPython 3.11 Windows x86-64

multiset_multicover-1.0-cp311-cp311-win32.whl (21.2 kB view hashes)

Uploaded CPython 3.11 Windows x86

multiset_multicover-1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (246.1 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

multiset_multicover-1.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (238.0 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686

multiset_multicover-1.0-cp311-cp311-macosx_10_9_x86_64.whl (27.8 kB view hashes)

Uploaded CPython 3.11 macOS 10.9+ x86-64

multiset_multicover-1.0-cp310-cp310-win_amd64.whl (23.7 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

multiset_multicover-1.0-cp310-cp310-win32.whl (21.2 kB view hashes)

Uploaded CPython 3.10 Windows x86

multiset_multicover-1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (245.8 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

multiset_multicover-1.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (237.6 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686

multiset_multicover-1.0-cp310-cp310-macosx_10_9_x86_64.whl (27.8 kB view hashes)

Uploaded CPython 3.10 macOS 10.9+ x86-64

multiset_multicover-1.0-cp39-cp39-win_amd64.whl (23.7 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

multiset_multicover-1.0-cp39-cp39-win32.whl (21.2 kB view hashes)

Uploaded CPython 3.9 Windows x86

multiset_multicover-1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (245.6 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

multiset_multicover-1.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (237.4 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686

multiset_multicover-1.0-cp39-cp39-macosx_10_9_x86_64.whl (27.8 kB view hashes)

Uploaded CPython 3.9 macOS 10.9+ x86-64

multiset_multicover-1.0-cp38-cp38-win_amd64.whl (23.7 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

multiset_multicover-1.0-cp38-cp38-win32.whl (21.2 kB view hashes)

Uploaded CPython 3.8 Windows x86

multiset_multicover-1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (245.2 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

multiset_multicover-1.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (236.9 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686

multiset_multicover-1.0-cp38-cp38-macosx_10_9_x86_64.whl (27.7 kB view hashes)

Uploaded CPython 3.8 macOS 10.9+ x86-64

multiset_multicover-1.0-cp37-cp37m-win_amd64.whl (23.7 kB view hashes)

Uploaded CPython 3.7m Windows x86-64

multiset_multicover-1.0-cp37-cp37m-win32.whl (21.2 kB view hashes)

Uploaded CPython 3.7m Windows x86

multiset_multicover-1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (245.0 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

multiset_multicover-1.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl (236.6 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ i686

multiset_multicover-1.0-cp37-cp37m-macosx_10_9_x86_64.whl (27.6 kB view hashes)

Uploaded CPython 3.7m macOS 10.9+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page