Anyone thought of an automated IO selection program for reaching softcap?


Dispari

 

Posted

Hi Everyone,

Has anyone discussed/implemented/thought anything about a creating a system that automatically places slots and IO sets given particular power choices for reaching defense softcap? I am asking because, given techniques like integer programming, it seems on the surface that it would be doable to write such a program (albeit a likely time consuming endeavor). In a few months, I'd even be willing to take a stab unless someone else has tried and has "don't do it; that's a bad idea; there are lots of problems!" advice. (It would be especially nice if such a thing were implemented on top of Mids.)

But probably more primary questions relates to whether this would even be useful. Is softcapping easy enough as it is?

ADDED FOR CLARIFICATION: ** The idea is to return several different possible slotting choices / IO sets to softcap defense GIVEN user-specified power choices. A person could de-select IO sets that are expensive or place other constraints on the system (such as reducing the number of slots in a particular power or ignoring a power all together). This could be done both before and after the different choices were presented.


Current Triumph Server Fifties:
Jim Pinrail (energy/kin defender), James van der Helm (ill/ff controller), Jim Jab (db/sr scrapper), Golden Chalice (emp/rad defender), Exclamation (dm/sd scrapper), Jim-El (elm/sd scrapper), Riparian (spines/wp scrapper), Psychiatric Solution (mind/psi dominator), Tricky Pick (night widow), Hypohipster (km/wp scrapper)

 

Posted

That's a very interesting idea.

However, I'd think since you're talking about a "what if" kind of program
to consider the "if" part to be any number of attributes.

ie.

Given these power choices, how could I slot them to maximise:

defense (as you've suggested) OR
resistance OR
recharge OR
Dmg/Sec, OR
Dmg/End

etc.

I'm not certain how you'd do it within Mid's, but I should think, given a
finite list of powers, slots and items that could be placed, some code
could be written that would find maxima in whatever categories the
user specified...

I'll be fascinated to see it when you get done writing it


Cheers,
4


I've been rich, and I've been poor. Rich is definitely better.
Light is faster than sound - that's why some people look smart until they speak.
For every seller who leaves the market dirty stinkin' rich,
there's a buyer who leaves the market dirty stinkin' IOed. - Obitus.

 

Posted

I'm not seeing the use. I mean, getting to the softcap is mostly pointless if it involves leaving individual powers poorly slotted ; and if you want to do that anyway, you can just filter by IO set bonuses in Mids and randomly slot everything that boosts defense until you hit the softcap.

Granted, I might be biaised because I'm afraid six months for now we'd see tons of terrible builds on the forums.


 

Posted

Quote:
Originally Posted by Nihilii View Post

Granted, I might be biaised because I'm afraid six months for now we'd see tons of terrible builds on the forums.
Pfft, I will do that anyway :P


"Life is what happens when you are making other plans"

 

Posted

Quote:
Originally Posted by Nihilii View Post
I'm not seeing the use. I mean, getting to the softcap is mostly pointless if it involves leaving individual powers poorly slotted ; and if you want to do that anyway, you can just filter by IO set bonuses in Mids and randomly slot everything that boosts defense until you hit the softcap.

Granted, I might be biaised because I'm afraid six months for now we'd see tons of terrible builds on the forums.
I feel this way too. I take a different approach when I do IOs. I have a sort of system I go through:

1) First step, I pick the powersets and travel power I plan to use first without any consideration into IOs. For instance, I made an Elec/Invuln Brute with Fly. I can't even use Hover/Fly in combat because of LR, but I have them anyway because it's the character concept that matters, and that character flies.

2) Then, I plot out a non-IO build that has basic slotting for everything which includes about 5 slots for attacks and anything else I need. If I have spare slots they go into things like Stamina, extra slots for long recharge attacks, or miscellaneous things. If the build is too weak on slots, I can it. If it has lots of extra slots, I put heavy thought into actually making it. Thankfully, /Pain, /Traps, /WP, and /Invuln are all fairly friendly.

3) Within those parameters, I work out IOs and shoot for meaningful bonuses. All of the powers I chose still have to perform their intended role, meaning attacks still have to hit 95% damage, armors still have to be slotted, and any other power picks I made have to do what I got them for. I also have some requirements on powers, like powers need to have at least 130% accuracy after all is considered, and toggles need to have at least 70% end reduction. That's just personal preference though.

