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.
build a card here: https://requirement5.com/create (and the CLI instructions are there too)
"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.
OG credit to: Henry Hinnefeld 2015: https://hinnefe2.github.io/python/tools/2015/09/21/mario-kar...
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.
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.
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
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.
Also, wonderful visualizations, but the change between blue and white backgrounds is really jarring to me.
The analysis comes before the meta settles, so of course itβs consistent :)
Yes, trivially. Just look at the opposite end of each metric. Pareto optimality doesn't know/care what each metrics means, since it keeps them all separate.
> I want a job without unnecessary friction, without interpersonal drama, even one that's low stress.
That's part of how I see an "easy" job. Where I can focus on working on the actual tasks at hand.Doesn't matter if the actual job is filling glasses of water or building rockets; as long as I can focus on it for 100% of my working hours, I'd see it as an "easy" job.
(And please note that I do not mean to imply that there are no challenges in manual labor or that software engineering is more important.)
(Mario Kart World, which isn't covered in this article, has a more standard speed vs acceleration trade off but in that game high-max-speed (heavy) combos have even worse problems due to the way the rail grind mechanic was implemented and what seems to be an unforeseen interaction with the coin curve see e.g. https://www.youtube.com/shorts/sPyur6BkiOs)
EDIT: If you mean that Rosalina looks slightly higher on the graph, I believe that's just a visual effect to allow multiple characters to occupy the same square - the stats are all integers.
Itβs called scrollytelling. For this particular project, I borrowed a lot from https://mlu-explain.github.io/. For the 3D elements, I used Threejs and a custom vertex shader for the 3D plot.
If you're playing normally (with other people and items), even the most skilled player can't avoid getting hit by some universal items and will benefit from acceleration.
Hence, as the author notes, the balanced build with Peach being favored among competitive players.
Also, miniturbo is the single most important stat in the game, not top speed
When my oldest was first trying Mario Kart, his uncle came over and played against him blindfolded (and still won). It was very entertaining to watch.
Finding the fastest driver is as simple as ranking them by their speed statistic. Here you might think that
Bowser or
Wario are a no-brainer.
But you can't just rely on speed to find the optimal build. You have to consider one as well. Now, finding the best is not trivial anymore β you have to make trade-offs between and
Look closely though! You'll find out that some options are always dominated. Let's focus on this poor
Koopa for instance.
Cat Peach has more speed for the same acceleration, and
Toadette has more acceleration for the same speed. Between you and me, if you want to win, never allow
Koopa to sit in your kart!
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).
Mind you: not all elements of the frontier are equally good. You probably won't pick a driver sitting on the edge of the frontier because you want some balance between speed and acceleration. The Pareto efficiency is an objective criteria to filter out suboptimal choices, but you still need to make up your final decision.
Given your play style and skills, you may put more weight on one statistic over the other. Those preferences will reveal the component on the frontier that suits you the best.
Best : {}
you know how japanese oni would roll human souls into soba noodles? [1]
that's what modern corporate software company management does :)
[1] i learned about this from the very funny gintama funeral episode
I don't think I've ever seen an example of pareto that wasn't pseudo scientific drivel.
I'm reminded of two things that in a way support your premise with the second example being more relevant. Both are outside whatβs being discussed exactly, more about knock-on effects maybe, anyway:
The first is that Angry Birds found the speed of launching birds into structures was important for engagement: it cannot be too fast.
The second is from a commenter somewhere who said they had or worked on software that took ten minutes to boot in the morning, which is when employees made coffee and talked and brainstormed. Everyone was disappointed when after refactoring, the software booted immediately.
Did you even read the post?
One should keep in mind though that not all problems have a neat solution. Many spaces have multiple efficient points that still need to be chosen from, and many pareto optimization problems actually become NP hard computationally when the problem is large enough.
What do you mean "play for Bowser"?
Ah, yeah. That is what I meant. Thanks!
I switched him to the meta build and suddenly boom, he went from like 10th to 2nd against the AIs.
It's kinda weird that you can shoot yourself in the foot so much when picking your kart in this game.
I get that this form of presentation may be great for many people, but for my brain, it makes it extremely hard to engage with the content.
People do speedrun the individual tracks solo in other categories.
But I definitely want a job without stress, danger, or physical strain on my body. Perhaps I am just looking for a similar word which doesn't imply anything about the complexity of the task at hand.
Nintendo optimises for fun, not competitive play. Infamously, to curb the competitiveness of Super Smash Bros (SSB) Melee, they introduce a random tripping mechanic in the following SSB (Brawl). Everyone hated it so they removed it in the one after that.
I appreciate your work to make this topic accessible in an interactive format. Somehow, in this case, it's too much for me.
I think the ratio of information to interactivity is too low. It's like I have to push around a tiny keyhole to slowly access information. The graphs look fun, but their fancifulness is distracting me.
I don't usually mind interactivity, but I think usually it is embedded in the text, instead of gating it, if that makes sense.
This page has some elements that scroll and some elements that don't scroll. And some elements that switch between scrolling and not scrolling. And some animations are controlled by scroll position, meaning they bounce back and forth while I try to find my bearings on the scroll wheel. Everything is fighting for my attention all at once, which prevents me from focusing on anything in particular. Most of all, it prevents me from focusing on the scrolling itself - and scrolling requires extreme focus here considering you never know what will happen and how much you need to scroll for it to happen. Is text going to slide in? Is a picture going to suddenly pop up? Is an existing picture going to transform to something else? Will it transform gradually as I scroll, or is it going to do it all suddenly in one step?
In short - it breaks the UI metaphor of scrolling an infinite roll of paper, and that in turn breaks my brain. I just can't follow what's happening, there's too much non-scrolling action happening when I scroll. There's also too much empty space between paragraphs.