Sunday, February 20, 2011

Here's how I would do a Dominion AI.

I would have 3 subsystems, Priorities, Economics and Tactics. Priorities would be in charge of bookkeeping, judging in which phase we are and breaking ties between the other two. Economics would be thinking in the long term how to get as much Victory Points as possible. Tactics on the other hand would be about the now and how to have the advantage in the short term.

Tactics only cares about what I have in my hand, the table and what little we know about the other's hand.

Economics is analyzing the probabilities of the deck, should we start buying? If I add this card the expected money per hand is incremented?

Priorities is the head-heart of all. It assigns the weight to its two arms. It has two read the available cards and decide if it will be an attack heavy. It should also be able to say, screw this strategy, it's not working, come up with something else.

Economics should be an ensemble of strategies ruled by the weighted perceptron algorithm. Tactics should do alpha beta prunning. Priorities should use adaboost.

Why those algorithms? I'm still learning but seem to be the best options in my limited repertoire. The "boost" to Economics by Priorities of removing the weak and reseting the counters should be studied with more detail.

ETA: 4 months :S And it might be weak against the expansions as I have never played with those cards.