I don't make builds where I have unslotted Tough or Jab, or HPT that has no +RES slotted into it. As such, most of the builds I see posted sicken me. My builds maybe aren't the most efficient out there, but I have a soft-cap Invuln Brute, a super-powerful Widow, and a Blaster with 35% ranged DEF, and I like all three of them. Also for that reason I don't usually post my builds, because I don't like to explain or justify my decisions. I build for concept, then powers, THEN IOs.


Quote:
Originally Posted by PRAF68_EU View Post
Dispari has more than enough credability, and certainly doesn't need to borrow any from you.

 

Posted

Quote:
Originally Posted by FourSpeed View Post

Given these power choices, how could I slot them to maximise:

defense (as you've suggested) OR
resistance OR
recharge OR
Dmg/Sec, OR
Dmg/End

etc.
Yes. But I was hoping to start slow. :-)

With softcap life is a bit easier for everyone--you just want over 45%. No need for global optimization. From the integer programming point of view, you could write constraints without having an objective function (making it more likely that there exists multiple solutions--there are no global optima). And from the user point of view you could potentially have much more flexibility in your final build, i.e., the program might find solutions with 6 or 7 "cheap" IO sets and a few using "expensive" IO sets on fewer powers and some in between.


Current Triumph Server Fifties:
Jim Pinrail (energy/kin defender), James van der Helm (ill/ff controller), Jim Jab (db/sr scrapper), Golden Chalice (emp/rad defender), Exclamation (dm/sd scrapper), Jim-El (elm/sd scrapper), Riparian (spines/wp scrapper), Psychiatric Solution (mind/psi dominator), Tricky Pick (night widow), Hypohipster (km/wp scrapper)

 

Posted

Quote:
Originally Posted by Nihilii View Post
I'm not seeing the use. I mean, getting to the softcap is mostly pointless if it involves leaving individual powers poorly slotted ; and if you want to do that anyway, you can just filter by IO set bonuses in Mids and randomly slot everything that boosts defense until you hit the softcap.

Granted, I might be biaised because I'm afraid six months for now we'd see tons of terrible builds on the forums.
My thoughts as well. Yes, just about any build can softcap... the question is whether or not they should softcap. I've only ever actually taken one non-defensive set (Fire Aura) to softcap, but I've sketched out on paper soft-capping a couple of my controllers, a blaster, and a corrupter... and I couldn't help but feel that in each case I was making slotting and power choices that pretty much defeated the avatar's main job.

I also suspect that for Going Rogue we'll see an engine adjustment to account for the number of soft-capped builds floating around. One of the devs commented on the abundance of plus defensive IO set bonus's, and from the wording choice, I think we've probably seen the last of any new IO sets with + defense. I suspect the developers solution(s) will be to increase the defense debuff resistance cap, and boost the native resist defense debuff powers . I expect this will be coupled against another adjustment to NPC to-hit / accuracy ratings, with the idea that Tanks, Stalkers, Scrappers, and Brutes with defense debuff resistance are unaffected by the changes, but that archtypes without defense debuff resistance will be put into cascading defense failure quicker, and thus will be less reliant on soft-capping a particular defense.

Now, I don't have any proof that this is in the developers list of things to do for Going Rogue. I just somewhat... doubt... that the holy grail of soft-capping is going to go un-addressed at all for play balance.


 

Posted

Quote:
Originally Posted by Nihilii View Post
I'm not seeing the use. I mean, getting to the softcap is mostly pointless if it involves leaving individual powers poorly slotted ; and if you want to do that anyway, you can just filter by IO set bonuses in Mids and randomly slot everything that boosts defense until you hit the softcap.

Granted, I might be biaised because I'm afraid six months for now we'd see tons of terrible builds on the forums.
Just to be clearer:

I am just wondering whether this would be useful for anyone. My idea would involve returning multiple potential slottings, all of which would reach softcap on defense given user-chosen power choices. This would just be a single tool allowing you to see different ways of slotting to reach softcap. All slots not involving reaching softcap would be left open.

But you make great point--on many ATs and powersets, it's incredibly easy to reach softcap and there could be an extraordinary number of possibilities.

Also, before anyone says it: It's obvious that only a subset of people would need this functionality. Not every build needs softcap defense. It is an easy target and an oft-requested objective when people post their builds. Usual responses/critiques involve only minor power choice changes--more focus goes to IO sets.


