# data[].attributes.body
I have chosen algorithm 3 because it has the best utility score, and its variation has a smaller distance from the average.

# data[].attributes.body
I chose Algorithm 3 because it maximizes overall happiness, with most participants receiving high utility values.
Although it’s less equal, it achieves greater efficiency and collective satisfaction.
From a utilitarian view, it delivers the greatest good for the greatest number.
It’s a realistic balance between fairness and total well-being in limited-resource scenarios.

# data[].attributes.body
This got the most people who obtained utility value, and also fairly distributed utility compared to the average.

# data[].attributes.headline
I chose 3. As the overall people that are pleased was marginally higher though this could be indeed subjective

# data[].attributes.subject
I chose 3. As the overall people that are pleased was marginally higher though this could be indeed subjective

# data[].attributes.body
Among the five approaches, Algorithm 1 appears the most fair, as it avoids very poor outcomes while keeping most participants in the mid-to-high range and maintaining only moderate deviation from the average. Algorithm 2 comes close, producing many very happy participants, but at the cost of greater inequality. Algorithm 4 sits in the middle, while Algorithm 3 creates more extreme winners and losers. Algorithm 5 achieves equality, but does so by lowering satisfaction overall, making it the least fair in practice.

# data[].attributes.body
It'd be easy to solve this mathematically if we had the data, but just taking a look at the visualized data, it seems to me that Algorithm 1 balances both fairness and happiness.

The vast majority of people obtained high utility value, and although there is some significant variation on distance from mean utility, the values tend to be on the higher side, indicating that utility is actually higher for many people when it deviates.

While algorithm 5 is likely the most "fair", it has the worst utility of any of the algorithms, indicating that fairness for this model means everyone is equally unhappy.

# data[].attributes.body
I chose Alg 3 because it seemed to provide the high utility for the most amount of people. I admit this wasn't clear to me at first and I was leaning towards Alg 5 for its even distribution of utility.

# data[].attributes.body
I think Algorithms 2, 3 as they keep things consistent for everyone.The other set of graphs shows how much each person's happiness differed from the average happiness achieved by that algorithm. For Algorithms 2, 3 these graphs are very narrow and centered right on zero. This is crucial for fairness because it means that most people's outcomes weren't wildly different from the overall average; there wasn't a huge gap between the happiest and unhappiest individuals. Everyone was pretty much on the same page, utility-wise. If you look at the graphs showing how much utility each person got, these two algorithms consistently show a big pile-up of people receiving the highest possible scores, especially a '7'. This tells us that for many participants, these algorithms delivered outcomes they were really pleased with.In conclusion, Algorithms 2 and 3 stand out as the fairest because they consistently deliver high utility to a large number of people while ensuring that individual experiences remain closely clustered around the average, minimizing dissatisfaction.

# data[].attributes.body
I especially focused on the right hand side to view the deviations. Less deviations was wat I interpreted as more fair.

# data[].attributes.body
Most achieved utility scored are equal or higher than 5, which is very good. And on teh other graph you can see, that most of the scores are around zero, minimazing deviations. To me it seems the most afir

# data[].attributes.body
Algorithm 5 presents less differences in utilities throughout the all 7 options, and in the right pannel it is confirmed that utility is the maximum among the 5 algorithms

# data[].attributes.body
In the end I chose Alg. 3 as we have the highest number of people who get the highest utilities (950 people get utility 7 and 6, which is the highest number of happy people across all algorithms). Additionally quite a lot of them do not diverge from the mean Utility or a lot diverge positively +1. Overall it seems the best combination, especially as I think graph 1 is the most important measure for us in this case.

# data[].attributes.body
I struggled with the math on this! However, I chose algorithm 5. I'm not sure any of the outcomes are fair - I would need to know what types of people are getting which levels of utility. But with algorithm 5, it looks like there are fewer people significantly less happy than the happiest people. In a real-life scenario, I would be looking to see if there are any systematic trends in the characteristics of the happiest versus the less happy people, in case there are some inbuilt biases that need attention. And I would want to see additional provisions to mitigate the circumstances of those who don't get the maximum utility they sought.

# data[].attributes.body
This algorithm to me seemed to strike the best balance (very close to algorithm two) between the number of people achieving high utility values and little straying from the mean utility value, which seems to me to indicate both user satisfaction and fairness.

