Quote:
Originally Posted by
kombatkiwi
1st Problem - You have to account for way too many things:
- 'Raw' power of different cards (whatever this means)
It's actually not that big a list of things to account for. I've done some work on the conditions, if you check my post history you can find them. You don't actually have to weight the power of cards, beat/tie/lose is enough. Raw power naturally appears from that in a card that beats everything.
Quote:
- How a card fits with the mana curve of every other card in the deck, and consider the % of the metagame playing wasteland, stifle etc
- How demanding the colors of different cards are, and considering the % of the metagame playing blood moons etc
I think you're misunderstanding what the results of such a system do. A matchup matrix is only the first step. From that, you then use some social network analysis to create groups of cards that naturally work well together in clusters. Once you have that, you can pick and choose your cards based on more manual criteria. All in all it's a system for reducing a card pool to a handful of cards. From there you need to apply some deck building logic (or do what I did and write a program that can build decks for you).
Quote:
- Power and toughness of different creatures you can play vs other commonly played meta creatures
That one is extremely simple, it's just a simple x vs y calculation. Beat if x wins, tie if they bounce or trade, lose if y wins.
Quote:
- Some way to quantify how good unique sb cards like Lost Legacy are (or aren't) vs various strategies
This one is easy.
Quote:
- Have some penalty for 1 drops because of chalice decks
No penalty is needed. In the matrix, chalice beats 1 drops. In the weighted results the value of that shifts according to the number of decks with chalice you put in the metagame.
Quote:
2nd Problem - Assuming that you have correctly identified every possible factor involved in card selection, the weighting for each has to be 100% data driven.
For example, you can't just say "1 mana cards get a -10%*D multiplier (where D is the meta% of chalice decks) because I think that this reflects the drawback that these cards represent vs Chalice of the Void". How do you know it's 10%? Maybe Chalice actually isn't that important and it's only -2%. Maybe this is the wrong approach and rather than give individual cards a penalty vs Chalice you need to give the entire deck a 'Chalice penalty' that is a function of the number of 1-mana cards squared. The point is that whatever rule you choose has to come from empirical evidence of how 1 mana cards actually affect your win percentage vs chalice decks. If your justification is that "10% feels about right" then the numbers are just a proxy for your intuition, at which point you should abandon the numbers and admit you are just building your deck based on how good you think certain cards are.
This is what you said above. It's a trivial problem to solve.
Quote:
3rd Problem - You can't disagree with the results
Say you think you have accounted for every element of the strength of different cards and the web of how they all interact with each other and you have empirical data that shows how strongly each different factor affects deck strength and you plug it all into an algorithm which spits out a decklist.
You look at the decklist and it seems shit. But you can't make changes without testing it because that is just an admission that intuition is king and the numbers are pointless.
So you test it in some games and it still seems shit. So you go back and tweak your parameters. But this means that you failed at either problem 1 or problem 2. It is possible that by some iterative testing process you can eventually arrive at some ideal list, but I seriously question the efficiency and effectiveness of doing this by numerically updating rules and weights as opposed to the 'normal' heuristic way.
That's why I built an AI that's capable of taking decklists and playing them against each other. Variance in Magic is too high, a handful of games doesn't give anywhere near reliable information. And yes, I've actually taken decks my program has built for me to tournaments. They did well.
Quote:
If you really believe this approach to be viable, why would you limit it to specific archetypes? Why not apply it to the whole of legacy? If you can really build such a system it would necessarily have the capability to solve the entire format. I suspect that to end up with a Nic Fit deck you would have to include axioms that aren't empirically justifiable (like "DECK must contain 4 (FOUR) Veteran Explorer and 4 (FOUR) Cabal Therapy") otherwise your program would probably just give you a list with 4 Delver, 4 Brainstorm, 4 Ponder...
There's two problems at work here, one is of building a card pool and the other is tuning a deck. The cardpool problem is the one you were referring to and it will work for any deck to find piles of threats+removal, it's not capable of finding combos. The other problem is one of playing the decks against each other in order to tune them. That problem becomes archetype and in some cases deck specific because you need to approach cards with different views on their use depending on the decks strategy. For example, the criteria for what card you want to name with Cabal Therapy is much different for Nic Fit as you're usually looking to take your opponents enablers than for Storm where you want to take their answers.