Current Triumph Server Fifties:
Jim Pinrail (energy/kin defender), James van der Helm (ill/ff controller), Jim Jab (db/sr scrapper), Golden Chalice (emp/rad defender), Exclamation (dm/sd scrapper), Jim-El (elm/sd scrapper), Riparian (spines/wp scrapper), Psychiatric Solution (mind/psi dominator), Tricky Pick (night widow), Hypohipster (km/wp scrapper)

 

Posted

The resulting builds would probably be mega-expensive or impractical.


 

Posted

Yeah, you'd have to take cost into consideration, and a whole bunch of other factors.

Is it realistic to expect anyone aiming for this to get the Steadfast unique? (125 merits or several million). What about redside? What about the other PVP IO unique that gives +3% Def?

What could help would be a programme where you could add some standard solutions into your build at the click of a button, eg.

Leadership pool:
Manouvres
Manouvres slotted with Red Fortune
Manouvres slotted with Red Fortune + Tactics with Gaussian

Fighting Pool:
Tough with Steadfast unique
Tough with Steadfast unique & Aegis
Tough with Steadfast unique & Aegis + Weave
Tough with Steadfast unique & Aegis + Weave with Red Fortune


 

Posted

Quote:
Originally Posted by DrMike2000 View Post
Is it realistic to expect anyone aiming for this to get the Steadfast unique? (125 merits or several million).
Steadfast is like 10m tops on either side (unless you're a buy-it-now person). It's very affordable for anyone bothering to get any sort of IOs. In fact it's one of the best IOs in the game for cost/benefit.


Quote:
Originally Posted by PRAF68_EU View Post
Dispari has more than enough credability, and certainly doesn't need to borrow any from you.

 

Posted

Quote:
Originally Posted by Prof_Backfire View Post
The resulting builds would probably be mega-expensive or impractical.
The primary question I have is whether this would be useful for anybody and the secondary question is whether anyone has considered the possibility in the past.

I tried to clarify before--The idea would be to return several different ways of reaching softcap on defense. This would allow for flexibility regarding expense. A thoughtful suggestion in this regard might be allowing for de-selection of sets (e.g., ones that the user knows are expensive) if the program is returning too many impractical builds.

I'll edit the original post since it's apparent that people are focusing on this issue so much.


Current Triumph Server Fifties:
Jim Pinrail (energy/kin defender), James van der Helm (ill/ff controller), Jim Jab (db/sr scrapper), Golden Chalice (emp/rad defender), Exclamation (dm/sd scrapper), Jim-El (elm/sd scrapper), Riparian (spines/wp scrapper), Psychiatric Solution (mind/psi dominator), Tricky Pick (night widow), Hypohipster (km/wp scrapper)

 

Posted

Quote:
Originally Posted by Dispari View Post
Steadfast is like 10m tops on either side (unless you're a buy-it-now person). It's very affordable for anyone bothering to get any sort of IOs. In fact it's one of the best IOs in the game for cost/benefit.
Yeah, I'd agree with you there.


 

Posted

QR

Also, integer programming is generally NP-hard. What is being suggested sounds a lot like a CoH build version of the Traveling Salesman problem (or, a little bit different, since the TSP forbids visiting the same city twice, while the proposed problem allows multiple sets in the same power, and multiple copies of the same set). There is a solution. There is no efficient algorithm for finding that solution. The runtime required to find the solution should also increase exponentially with the number of slots available for the level you're shooting at.


http://www.fimfiction.net/story/36641/My-Little-Exalt

 

Posted

Quote:
Originally Posted by Fleeting Whisper View Post
QR
Also, integer programming is generally NP-hard.
Generally, yes. However, there are several papers that would suggest this problem is very likely within the scale of modern integer programming solving methods--including my own experience and research using integer programming to solve problems with many more constraints and variables along the same lines as this problem. But I am only suggesting integer programming as one possible method. I'd be happy to use something else.

Quote:
Originally Posted by Fleeting Whisper View Post
QR
What is being suggested sounds a lot like a CoH build version of the Traveling Salesman problem (or, a little bit different, since the TSP forbids visiting the same city twice, while the proposed problem allows multiple sets in the same power, and multiple copies of the same set).
I believe this is nothing like a TSP at all. To me this seems much closer to minimum-valued path problem. Recall softcap is a cap--so we need only find a single path to 45% on each of melee/aoe/range (or smashing/lethal). Why visit each power at least once? Or each set at least once? Or whatever it is what you are considering as the nodes here. For those paying attention, there are many efficient algorithms that can find a solution to such problems quickly.

Quote:
Originally Posted by Fleeting Whisper View Post
There is a solution. There is no efficient algorithm for finding that solution.
If this statement included some form of formal proof or a pointer to some convincing information, that'd be awesome. Otherwise, I have no idea whether this statement is correct or not. I could just as easily claim otherwise. It's an interesting hypothesis. I'd love to know if it were true in general. Either way, I am fairly confident that perhaps all solutions to the problem of softcapping defense for particular power selections can be found within a few seconds on modern day desktops. This is because the number of variables and constraints is relatively small (and not particularly difficult).

Quote:
Originally Posted by Fleeting Whisper View Post
The runtime required to find the solution should also increase exponentially with the number of slots available for the level you're shooting at.
I see no reason why this would be true at all. Please explain this further because I believe this upper bound on runtime could only occur using the most naive solving methods (like breadth-first search, for instance).

This message appears to be attacking the solution method--integer programming, without careful consideration of the problem structure. However, I appreciate it immensely because it points out where this problem might be difficult (i.e., why no one has done this before).


Current Triumph Server Fifties:
Jim Pinrail (energy/kin defender), James van der Helm (ill/ff controller), Jim Jab (db/sr scrapper), Golden Chalice (emp/rad defender), Exclamation (dm/sd scrapper), Jim-El (elm/sd scrapper), Riparian (spines/wp scrapper), Psychiatric Solution (mind/psi dominator), Tricky Pick (night widow), Hypohipster (km/wp scrapper)

 

Posted

Slot efficiency, for both individual powers and the whole build itself is what concerns me, not power selection.

To illustrate, here's an arch/MM build I made in three minutes on Mids, with a focus on softcapping ranged first and then as much AoE def as possible. I think the power choices are reasonable, but the slotting makes the build mostly laughable despite being at the softcap :

Code:
| Copy & Paste this data into Mids' Hero Designer to view the build |
|-------------------------------------------------------------------|
|MxDz;1394;677;1354;HEX;|
|78DAA593594F13611486BFE942A50B6D595AB64259A58003552F5C2E8C1B89094DB|
|020572A19CBA43469A64D5B22D51B7F80372A8B68708B6B0C88DE19FF89FA5FEA39|
|E7FD4A4CBC74327D9FCE9973BEF37E6766321B57824A3DB8A08CD0E5A255ADAE5C2|
|2ADD9156FC6CA1772CAA7948AE9D04AD672F2F6AA79B1925BB32BF591667871BD5C|
|2E556A66C6766A567125633985F27AD1AA154A4EF49A43A914379B7F820BA552D19|
|CB7AD72C1C9E362AE5073EC6AD52F178B65DB5E0DE9787EAD4659ED57CB859C3957|
|AAE46C5A9C5BD6BBC9568A7EFDAA7934BCEA3521AD5C7BC01B81E705F052D0F24AF|
|0E8EFAA5D43EE3C151CDB01B605FEE7C033C100E51BA8F21807B250701FF82A68FB|
|067C112448DDBA891BD622B01681B576586B87B54E581B24F5EA2A2FAA3A5115435|
|50C55DDA8EA465592D4A7AB7C1F5C1CEA7D0F7C12F4BF03DE0A063E0A3629BF556F|
|A8151B4A620B496C21792818C2F662D421200368B8023FB1D02FE0B7A0851242485|
|0A109A9D9220DA3850A4F49C84759519D151D95D03669876188FD8E6519F6D00D20|
|2B185904AE034B7848B4501716F276ED8883D14D600B782218DF061E0B86A92AAED|
|BC7E1C8A0508F36D9D3A043B929D28724A38FB3132A7DD22D2F12DD49E8A68936F1|
|31EE171C0F03012028488504BCCD413DE9414C7A12239EC41B3489114F63FC23D46|
|418E9AE614C3A8549A730E95DBA35A6D71BABA3F4AEE0C406701FB827F84CD627F4|
|0627BAC4D13E85A6F4C39C3A2DA1E959C14C5A704009A6F660223483BC995382389|
|99CD509B3309986C9344CF67B8EBE323A79ACF3FF44163C47DF94322432E4697E66|
|8DFF3ABE079BBD5AB37ED22596059665969B2CB7586EB3582C7758722C8D1F47D5E|
|1336CE82CCB3996F32C0F39C9172009B00459422C6D2C6196084B074B8CA597658F|
|A5F1075A7F06C9|
|-------------------------------------------------------------------|
"Highlights" include : DP without any slotted accuracy, Aim slotted more heavily than BU, one slotted Hasten, no global recharge to speak of...

That's the kind of stuff I'm worried an automated program would churn out. Now I don't know much about programming, so maybe I'm completely wrong about it and you can actually make it "smarter" than that.


 

Posted

I was actually considering this very question yesterday morning, and this:

Quote:
Originally Posted by Nihilii View Post
Slot efficiency, for both individual powers and the whole build itself is what concerns me, not power selection.
was my big concern from a non-technical perspective. Even if the user picks the powers, you'd have to do some pretty heavy flagging to indicate things like 'I don't care that Pacing of the Turtle gives 3.13% melee defense, don't six-slot Spine Burst with a slow set.'

There'd also need to be some weighting built in ideally, so that it would take cost into consideration: again, on Spine Burst, it can be slotted with a few different PBAoE sets, five of which have defense in PvE. To use an exaggerated example, if Obliteration (+3.75% melee defense) is going for 500 million a set this week and Scirocco's Dervish (+3.13% AoE defense) is going for 20 million a set, most players would probably slot it for the latter and try getting their melee defense elsewhere unless they absolutely needed that last bit.

Players would also have to nitpick over how many slots go into powers... if I want the Entropic Chaos: Chance for Heal proc in all of my attack chain, I probably don't want those 6-slotted with Thunderstrikes.

And then there are the values themselves... Sure, six-slotting Shiver with Pacing of the Turtle gives some good ranged defense, but the power doesn't really need all that many slots to be effective, and they'd probably be better used elsewhere unless they absolutely must be used in that specific power to hit the soft cap on ranged defense. Some powers are better off franken-slotted than using full sets, too.

tl;dr: I think players would have to guide the program so much in order to get actually useful output that they might as well just do it themselves.


Having Vengeance and Fallout slotted for recharge means never having to say you're sorry.

 

Posted

Isn't it more of a 0/1 knapsack problem with a lot of different definitions of 'value'?


Having Vengeance and Fallout slotted for recharge means never having to say you're sorry.

 

Posted

Quote:
Originally Posted by Fulmens View Post
So... you're suggesting that solving a Traveling Salesman problem is EASIER than just doing a softcapped build?

Huh.
If this is directed at me:

I'm not suggesting that at all. What did I say that made you believe that? I assure you, if there was any implication of such a statement it was a typo that I appear to have missed--even now after just re-reading my messages.

I am saying you can cast the problem as an integer program (IP), but you can just as easily (likely) cast the problem as a minimum-valued path problem, which you can use Ford–Fulkerson to solve. Using an IP solver to generate a solution to the problem does not in any way immediately imply that the problem is equivalent to solving TSP.


Current Triumph Server Fifties:
Jim Pinrail (energy/kin defender), James van der Helm (ill/ff controller), Jim Jab (db/sr scrapper), Golden Chalice (emp/rad defender), Exclamation (dm/sd scrapper), Jim-El (elm/sd scrapper), Riparian (spines/wp scrapper), Psychiatric Solution (mind/psi dominator), Tricky Pick (night widow), Hypohipster (km/wp scrapper)

 

Posted

Quote:
Originally Posted by Kelenar View Post
was my big concern from a non-technical perspective. Even if the user picks the powers, you'd have to do some pretty heavy flagging to indicate things like 'I don't care that Pacing of the Turtle gives 3.13% melee defense, don't six-slot Spine Burst with a slow set.'
Quote:
Originally Posted by Kelenar View Post
tl;dr: I think players would have to guide the program so much in order to get actually useful output that they might as well just do it themselves.
You and Nihilii make excellent points. All additional constraints in this regard would end up getting messy. If faced with several possible slotting choices, you'd end up with so many constraints that it would be hardly worth it. The interface to this program would need to be extremely intuitive for anything like this to work for the typical end user, and if you're changing things at a fine level you might as well just use Mids...

It seemed like a fun at-home project on the surface. Thanks for making these points. I think I may still do it, but as more of proof of concept than anything else.

Given this, I am just now thinking that perhaps a "tweak this build to softcap defense" project might be more useful to the CoX community. This would attempt to maintain your current slotting as much as possible, exploring "local changes" to reach softcap. Such an endeavor would require some more thought, though.


Current Triumph Server Fifties:
Jim Pinrail (energy/kin defender), James van der Helm (ill/ff controller), Jim Jab (db/sr scrapper), Golden Chalice (emp/rad defender), Exclamation (dm/sd scrapper), Jim-El (elm/sd scrapper), Riparian (spines/wp scrapper), Psychiatric Solution (mind/psi dominator), Tricky Pick (night widow), Hypohipster (km/wp scrapper)

 

Posted

Quote:
Originally Posted by pinrail View Post
If this statement included some form of formal proof or a pointer to some convincing information, that'd be awesome. Otherwise, I have no idea whether this statement is correct or not. I could just as easily claim otherwise. It's an interesting hypothesis. I'd love to know if it were true in general. Either way, I am fairly confident that perhaps all solutions to the problem of softcapping defense for particular power selections can be found within a few seconds on modern day desktops. This is because the number of variables and constraints is relatively small (and not particularly difficult).
I don't have anything resembling a formal proof. My post was based entirely on intuition coming from my experience in programming and in optimizing various builds while still being playable.

In order to give you a proof, I'd have to actually spend time working on the problem. At the moment, I'm more concerned with getting the garbage collector for my Programming Languages class working properly, completing my exams for this semester, working on my Advanced Game Programming project, working on Cross-Platform Mids', getting together (and spending time) with my family for the holidays, and dealing with the aftermath of my opa's funeral. Proving the complexity classification for a CoH build optimizer algorithm is rather low on my list of priorities, so I wrote about my gut reaction in the hope that it might help you find the answer you're looking for.


http://www.fimfiction.net/story/36641/My-Little-Exalt

 

Posted

Quote:
Originally Posted by Fleeting Whisper View Post
I don't have anything resembling a formal proof. My post was based entirely on intuition coming from my experience in programming and in optimizing various builds while still being playable.

In order to give you a proof, I'd have to actually spend time working on the problem.
Of course I appreciate that fully.

The response related to what appeared to be a sweeping proclamation that there is no efficient algorithm for solving the problem. My only intention was to defend the proposition that there may exist such an algorithm, largely to avoid the implication of "no easy solution is possible here--it is a waste of time" from dissuading further discussion on the matter.

Quote:
Originally Posted by Fleeting Whisper View Post
At the moment, I'm more concerned with getting the garbage collector for my Programming Languages class working properly, completing my exams for this semester, working on my Advanced Game Programming project, working on Cross-Platform Mids', getting together (and spending time) with my family for the holidays, and dealing with the aftermath of my opa's funeral. Proving the complexity classification for a CoH build optimizer algorithm is rather low on my list of priorities
Cross-platform Mids' sounds awesome! As for the rest, I feel for ya.

Quote:
Originally Posted by Fleeting Whisper View Post
so I wrote about my gut reaction in the hope that it might help you find the answer you're looking for.
Thank you. As I said in my initial response, what you wrote was immensely helpful, as it forced me to dive deeper into the main problem and consider analogous problems. I apologize if my reply seemed harsh. Like you I was writing a bit from the gut as I was thinking.


Current Triumph Server Fifties:
Jim Pinrail (energy/kin defender), James van der Helm (ill/ff controller), Jim Jab (db/sr scrapper), Golden Chalice (emp/rad defender), Exclamation (dm/sd scrapper), Jim-El (elm/sd scrapper), Riparian (spines/wp scrapper), Psychiatric Solution (mind/psi dominator), Tricky Pick (night widow), Hypohipster (km/wp scrapper)

 

Posted

Quote:
Originally Posted by pinrail View Post
My only intention was to defend the proposition that there may exist such an algorithm, largely to avoid the implication of "no easy solution is possible here--it is a waste of time" from dissuading further discussion on the matter.
When I wrote that there is no efficient solution, that was in reference to the TSP (which I compared to your suggestion, so I can easily understand the confusion). Also, there's a big difference between "easy" and "efficient".

Bubble Sort is easy to write, but inefficient. Quick Sort is much harder to write than Bubble Sort, but also much more efficient


http://www.fimfiction.net/story/36641/My-Little-Exalt