Find Jobs
Hire Freelancers

Algorithm for constrained set partition (combinatorics with C++)

$30-250 USD

Κλειστή
Αναρτήθηκε περίπου 3 χρόνια πριν

$30-250 USD

Πληρωμή κατά την παράδοση
I need a reasonably efficient algorithm implemented for a specific integer partition problem. In short, I have a multiset of integers, each of which belongs to a subset. I don't know the matching of integers to subsets; only the number and sum of elements in each subset. In general this means there are multiple partitions that fit the constraint. If we assume these partitions are equally likely, I want to find the likelihood that each integer value may belong to each of the subsets. I have written a more formal description of the problem here: [login to view URL] I've been struggling to find a good algorithm for this presumably NP-hard problem. It's clearly related to the set partition problem, but I'm having trouble finding the right approach given the many, many variants out there. Deliverables C++ code which takes two arbitrary tables of integers as input (see PDF for an example), and outputs a table with four columns: each integer value x_k from the multiset, repeated for each of the subsets in column 2 the subset id j=1,...,J, repeated as needed to produce each combination with column 1 the number of possible partitions where integer x_k is in subset j (numerator of the probability) the number of possible partitions (denominator of the probability) – same value for all rows I need an algorithm that does not need all partitions in memory as it enumerates through them, or it may fail on more complex cases. Some lexicographic approach would be ideal in case e.g. I want to parallelize the code later or sample partitions rather than fully enumerate (this is NOT part of this request!). The use of GMP might be a good idea to handle larger integers. We can decide on the data format that's most convenient for input and output. I think CSV may be okay at this stage. I'll provide some examples for testing the algorithm. This code will be used for academic research, and may be published at some point in the future, so I'd like to put the code under a MIT license (negotiable). Soft deadline, but the sooner the better of course :) Happy to clarify anything that's not entirely clear!
Ταυτότητα εργασίας: 30493010

Σχετικά με την εργασία

3 προτάσεις
Απομακρυσμένη Εργασία
Ενεργός/ή 3 χρόνια πριν

Ψάχνεις τρόπο για να κερδίσεις μερικά χρήματα;

Πλεονεκτήματα πλειοδοσίας στο Freelancer

Καθόρισε τον προϋπολογισμό σου και το χρονοδιάγραμμα
Πληρώσου για τη δουλειά σου
Περίγραψε την πρόταση σου
Η εγγραφή και η πλειοδοσία σε εργασίες είναι δωρεάν
3 freelancers δίνουν μια μέση προσφορά $182 USD για αυτή τη δουλειά
Avatar Χρήστη
hello there, I am expert C/C++ programmer having 6+ years of experience. I am ready to help you. Please contact me. Thank you Regards, bilal
$225 USD σε 2 ημέρες
5,0 (47 αξιολογήσεις)
5,5
5,5
Avatar Χρήστη
Hello. I am very interest in your project. You can contact me, discuss further on chat. Regards.
$100 USD σε 7 ημέρες
5,0 (1 αξιολόγηση)
1,4
1,4
Avatar Χρήστη
Hi , I am a CS grad from IIT and I have given many competitive coding tests. I am proficient in C/C++. I can write a code for you if you have some solution to it. Do let me know if you need my help.
$222 USD σε 2 ημέρες
5,0 (2 αξιολογήσεις)
1,4
1,4

Σχετικά με τον πελάτη

Σημαία της ROMANIA
Bucharest, Romania
0,0
0
Μέλος από Ιουν 10, 2021

Επαλήθευση Πελάτη

Ευχαριστούμε! Σου έχουμε στείλει ένα email με ένα σύνδεσμο για να διεκδικήσεις τη δωρεάν πίστωση σου.
Κάτι πήγε στραβά κατά την προσπάθεια αποστολής του email σου. Παρακαλούμε δοκίμασε ξανά.
Εγγεγραμμένοι Χρήστες Συνολικές Αναρτημένες Δουλειές
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Φόρτωση προεπισκόπησης
Δόθηκε πρόσβαση για Geolocation.
Η σύνδεση σου έχει λήξει και τώρα έχεις αποσυνδεθεί. Παρακαλούμε συνδέσου ξανά.