title: Find best combination with Machine Learning
body: <p>I am developing a deck combination optimizer for a card game with machine learning. The idea is to first collect the historcal battle records. Then use the data the predict the best deck combination.</p>
  <p>For example, if we have a record of</p>
  <pre><code>deck_1 = [card_1, card_2, card_3]
  deck_2 = [card_4, card_5, card_6]
  </code></pre>
  <p>if deck_1 wins, the score of deck_1 = 1, deck_2 = 0
  Using this data we can create a table</p>
  <pre><code>| card1    | card2    | card3    | score   |
  | -------- | -------- | -------- |-------- |
  | card_1   | card_2   | card_3   | 1       |
  | card_4   | card_5   | card_6   | 0       |
  </code></pre>
  <p>Assuming the number of card is at a range of 1 to 3 so I make 3 static fields for cards</p>
  <p>A possible solution for the predicting model is to subsitute all combination of card to predict a score, and get the max E.g.</p>
  <pre><code>maxOf (
  predict(card_1, card_2, card_3) 
  predict(card_1, card_2, card_4) 
  predict(card_1, card_2, card_5)
  ...
  predict(card_4, card_5, card_6) 
  )
  </code></pre>
  <p>But the problem is, if there are 100 cards, I need to predict 970200 combinations. Is there a way to optimize this?</p>