Find Jobs
Hire Freelancers

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

$30-250 USD

Închis
Data postării: aproape 3 ani în urmă

$30-250 USD

Plata la predare
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!
ID-ul proiectului: 30493029

Despre proiect

4 propuneri
Proiect la distanță
Activ: 3 ani în urmă

Vrei să câștigi bani?

Avantajele de a licita pe platforma Freelancer

Stabilește bugetul și intervalul temporal
Îți primești plata pentru serviciile prestate
Evidențiază-ți propunerea
Te înregistrezi și licitezi gratuit pentru proiecte
4 freelanceri plasează o ofertă medie de $113 USD pentru proiect
Avatarul utilizatorului
SOFTWARE ARCHITECTURE EXPERT!!! EXPERT IN C++ HELLO DEAR CLIENT I have gone through your project details and the work is DOABLE since its within my area of EXPERTISE.I will tackle are required guideline to deliver desired goal Please consider my bid. THANKS
$140 USD în 7 zile
4,7 (33 recenzii)
5,0
5,0
Avatarul utilizatorului
Hi, I've read your description carefully. I have more than 11 years experience with C/C++/Algorithm. ************************************************************************************* I'm confident in your project with high quality on time. Looking forward to discuss with you project more detail via chatting. I'm very happy to put my bid on your project. Thanks & Best regards!
$120 USD în 5 zile
5,0 (2 recenzii)
1,1
1,1
Avatarul utilizatorului
I will read all notes and verify the notes. I will do my best. Please grant me this project to me.
$140 USD în 7 zile
0,0 (0 recenzii)
0,0
0,0
Avatarul utilizatorului
Hello, I have MSc in computational engineering and PhD. I have written C++ codes. I can deliver your requirements. Please fell free to contact me to discuss your problem.
$50 USD în 7 zile
0,0 (0 recenzii)
0,0
0,0

Despre client

Steagul SWITZERLAND
Zurich, Switzerland
0,0
0
Membru din iun. 10, 2021

Verificarea clientului

Mulțumim! Ți-am trimis prin e-mail linkul pe care trebuie să-l accesezi pentru a revendica creditul gratuit.
A apărut o eroare la trimiterea e-mailului. Încearcă din nou.
Utilizatori înregistrați Totalul proiectelor postate
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Se încarcă previzualizarea
S-a oferit permisiunea de depistare a locației.
Ți-a expirat sesiunea pentru conectare sau te-ai deconectat. Conectează-te din nou.