Here's my thoughts on how we could put together a deck building program that wouldn't be too impossibly complex, but could still yield decks that are at least passable:
--------------------------------------------------------------------------------------------------------------------
Step 1:
Condense each card down to two numbers, one for how good it is in short games, one for how good it is in long games. (rush index vs. stall index)
Then, give each card a set of synergy numbers, for how good it is in combination with each other card. (more on this later)
Step 2:
Either a human "feeds" the program one or more cards, or it picks a starting card at random.
Step 3:
The program then picks the next card based on three criteria:
-The rush & stall index. More weight would be given to one versus the other depending on the total rush and stall index of the deck so far. (i.e. the more rush cards in the deck, the more likely it is to pick another rush card)
-The synergy tables. Basically each card would give a bonus to the chance of picking cards that work well in conjunction with it, and a penalty to cards that work poorly with it. (i.e. the program is more likely to pick discord if you already have black hole, but less likely to pick sanctuary if you already have dissipation shield)
-Any card that would require the addition of a new type of quanta to the deck would be given a penalty. This penalty would increase based on how many elements are already in the deck.
These three things would be evaluated together to determine the % chance of picking any given card.
Step 4:
The program then evaluates the QI of the deck to determine how many pillars/towers/pendulums the deck currently needs.
Step 5:
Repeat steps 3 & 4 until the deck contains 30 or more cards.
--------------------------------------------------------------------------------------------------------------------
The decks produced wouldn't be perfect by any means, and there'd be several other flaws (it would never make a rainbow unless one of the starting cards was nova or a quantum tower or cremation, cremation would ALWAYS give a rainbow), but it should yield at least a semi-cohesive deck.