Mario Meets Pareto

934 points - yesterday at 11:24 AM

Source

Comments

jerf yesterday at 1:19 PM
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.

uzerfcwn yesterday at 6:35 PM
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.

a3w yesterday at 12:35 PM
I did not understand https://news.ycombinator.com/item?id=49096439, but I understood this.
__s yesterday at 1:34 PM
> 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

moomin yesterday at 3:20 PM
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?
cortesoft yesterday at 5:21 PM
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.

CobrastanJorji yesterday at 5:25 PM
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!
Retr0id yesterday at 12:42 PM
Velocifyer yesterday at 8:29 PM
This doesn't account for vehicle size (important for red shell wall breaking[0]) and drifting style[1].

[0] A redshell wall break is when you point your vehicle near a wall to break a redshell without using a defense item. [1] Drifting style is either inward or outward. Inward drift has more intuitive controlls and is way better for intermidiate players, but pro players dislike it because is removes various difficult tricks.

I recommend yoshi on the yoshi bike with azure rollers and the paper glider.

hspeiser yesterday at 4:36 PM
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
charv yesterday at 2:48 PM
I would really love to be able to explore this data, e.g. what is the "worst" driver? Is there an inverse Pareto front?
cocodill today at 3:07 AM
Finally, this page has some information that's actually useful in real life.
Agentlien yesterday at 3:37 PM
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.

FailMore yesterday at 2:30 PM
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

underlines today at 1:36 AM
initramfs yesterday at 4:47 PM
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 yesterday at 5:11 PM
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.
yathern yesterday at 3:04 PM
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.
kevinwang yesterday at 2:42 PM
Can anyone explain why Rosalina is not Pareto optimal here? It kind of looks like she should be.
redbell yesterday at 6:11 PM
> 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.

cantalopes yesterday at 9:58 PM
I always thought in these games; picking acceleration is a way for you to recover from your mistakes. If you made no mistakes the speed would win. So, it is always better to pick the harder option and have a room to improve
yaqubroli yesterday at 4:35 PM
So Pareto’s the third brother then?
devin yesterday at 3:54 PM
https://news.ycombinator.com/item?id=39936246 for the discussion 2 years ago
dorfsmay yesterday at 4:58 PM
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.
andai yesterday at 1:05 PM
Excellent. This is some kind of 3D PowerPoint. How did he do that?
deleted yesterday at 6:55 PM
kasts yesterday at 5:14 PM
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
swrrt today at 1:07 AM
Nice figuratively demonstrating, I think it can be a impressive lecture material if my teacher/prof use this kind of demonstration.
phyzix5761 yesterday at 3:12 PM
A lot of these optimization problems can benefit from using a genetic algorithm: https://github.com/lodenrogue/genetic-algorithm-js
demibabs yesterday at 2:07 PM
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 yesterday at 2:02 PM
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.

hei-lima yesterday at 9:59 PM
Holy! This is one of the best articles i ever read here. Really, really cool.
giekaton yesterday at 6:03 PM
80/20 Rule in Mario Games - https://8020.in/mario-games
deleted yesterday at 3:39 PM
sendes yesterday at 3:19 PM
Finally an important and realistic application of economic theory to real life!
phoghed yesterday at 2:32 PM
To think I gimped myself so much by using baby Rosalina on a scooter with rollers
reconnecting yesterday at 1:05 PM
Thanks! Very useful information. I will never play for Bowser again.
rakamotog yesterday at 1:30 PM
This was fun, thank you
danilocesar yesterday at 6:05 PM
Shame it isn't Luis Pareto.
suzukivenom yesterday at 1:15 PM
beautiful site
Aeroi yesterday at 1:22 PM
wow that took alot of work. nice job
hn22fazjsv yesterday at 3:21 PM
Solid advice, saving it
declan_roberts yesterday at 4:47 PM
Fun but still didn't tell me who the "best" player is.
hnmu4c5zar yesterday at 2:32 PM
This resonates hard
alana314 yesterday at 10:58 PM
Peach was goated in Super Mario Bros 2 as well. I always pick her.
paulnpace yesterday at 2:53 PM
Mario was an elite?
bix6 yesterday at 2:19 PM
Lakitu ftw
amilovepdf yesterday at 4:30 PM
[flagged]
ShinyLeftPad yesterday at 12:41 PM
The site is really broken on mobile.
Xirdus yesterday at 1:24 PM
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?