Mario Meets Pareto

759 points137 comments9 hours ago
jerf

This is a really important concept for developers.

One aspect for developers that I see quite often is the assertion that "We can't have X without giving up more Y", most commonly "we can't have more security without giving up on user experience". With the Pareto idea in mind, we can see that that statement is true, if and only if you are in fact on the Pareto frontier of security and user experience already.

However, many times these confident pronouncements are being made when the system under question is quite evidently not on the Pareto frontier in the first place and indeed you can get more of one without giving up the other.

Making it more tricky is that in business, you can never discard "money" as a dimension, so unless you're taking "money" as one of the dimensions in the original comparison you want to do, it sneaks its way in. Or, a composite time/money, or "cost to business", or some other similar concept, time & money aren't orthogonal and don't need to be treated as two separate dimensions in general, though you can if you want. Which puts you into the 3D case, and as the page says, that grows the frontier quite a lot, which is good in some ways and bad in others. Nevertheless, in my opinion it is still often the case that even in that space we are often making "tradeoffs" without checking that we're on the Pareto frontier in the first place.

show comments
uzerfcwn

I did similar analysis a couple years ago for optimizing item builds in WoW classic. The tricky part in WoW is that there are 15ish item slots with hundreds of item choices for each slot, so the total number of builds is well over 100^15.

I ended up using a divide-and-conquer style approach, where I 1) pruned items that weren't on the Pareto frontier individually for each slot, 2) took the two slots X and Y that had the least items after pruning and grouped them by calculating Z:={x+y|x∈X,y∈Y}, 3) pruned items that weren't on the Pareto frontier in Z, and 4) repeated steps 2-3 until there was only one group remaining, comprised of the full Pareto-optimal item builds.

This ran in a couple of seconds, as opposed to the other solutions I tried that took somewhere between minutes and years. The downside was that including set bonuses into the model took extra work.

show comments
__s

> You probably won't pick a driver sitting on the edge of the frontier because you want some balance between speed and acceleration

for super mario kart speedruns go with bowser/dk: https://www.speedrun.com/smk/runs/zp68nr8m

That seemed to hold up for Mario Kart 8 too going with Bowser at the edge of their pareto frontier, https://www.speedrun.com/mk8

needing acceleration is a skill issue

show comments
a3w

I did not understand https://news.ycombinator.com/item?id=49096439, but I understood this.

show comments
moomin

Of course I, and most of the dads I know, optimise for something else: what’s the car that will keep me competitive, but probably losing, to the kids?

show comments
CobrastanJorji

I love when people do an amazing job carefully explaining something complicated in a way that makes it seem very intuitive. Excellent job. Way to show off those technical communication chops!

cortesoft

There are a few things that are assumed to be true when talking about the Pareto frontier here, but aren’t always true.

One, that more of something is always better, e.g. it is always better to have more speed.

Maybe, but what if having too much speed causes you to run off the track and perform worse? It could be that there is actually a peak in the utility of speed that declines as it increases.

There could also be important relations between attributes that make determining a Pareto frontier impossible or at least more difficult. For example, some pairs of attributes work best when they are a specific ratio, and increasing one or the other will actually decrease utility unless the other is increased at the same time.

show comments
Retr0id
charv

I would really love to be able to explore this data, e.g. what is the "worst" driver? Is there an inverse Pareto front?

show comments
Agentlien

On a tangent, I was a bit confused by the everyday examples given in this article.

"We're often faced with similar trade-offs. You want a meal that's both cheap and delicious? A job that's both well-paid, easy, and fulfilling?"

I really don't feel like "easy" is a dimension I wish to optimize for in a job. It almost feels opposite to what I've actually optimized for - since for me a fulfilling job usually means full of deep technical challenges. I want a job without unnecessary friction, without interpersonal drama, even one that's low stress. But definitely not easy.

show comments
initramfs

