Ejemplo n.º 1
0
    def __init__(self, number, time_limit=10, name=None):
        """ This bot plays using a simple heuristic based on the weighted sum of board positions

        :param number:  Board.X for player1 or Board.O for player2
        :param time_limit: The maximum time that the bot has to make a move
        :param name: A descriptive name for the Bot
        """
        if name is None:
            name = "Heuristic1 Minimax"
        MinimaxBot.__init__(self, number, time_limit, name=name)
        self.player_type = 'h1 minimax'
Ejemplo n.º 2
0
    def __init__(self, number, time_limit=4, name=None):
        """Minimax bot that plays with the H3 heuristic

        :param number:  Board.X for player1 or Board.O for player2
        :param time_limit: The maximum time that the bot has to make a move
        :param name: A descriptive name for the Bot
        """
        if name is None:
            name = "Heuristic3 Minimax"
        MinimaxBot.__init__(self, number, time_limit, name=name)
        self.player_type = 'h2 minimax'
Ejemplo n.º 3
0
    def __init__(self, number, max_depth=4, name=None):
        """
        The init method should follow this pattern.  Just change the name of the bot.

        :param number:  Board.X for player1 or Board.O for player2
        :param max_depth:  The maximum depth of the lookahead
        :param name: A descriptive name for the Bot
        """
        if name is None:
            name = "Example Minimax"
        MinimaxBot.__init__(self, number, max_depth, name=name)
        self.player_type = 'example minimax'
    def __init__(self, number, name=None):
        """
        Minimax bot which uses a simple feed-forward neural net to score board states

        :param number:  Board.X for player1 or Board.O for player2
        :param name: A descriptive name for the Bot
        """
        if name is None:
            name = "Continuous Neural Net Bot"
        MinimaxBot.__init__(self, number, name=name)
        self.player_type = 'continuous-nn minimax'

        objects = serialization.read_all("models/game/bots/weka_models/mlp-tuned-continuous.model")
        self.classifier = Classifier(jobject=objects[0])
Ejemplo n.º 5
0
    def __init__(self, number, name=None):
        """
        Minimax bot which uses a nominal neural network to score board states
        The neural net outputs one of ten classes.  The higher the class number, the better the board state for X

        :param number:  Board.X for player1 or Board.O for player2
        :param name: A descriptive name for the Bot
        """
        if name is None:
            name = "Nominal NeuralNet Bot"
        MinimaxBot.__init__(self, number, name=name)
        self.player_type = 'nominal-neuralnet minimax'

        objects = serialization.read_all("models/game/bots/weka_models/mlp-tuned-categorical.model")
        self.classifier = Classifier(jobject=objects[0])
    def __init__(self, number, name=None):
        """
        Minimax bot which uses a Model Tree to score board states

        :param number:  Board.X for player1 or Board.O for player2
        :param name: A descriptive name for the Bot
        """
        if name is None:
            name = "Model Tree Bot"
        MinimaxBot.__init__(self, number, name=name)
        self.player_type = 'modeltree minimax'

        objects = serialization.read_all(
            "models/game/bots/weka_models/model-tree.model")
        self.classifier = Classifier(jobject=objects[0])
    def __init__(self, number, name=None):
        """
        Minimax bot which uses a decision tree to score board states
        The decision tree outputs one of ten classes.  The higher the class number, the better the board state for X

        :param number:  Board.X for player1 or Board.O for player2
        :param name: A descriptive name for the Bot
        """
        if name is None:
            name = "DTree Bot"
        MinimaxBot.__init__(self, number, name=name)
        self.player_type = 'dtree minimax'

        objects = serialization.read_all(
            "models/game/bots/weka_models/j48_default.model")
        self.classifier = Classifier(jobject=objects[0])
Ejemplo n.º 8
0
 def __init__(self, number, max_depth=2, name=None):
     if name is None:
         name = "Rando-Max Bot"
     MinimaxBot.__init__(self, number, max_depth, name=name)
     self.player_type = 'randomax'
     random.seed()