# data[].attributes.body
I chose this algorithm because of the representation of a bell curve, normal distribution when randomness was thrown into the works along with creating a large number of groups of seven people randomly selected from the class, which is reflected in the initial diagram on the left (as we have seven properties to give away), and ran the algorithms many times to obtain good statistics on how the algorithm would impact the whole population . With a fair distribution of people obtaining utility from 2-3 standard deviations of the mean

We've seen more people in Algorithm 2 obtain utility closest to the mean and it reflects a number of data points which would impact how the algorithm would impact the whole population. In addition more people closest to obtaining utility in both the +1 and -1 distribution.

It's been a while since I studied statistics so I am thinking Algorithm 1 could also be correct based on the highest number of people obtaining utility but when we examine the diagram on the left, more people achieved utility across their preferences from 5 to 7

# data[].attributes.body
It seems to show variations.

# data[].attributes.body
After reviewing the results of the different algorithms, I initially leaned towards Algorithm 5 (Cyan) as the fairest option. It ensures that no one is significantly disadvantaged, keeping the distribution of utility as equal as possible. However, on reflection, I now believe that Algorithm 2 (Green) may be the better long-term choice, as it strikes a balance between fairness and efficiency.

While fairness is crucial in any allocation system, we cannot ignore the potential long-term consequences of inefficiency. If an algorithm only prioritises fairness without considering practical constraints, it could:

Slow down the allocation process, leading to longer waiting times for housing.

Miss opportunities for better matches, as rigid fairness rules might prevent people from being assigned homes they would have been happier with.

Lack adaptability, making it harder to adjust the system as circumstances change.

Algorithm 2 offers a middle ground—it still prioritises fairness, but without forcing an unrealistic level of equality that could negatively impact the system’s effectiveness in the future. This approach allows for incremental improvements while maintaining a degree of equity in allocation.

The Political & Ethical Risks of Algorithm 3

One aspect that stood out to me is how Algorithm 3 (Red) maximises happiness for the majority but creates clear "winners" and "losers". This could be seen as the easy political choice—one that ensures most people are satisfied while ignoring those negatively impacted.

From a political perspective, it’s easy to imagine decision-makers favouring this approach because:

It maximises positive public perception, ensuring the majority is content.

It allows them to justify the outcome using numbers, even if some people receive significantly worse results.

It could be used strategically before an election, where keeping the majority happy is prioritised over fairness for all.

However, this raises ethical concerns. If such a system favours privileged groups or reinforces existing inequalities, it becomes a tool for political gain rather than an equitable housing solution. A truly fair system should ensure fairness without sacrificing efficiency, while preventing exploitation for short-term political objectives.

How Do We Ensure Long-Term Fairness & Efficiency?

If Algorithm 2 presents the best balance, how do we ensure this fairness-efficiency trade-off remains in check over time?

Should the system include adaptive learning mechanisms to adjust the balance dynamically?

Should human oversight be required to prevent the algorithm from drifting too far towards either extreme?

What safeguards should exist to prevent political or corporate interference in data-driven housing allocation?

I’d love to hear your thoughts:

Do you agree that fairness alone isn’t enough if inefficiency creates long-term harm?

Alternatively do you think a strictly fair system (Algorithm 5) is the better approach regardless of efficiency?

This has been a great example, where I am seeing a lot of people choose Algorithm 5 or Algorithm 3....do you disagree with my thoughts on Algorithm 2 above?

Cheers,

Seamus

# data[].attributes.body
Algorithm 4 stands out for its fairness. A significant majority of participants achieve utility scores within the upper tier (specifically 5, 6, and 7), implying that most are pleased with their results. Moreover, the utility values exhibit only minor variations around the mean, underscoring the method's consistency.

# data[].attributes.body
A fair algorithm should minimize disparities in utility while ensuring equitable access to housing. Based on these graphs the most Fair Algorithm is likely the one with the smallest variance in individual utility and fewer extreme deviations from the average.

Is This Fair?

Fairness depends on the criteria used:

If fairness means equal opportunity based on purchasing power, then the system may appear fair.

If fairness means equitable distribution of housing based on need, then the observed disparities suggest potential unfairness, particularly if some groups consistently receive lower-quality housing.