I used to play Diddy Kong Racing for the Nintento 64 a lot and what I learned is that the smaller carts with fast acceleration were good for learning how to navigate around the course and for battle royal, but the heavier drivers like Banjo had the highest top speed, and I developed better steering capabilities to time each curve, eventually making it sometimes the only way to win the race.

SaltyBackendGuy

I love how the data from top players shows that they're using a build on the Pareto Front, i.e. that the wisdom of crowds settles on a meta that is optimum. I wonder if we analyzed other games, if the meta were all consistently on the Pareto Front (WoW, Diablo, w/e). Likely so.

show comments
redbell

> You can identify all efficient drivers that, unlike Koopa, are never dominated on both speed and acceleration. Together, they form what is called the Pareto front (or frontier).

Coincidently, this Pareto Front concept is currently on the front page on HN at #10 (https://news.ycombinator.com/item?id=49096439) and apparently, it was posted before this post.

hspeiser

Ive been played. Me and my brother used to play this all the time. He would always beat me and whenever I would win it would be a momentous occasion. Turns out his build was directly on the pareto frontier and mine was not even close. Damn you brother. Hes totally screwed next time we play

FailMore

If you liked the playing card interaction at the start (I did), I run a random side project where you (or your coding agent) can build similar 3d cards:

https://requirement5.com

build a card here: https://requirement5.com/create (and the CLI instructions are there too)

https://github.com/vilt9/requirement5

show comments
yathern

Apologies for the self-promotion, but I learned about the Pareto Front from this site a while back - and applied it to Mini PCs with https://minipcs.zip which plots Mini PCs based on Compute vs Price (and other metrics) - highlighting the pareto front to find the optimal unit.

show comments
yaqubroli

So Pareto’s the third brother then?

dorfsmay

I did not know the term but I'm thinking that the old project management triangle (cheap, good, fast) is a specialisation of that concept.

kevinwang

Can anyone explain why Rosalina is not Pareto optimal here? It kind of looks like she should be.

show comments
devin

https://news.ycombinator.com/item?id=39936246 for the discussion 2 years ago

kasts

What I've found is that my favorite person is not optimal... I have decided that I'm going to believe that the driver is worth more than the sum of their choices. And when I lose I'll just accept it as my own failing of skill. #rosalina

giekaton

80/20 Rule in Mario Games - https://8020.in/mario-games

andai

Excellent. This is some kind of 3D PowerPoint. How did he do that?

show comments
phyzix5761

A lot of these optimization problems can benefit from using a genetic algorithm: https://github.com/lodenrogue/genetic-algorithm-js

demibabs

This article isn’t quite accurate; acceleration is surprisingly unimportant in Mario Kart and not really considered a major factor when choosing a optimal combo. The optimal combo is solely decided on the basis of speed and mini-turbo. Otherwise good analysis.

nwsm

Nice article, I'm sad to learn that I shouldn't be using Koopa. How are Peach and Mario not dominated on acceleration by Tanooki Mario and Luigi respectively?

Also, wonderful visualizations, but the change between blue and white backgrounds is really jarring to me.

show comments
danilocesar

Shame it isn't Luis Pareto.

sendes

Finally an important and realistic application of economic theory to real life!

phoghed

To think I gimped myself so much by using baby Rosalina on a scooter with rollers

reconnecting

Thanks! Very useful information. I will never play for Bowser again.

show comments
rakamotog

This was fun, thank you

declan_roberts

Fun but still didn't tell me who the "best" player is.

show comments
hn22fazjsv

Solid advice, saving it

Aeroi

wow that took alot of work. nice job

hnmu4c5zar

This resonates hard

paulnpace

Mario was an elite?

suzukivenom

beautiful site

bix6

Lakitu ftw

ShinyLeftPad

The site is really broken on mobile.

show comments
Xirdus

In Firefox reader mode, there's like 5 paragraphs of text. I am unable to digest the content on the website itself. Can someone confirm if the 5 paragraphs is the whole content or if I have large parts of it missing?

show comments