How to create a fair distribution algorithm?

  • Context: Undergrad 
  • Thread starter Thread starter riay00
  • Start date Start date
  • Tags Tags
    Algorithm Distribution
Click For Summary
SUMMARY

The discussion focuses on creating a fair distribution algorithm for community donations based on the continuous service days of members. The proposed formula for distribution is Fd = T * (Rn) * (P) / 100, where T represents the number of days served, Rn is a static value of 2, and P is a static 10% of the total resource pool. The algorithm emphasizes calculating total member continuous-days and distributing funds proportionally based on each member's service duration. A method for ensuring fair distribution of fractional amounts is also discussed, involving randomization to handle remaining pennies.

PREREQUISITES
  • Understanding of basic mathematical formulas and variables
  • Familiarity with community resource allocation concepts
  • Knowledge of random number generation techniques
  • Experience in programming for algorithm implementation
NEXT STEPS
  • Research mathematical modeling for resource distribution algorithms
  • Learn about random number generation in programming languages
  • Explore community engagement strategies for fair resource allocation
  • Study existing algorithms for equitable distribution in similar contexts
USEFUL FOR

Mathematicians, software developers, community organizers, and anyone involved in resource distribution and algorithm design.

riay00
Messages
1
Reaction score
0
Hi,
I am a math noob and need to understand what is the best mathematical formula for fair distribution. The problem statement is as follows:

We choose 2 numbers at a given time to distribute donations at a particular instance in time (The numbers from 1-6500 represent community members ID). The maximum % of the total resource we need to distribute between them is 10% from the overall resource pool. For fair distribution, we are counting the number of days they have served the community continuously. The longest one has served in days gets the appropriate amount of the distribution. I (Being very bad at mathematics come up with the following formula and hope no one will grill me for that :) ). Was looking for some expert to teach me how to come up with an algorithm for that:

- Fd = T * (Rn) * (P) /100
T = Number of days (Variable number)
Rn = Total Random number (Static 2)
P = Total % of resource from the pool (Static 10)
 
Physics news on Phys.org
If I understand correctly, you want to distribute funds from a pool to members in a community so that the distribution to each member is in proportion to that member's continuous days service.

The first task is to figure out how many total member continuous-days you have to distribute over.##D = \sum_\text{members} D_\text{member}##. Just add them up.

Now the distribution for each member-day is the total pool divided by the total member-days in the distribution. Each day earns ##\frac{P}{D}##.

So each member gets his number of continuous days multiplied by the above per-day figure.

If one is doing this by computer and needs for the distribution to be fair, for each member to receive an even number of pennies and for the total distribution to come to the right number of pennies then there is an approach that I have used in the past...

Take the members one at a time. Sort from shortest tenure to longest if you wish. Give the first member their distribution and roll a random number for the last fractional penny that they may be entitled to. So if a member is owed ##10 \frac{1}{3}## cents then they get ten cents with a random chance of one in three of getting eleven cents instead.

Subtract that member from the pool of member-days remaining to distribute over and from the pool of funds remaining to distribute.

Proceed to the next member and repeat until the final member gets whatever is left in the pool.
 
  • Like
Likes   Reactions: Vanadium 50

Similar threads

  • · Replies 24 ·
Replies
24
Views
4K
  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 2 ·
Replies
2
Views
1K
  • · Replies 13 ·
Replies
13
Views
3K
  • · Replies 21 ·
Replies
21
Views
2K
Replies
4
Views
2K
  • · Replies 17 ·
Replies
17
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 12 ·
Replies
12
Views
4K