# data[].attributes.body
I can see good arguments for either 3 or 5 depending on your formulation of "fairness". 5 seems most equitable in a sense because it has a pretty even distribution across the levels of satisfaction, and almost everyone obtained utility at a distance 0 from the mean utility. That being said, 3 indicates a higher overall degree of utility with far fewer people experiencing low levels of utility than in 5. However, since it is such a lopsided distribution it may be less "fair" than 3 based on how you define it. I think 3 would be desireable in a more general sense.

# data[].attributes.body
Seek equal benefits for all

# data[].attributes.body
Algorithm 4 appears to be the most fair. It shows a high concentration of participants achieving utility values in the upper range (5, 6, and 7) indicating that most participants are satisfied with their outcomes. Additionally, the deviations from the mean utility are relatively small and centered tightly around zero, with very few participants experiencing large deviations. The balance between high satisfaction and minimal inequity suggests that Algorithm 4 effectively maximizes utility while ensuring equitable outcomes, making it the fairest choice among the five algorithms.

# data[].attributes.body
I would choose Algorithm 2 as the most fair, assuming it shows the most balanced distribution of utility among participants with the least deviation from the average. This would indicate that it fairly accounts for the preferences of most individuals, ensuring that no one is significantly dissatisfied while also preventing any extreme discrepancies between participants' utilities. A balanced approach like this would reflect a fair allocation, where the needs and preferences of all individuals are given reasonable consideration without disproportionately benefiting or disadvantaging any one person.

# data[].attributes.body
Seems to offer the most of value to many people

# data[].attributes.body
Balances overall utility and individual outcomes well

# data[].attributes.body
Algorithm 2 had moderate kertosis with a moderate skew, indicating that the formula did not overly favor one extreme or the middle.

# data[].attributes.body
Algorithm 1 according to my understanding provides a fair aversge distribution without too many gaps.

# data[].attributes.body
Algorithm 1 displays a fairly even distribution of utility values, with a greater concentration towards the higher end, yet still covering the full range. The deviation is minimal, with most participants clustered near the mean, indicating that the outcomes are fairly consistent for everyone. The combination of this balanced utility distribution and low deviation from the mean makes it the fairest algorithm.

# data[].attributes.body
I voted 5 since most of the times people obtained utility at distance 0 from the mean utility (happiest people with their outcomes).

# data[].attributes.body
This algorithm seems to be posed as one of the most equals, along with algorithm 1 and 2. I chose the third because of the elevate number of people that obtained each utility value.

# data[].attributes.body
I think algorithm 3 shows the best utility for the people that took part at around 700 and the distribution from the mean was largely mirrored by the lower level utility that people found.

# data[].attributes.body
Algo three seems to provide a good trade off between the number of people who achieved a high utility vs a reasonably low variance from the mean.

# data[].attributes.body
I took Alg. 3. I made the decision using the following approach:

1. Check how many people got a house with a low value (1-3). Therefore Alg. 5 is ruled out. Alg. 1, 2 and 4 are approximately equally good. Alg. 3 insignificant worse (difficult to see the exact numbers on the small graphics).

2. Check how many people got a house with a high value (5-7). Alg. 3 and 4 are best.

3. Check how many people got a house with 6-7. Alg. 3 is by far the best.

4. The distribution in relation to the average does not show any major peculiarities in Alg. 3 (only a few outliers in the negative range).

# data[].attributes.body
Algo no. 3 gave most utility to participants and the average distance is almost plus one or minus one

# data[].attributes.body
Algo 3 appears to provide the greatest consistency in level of satisfaction ie a score of 7. While the level of dissatisfaction, as measured by diminishing utility from the ideal ie 7, appears to lessen on the downside more rapidly than other algo’s.

# data[].attributes.body
Maximising the Utility for the most people is Algorithm 3. If more people are happy with the outcome and few people had to stray far from their preference, it should be a good outcome. It's interesting to note that even with the stats, we don't agree on the best algorithm which shows that the task is more challenging.

# data[].attributes.body
I find that algorithm 1, on average, does not show large gaps between the utility of users; most are equivalent. At the same time, it provides good results by effectively responding to user preferences. Most users have obtained one of their top three choices without there being significant gaps between them, which, in my opinion, makes this algorithm fair and effective at the same time

# data[].attributes.body
Seems that algo no. 3 gave most utility to participants (ut. 7), while the average distance was only slightly skeewed towards utilities that were either -1 or +1 from their choices.