public NeuralAIv3(AIRandomControl aiRandomControl) : base(aiRandomControl) { aiType = AIGeneration.NeuralV3; specificUpdateKey = new RequestedInfoKey(false); specificUpdateKey.SetInfoTypeRequired(InfoType.WR_CardsOnlyWinPercentage); specificUpdateKey.SetInfoTypeRequired(InfoType.GP_NumActivePlayers_Byte); specificUpdateKey.SetInfoTypeRequired(InfoType.GP_NumUnactedPlayers_Byte); specificUpdateKey.SetInfoTypeRequired(InfoType.GP_NumTableSeats_Byte); specificUpdateKey.SetInfoTypeRequired(InfoType.GP_GameStage_Byte); specificUpdateKey.SetInfoTypeRequired(InfoType.BP_MinimumPlayAmount_Decimal); specificUpdateKey.SetInfoTypeRequired(InfoType.BP_PlayerBetAmountCurrentRound_Decimal); specificUpdateKey.SetInfoTypeRequired(InfoType.PAP_RaiseToCallAmount_Amount); specificUpdateKey.SetInfoTypeRequired(InfoType.PAP_RaiseToStealAmount_Amount); specificUpdateKey.SetInfoTypeRequired(InfoType.PAP_RaiseToBotCheck_Prob); specificUpdateKey.SetInfoTypeRequired(InfoType.PAP_RaiseToBotCall_Prob); specificUpdateKey.SetInfoTypeRequired(InfoType.PAP_FoldToBotCall_Prob); specificUpdateKey.SetInfoTypeRequired(InfoType.PAP_RaiseToStealSuccess_Prob); specificUpdateKey.SetInfoTypeRequired(InfoType.BP_TotalNumRaises_Byte); specificUpdateKey.SetInfoTypeRequired(InfoType.BP_TotalNumCalls_Byte); specificUpdateKey.SetInfoTypeRequired(InfoType.BP_TotalNumChecks_Byte); specificUpdateKey.SetInfoTypeRequired(InfoType.BP_ImmediatePotOdds_Double); specificUpdateKey.SetInfoTypeRequired(InfoType.AP_AvgScaledOppRaiseFreq_Double); specificUpdateKey.SetInfoTypeRequired(InfoType.AP_AvgScaledOppCallFreq_Double); specificUpdateKey.SetInfoTypeRequired(InfoType.AP_AvgScaledOppPreFlopPlayFreq_Double); }
public NeuralAIv6(AIRandomControl aiRandomControl) : base(aiRandomControl) { aiType = AIGeneration.NeuralV6; //Setup this AI's specific update key specificUpdateKey = new RequestedInfoKey(false); specificUpdateKey.SetInfoTypeRequired(InfoType.GP_GameStage_Byte); specificUpdateKey.SetInfoTypeRequired(InfoType.CP_HoleCardsAAPair_Bool); specificUpdateKey.SetInfoTypeRequired(InfoType.CP_HoleCardsKKPair_Bool); specificUpdateKey.SetInfoTypeRequired(InfoType.CP_HoleCardsAK_Bool); specificUpdateKey.SetInfoTypeRequired(InfoType.CP_HoleCardsOtherHighPair_Bool); specificUpdateKey.SetInfoTypeRequired(InfoType.CP_HoleCardsOtherLowPair_Bool); specificUpdateKey.SetInfoTypeRequired(InfoType.CP_HoleCardsTroubleHand_Bool); specificUpdateKey.SetInfoTypeRequired(InfoType.CP_HoleCardsMidConnector_Bool); specificUpdateKey.SetInfoTypeRequired(InfoType.CP_HoleCardsLowConnector_Bool); specificUpdateKey.SetInfoTypeRequired(InfoType.CP_HoleCardsSuited_Bool); specificUpdateKey.SetInfoTypeRequired(InfoType.GP_DealerDistance_Byte); specificUpdateKey.SetInfoTypeRequired(InfoType.GP_NumActivePlayers_Byte); specificUpdateKey.SetInfoTypeRequired(InfoType.GP_NumUnactedPlayers_Byte); specificUpdateKey.SetInfoTypeRequired(InfoType.BP_PlayerMoneyInPot_Decimal); specificUpdateKey.SetInfoTypeRequired(InfoType.BP_PlayerHandStartingStackAmount_Decimal); specificUpdateKey.SetInfoTypeRequired(InfoType.BP_PlayerBetAmountCurrentRound_Decimal); specificUpdateKey.SetInfoTypeRequired(InfoType.BP_TotalPotAmount_Decimal); specificUpdateKey.SetInfoTypeRequired(InfoType.BP_MinimumPlayAmount_Decimal); specificUpdateKey.SetInfoTypeRequired(InfoType.BP_LastAdditionalRaiseAmount); specificUpdateKey.SetInfoTypeRequired(InfoType.WR_ProbOpponentHasBetterWRFIXED); specificUpdateKey.SetInfoTypeRequired(InfoType.WR_RaiseToCallAmount); specificUpdateKey.SetInfoTypeRequired(InfoType.WR_RaiseToStealAmount); specificUpdateKey.SetInfoTypeRequired(InfoType.WR_RaiseToCallStealSuccessProb); specificUpdateKey.SetInfoTypeRequired(InfoType.WR_RaiseToStealSuccessProb); //specificUpdateKey.SetInfoTypeRequired(InfoType.PAP_RaiseToStealSuccess_Prob); //specificUpdateKey.SetInfoTypeRequired(InfoType.PAP_RaiseToCallAmount_Amount); //specificUpdateKey.SetInfoTypeRequired(InfoType.PAP_RaiseToStealAmount_Amount); specificUpdateKey.SetInfoTypeRequired(InfoType.AP_AvgLiveOppPreFlopPlayFreq_Double); specificUpdateKey.SetInfoTypeRequired(InfoType.AP_AvgLiveOppPostFlopPlayFreq_Double); specificUpdateKey.SetInfoTypeRequired(InfoType.AP_AvgLiveOppCurrentRoundAggr_Double); specificUpdateKey.SetInfoTypeRequired(InfoType.AP_AvgLiveOppCurrentRoundAggrAcc_Double); ////The following mostly used by PAP //specificUpdateKey.SetInfoTypeRequired(InfoType.GP_NumTableSeats_Byte); //specificUpdateKey.SetInfoTypeRequired(InfoType.CP_FlushPossible_Bool); //specificUpdateKey.SetInfoTypeRequired(InfoType.CP_StraightPossible_Bool); //specificUpdateKey.SetInfoTypeRequired(InfoType.CP_AOnBoard_Bool); //specificUpdateKey.SetInfoTypeRequired(InfoType.CP_KOnBoard_Bool); //specificUpdateKey.SetInfoTypeRequired(InfoType.CP_AKQToBoardRatio_Real); //specificUpdateKey.SetInfoTypeRequired(InfoType.BP_LastAdditionalRaiseAmount); //specificUpdateKey.SetInfoTypeRequired(InfoType.BP_BetsToCall_Byte); }
public NeuralAIv2(AIRandomControl aiRandomControl) : base(aiRandomControl) { aiType = AIGeneration.NeuralV2; specificUpdateKey = new RequestedInfoKey(false); specificUpdateKey.SetInfoTypeRequired(InfoType.BP_MinimumPlayAmount_Decimal); specificUpdateKey.SetInfoTypeRequired(InfoType.BP_PlayerBetAmountCurrentRound_Decimal); specificUpdateKey.SetInfoTypeRequired(InfoType.PAP_RaiseToCallAmount_Amount); specificUpdateKey.SetInfoTypeRequired(InfoType.WR_CardsOnlyWinPercentage); }
public NeuralAIv4(AIRandomControl aiRandomControl) : base(aiRandomControl) { aiType = AIGeneration.NeuralV4; //Setup this AI's specific update key specificUpdateKey = new RequestedInfoKey(false); specificUpdateKey.SetInfoTypeRequired(InfoType.CP_HoleCardsMatchedPlayability); specificUpdateKey.SetInfoTypeRequired(InfoType.GP_GameStage_Byte); specificUpdateKey.SetInfoTypeRequired(InfoType.GP_DealerDistance_Byte); specificUpdateKey.SetInfoTypeRequired(InfoType.GP_NumActivePlayers_Byte); specificUpdateKey.SetInfoTypeRequired(InfoType.GP_NumUnactedPlayers_Byte); specificUpdateKey.SetInfoTypeRequired(InfoType.BP_ImmediatePotOdds_Double); specificUpdateKey.SetInfoTypeRequired(InfoType.BP_PlayerMoneyInPot_Decimal); specificUpdateKey.SetInfoTypeRequired(InfoType.BP_PlayerHandStartingStackAmount_Decimal); specificUpdateKey.SetInfoTypeRequired(InfoType.BP_TotalPotAmount_Decimal); specificUpdateKey.SetInfoTypeRequired(InfoType.BP_TotalNumRaises_Byte); specificUpdateKey.SetInfoTypeRequired(InfoType.BP_TotalNumCalls_Byte); specificUpdateKey.SetInfoTypeRequired(InfoType.BP_TotalNumChecks_Byte); specificUpdateKey.SetInfoTypeRequired(InfoType.BP_MinimumPlayAmount_Decimal); specificUpdateKey.SetInfoTypeRequired(InfoType.BP_PlayerBetAmountCurrentRound_Decimal); specificUpdateKey.SetInfoTypeRequired(InfoType.BP_ScaledCallAmount_Double); specificUpdateKey.SetInfoTypeRequired(InfoType.WR_ProbOpponentHasBetterWRFIXED); specificUpdateKey.SetInfoTypeRequired(InfoType.WR_CardsOnlyWinPercentage); specificUpdateKey.SetInfoTypeRequired(InfoType.WR_CardsOnlyWinPercentageIndex); specificUpdateKey.SetInfoTypeRequired(InfoType.PAP_RaiseToStealSuccess_Prob); //specificUpdateKey.SetInfoTypeRequired(InfoType.AP_AvgScaledOppRaiseFreq_Double); //specificUpdateKey.SetInfoTypeRequired(InfoType.AP_AvgScaledOppCallFreq_Double); //specificUpdateKey.SetInfoTypeRequired(InfoType.AP_AvgScaledOppPreFlopPlayFreq_Double); specificUpdateKey.SetInfoTypeRequired(InfoType.BP_PlayerBetAmountCurrentRound_Decimal); specificUpdateKey.SetInfoTypeRequired(InfoType.PAP_RaiseToCallAmount_Amount); specificUpdateKey.SetInfoTypeRequired(InfoType.PAP_RaiseToStealAmount_Amount); //The following mostly used by PAP //specificUpdateKey.SetInfoTypeRequired(InfoType.GP_NumTableSeats_Byte); //specificUpdateKey.SetInfoTypeRequired(InfoType.CP_FlushPossible_Bool); //specificUpdateKey.SetInfoTypeRequired(InfoType.CP_StraightPossible_Bool); //specificUpdateKey.SetInfoTypeRequired(InfoType.CP_AOnBoard_Bool); //specificUpdateKey.SetInfoTypeRequired(InfoType.CP_KOnBoard_Bool); //specificUpdateKey.SetInfoTypeRequired(InfoType.CP_AKQToBoardRatio_Real); //specificUpdateKey.SetInfoTypeRequired(InfoType.BP_LastAdditionalRaiseAmount); //specificUpdateKey.SetInfoTypeRequired(InfoType.BP_BetsToCall_Byte); //The fixing metrics specificUpdateKey.SetInfoTypeRequired(InfoType.WR_ProbOpponentHasBetterWRFIXED); specificUpdateKey.SetInfoTypeRequired(InfoType.WR_RaiseToCallAmount); specificUpdateKey.SetInfoTypeRequired(InfoType.WR_RaiseToStealAmount); specificUpdateKey.SetInfoTypeRequired(InfoType.WR_RaiseToCallStealSuccessProb); specificUpdateKey.SetInfoTypeRequired(InfoType.WR_RaiseToStealSuccessProb); }
public NeuralAIv7(AIRandomControl aiRandomControl) : base(aiRandomControl) { aiType = AIGeneration.NeuralV7; #region preflop update key //Setup this AI's specific update key specificUpdateKey = new RequestedInfoKey(false); specificUpdateKey.SetInfoTypeRequired(InfoType.GP_GameStage_Byte); specificUpdateKey.SetInfoTypeRequired(InfoType.CP_HoleCardsAAPair_Bool); specificUpdateKey.SetInfoTypeRequired(InfoType.CP_HoleCardsKKPair_Bool); specificUpdateKey.SetInfoTypeRequired(InfoType.CP_HoleCardsAK_Bool); specificUpdateKey.SetInfoTypeRequired(InfoType.CP_HoleCardsOtherHighPair_Bool); specificUpdateKey.SetInfoTypeRequired(InfoType.CP_HoleCardsOtherLowPair_Bool); specificUpdateKey.SetInfoTypeRequired(InfoType.CP_HoleCardsTroubleHand_Bool); specificUpdateKey.SetInfoTypeRequired(InfoType.CP_HoleCardsMidConnector_Bool); specificUpdateKey.SetInfoTypeRequired(InfoType.CP_HoleCardsLowConnector_Bool); specificUpdateKey.SetInfoTypeRequired(InfoType.CP_HoleCardsSuited_Bool); specificUpdateKey.SetInfoTypeRequired(InfoType.GP_DealerDistance_Byte); specificUpdateKey.SetInfoTypeRequired(InfoType.GP_NumActivePlayers_Byte); specificUpdateKey.SetInfoTypeRequired(InfoType.GP_NumUnactedPlayers_Byte); specificUpdateKey.SetInfoTypeRequired(InfoType.BP_PlayerMoneyInPot_Decimal); specificUpdateKey.SetInfoTypeRequired(InfoType.BP_PlayerHandStartingStackAmount_Decimal); specificUpdateKey.SetInfoTypeRequired(InfoType.BP_PlayerBetAmountCurrentRound_Decimal); specificUpdateKey.SetInfoTypeRequired(InfoType.BP_TotalPotAmount_Decimal); specificUpdateKey.SetInfoTypeRequired(InfoType.BP_MinimumPlayAmount_Decimal); specificUpdateKey.SetInfoTypeRequired(InfoType.WR_ProbOpponentHasBetterWRFIXED); specificUpdateKey.SetInfoTypeRequired(InfoType.WR_RaiseToCallAmount); specificUpdateKey.SetInfoTypeRequired(InfoType.WR_RaiseToStealAmount); specificUpdateKey.SetInfoTypeRequired(InfoType.WR_RaiseToCallStealSuccessProb); specificUpdateKey.SetInfoTypeRequired(InfoType.WR_RaiseToStealSuccessProb); specificUpdateKey.SetInfoTypeRequired(InfoType.AP_AvgLiveOppPreFlopPlayFreq_Double); specificUpdateKey.SetInfoTypeRequired(InfoType.AP_AvgLiveOppPostFlopPlayFreq_Double); specificUpdateKey.SetInfoTypeRequired(InfoType.AP_AvgLiveOppCurrentRoundAggr_Double); specificUpdateKey.SetInfoTypeRequired(InfoType.AP_AvgLiveOppCurrentRoundAggrAcc_Double); #endregion #region postflop update key postFlopUpdateKey = new RequestedInfoKey(false); postFlopUpdateKey.SetInfoTypeRequired(InfoType.GP_GameStage_Byte); postFlopUpdateKey.SetInfoTypeRequired(InfoType.GP_DealerDistance_Byte); postFlopUpdateKey.SetInfoTypeRequired(InfoType.GP_NumActivePlayers_Byte); postFlopUpdateKey.SetInfoTypeRequired(InfoType.GP_NumUnactedPlayers_Byte); postFlopUpdateKey.SetInfoTypeRequired(InfoType.BP_PlayerMoneyInPot_Decimal); postFlopUpdateKey.SetInfoTypeRequired(InfoType.BP_PlayerHandStartingStackAmount_Decimal); postFlopUpdateKey.SetInfoTypeRequired(InfoType.BP_PlayerBetAmountCurrentRound_Decimal); postFlopUpdateKey.SetInfoTypeRequired(InfoType.BP_TotalPotAmount_Decimal); postFlopUpdateKey.SetInfoTypeRequired(InfoType.BP_MinimumPlayAmount_Decimal); postFlopUpdateKey.SetInfoTypeRequired(InfoType.WR_ProbOpponentHasBetterWRFIXED); postFlopUpdateKey.SetInfoTypeRequired(InfoType.WR_RaiseToCallAmount); postFlopUpdateKey.SetInfoTypeRequired(InfoType.WR_RaiseToStealAmount); postFlopUpdateKey.SetInfoTypeRequired(InfoType.WR_RaiseToCallStealSuccessProb); postFlopUpdateKey.SetInfoTypeRequired(InfoType.WR_RaiseToStealSuccessProb); postFlopUpdateKey.SetInfoTypeRequired(InfoType.AP_AvgLiveOppPreFlopPlayFreq_Double); postFlopUpdateKey.SetInfoTypeRequired(InfoType.AP_AvgLiveOppPostFlopPlayFreq_Double); postFlopUpdateKey.SetInfoTypeRequired(InfoType.AP_AvgLiveOppCurrentRoundAggr_Double); postFlopUpdateKey.SetInfoTypeRequired(InfoType.AP_AvgLiveOppCurrentRoundAggrAcc_Double); #endregion }
public NeuralAIv1(AIRandomControl aiRandomControl) : base(aiRandomControl) { aiType = AIGeneration.NeuralV1; specificUpdateKey = new RequestedInfoKey(false); specificUpdateKey.SetInfoTypeRequired(InfoType.CP_HoleCardsAAPair_Bool); specificUpdateKey.SetInfoTypeRequired(InfoType.CP_HoleCardsKKPair_Bool); specificUpdateKey.SetInfoTypeRequired(InfoType.CP_HoleCardsAK_Bool); specificUpdateKey.SetInfoTypeRequired(InfoType.CP_HoleCardsOtherHighPair_Bool); specificUpdateKey.SetInfoTypeRequired(InfoType.CP_HoleCardsOtherLowPair_Bool); specificUpdateKey.SetInfoTypeRequired(InfoType.CP_HoleCardsTroubleHand_Bool); specificUpdateKey.SetInfoTypeRequired(InfoType.CP_HoleCardsMidConnector_Bool); specificUpdateKey.SetInfoTypeRequired(InfoType.CP_HoleCardsLowConnector_Bool); specificUpdateKey.SetInfoTypeRequired(InfoType.CP_HoleCardsSuited_Bool); specificUpdateKey.SetInfoTypeRequired(InfoType.CP_HoleCardsFlushDraw_Bool); specificUpdateKey.SetInfoTypeRequired(InfoType.CP_HoleCardsOuterStraightDrawWithHC_Bool); specificUpdateKey.SetInfoTypeRequired(InfoType.CP_HoleCardsInnerStraightDrawWithHC_Bool); specificUpdateKey.SetInfoTypeRequired(InfoType.CP_HoleCardsTopOrTwoPair_Bool); specificUpdateKey.SetInfoTypeRequired(InfoType.CP_HoleCardsAOrKInHand_Bool); specificUpdateKey.SetInfoTypeRequired(InfoType.CP_HoleCards3KindOrBetterMadeWithHC_Bool); specificUpdateKey.SetInfoTypeRequired(InfoType.CP_AOnBoard_Bool); specificUpdateKey.SetInfoTypeRequired(InfoType.CP_KOnBoard_Bool); specificUpdateKey.SetInfoTypeRequired(InfoType.CP_AKQToBoardRatio_Real); specificUpdateKey.SetInfoTypeRequired(InfoType.CP_FlushPossible_Bool); specificUpdateKey.SetInfoTypeRequired(InfoType.CP_StraightPossible_Bool); specificUpdateKey.SetInfoTypeRequired(InfoType.CP_TableStraightDraw_Bool); specificUpdateKey.SetInfoTypeRequired(InfoType.CP_TableFlushDraw_Bool); specificUpdateKey.SetInfoTypeRequired(InfoType.GP_NumPlayersDealtIn_Byte); specificUpdateKey.SetInfoTypeRequired(InfoType.GP_NumTableSeats_Byte); specificUpdateKey.SetInfoTypeRequired(InfoType.GP_NumActivePlayers_Byte); specificUpdateKey.SetInfoTypeRequired(InfoType.GP_NumUnactedPlayers_Byte); specificUpdateKey.SetInfoTypeRequired(InfoType.GP_GameStage_Byte); specificUpdateKey.SetInfoTypeRequired(InfoType.GP_DealerDistance_Byte); specificUpdateKey.SetInfoTypeRequired(InfoType.BP_ImmediatePotOdds_Double); specificUpdateKey.SetInfoTypeRequired(InfoType.BP_PlayerMoneyInPot_Decimal); specificUpdateKey.SetInfoTypeRequired(InfoType.BP_PlayerHandStartingStackAmount_Decimal); specificUpdateKey.SetInfoTypeRequired(InfoType.BP_TotalPotAmount_Decimal); specificUpdateKey.SetInfoTypeRequired(InfoType.BP_TotalNumRaises_Byte); specificUpdateKey.SetInfoTypeRequired(InfoType.BP_TotalNumCalls_Byte); specificUpdateKey.SetInfoTypeRequired(InfoType.BP_TotalNumChecks_Byte); specificUpdateKey.SetInfoTypeRequired(InfoType.BP_LastRoundBetsToCall_Byte); specificUpdateKey.SetInfoTypeRequired(InfoType.BP_CurrentCallAmountLarger4BB); specificUpdateKey.SetInfoTypeRequired(InfoType.BP_RaisedLastRound_Bool); specificUpdateKey.SetInfoTypeRequired(InfoType.BP_PlayerLastAction_Short); specificUpdateKey.SetInfoTypeRequired(InfoType.WR_CardsOnlyWinPercentage); specificUpdateKey.SetInfoTypeRequired(InfoType.WR_CardsOnlyOpponentWinPercentage); specificUpdateKey.SetInfoTypeRequired(InfoType.WR_CardsOnlyWinPercentageLastRoundChange); specificUpdateKey.SetInfoTypeRequired(InfoType.WR_CardsOnlyOpponentWinPercentage); specificUpdateKey.SetInfoTypeRequired(InfoType.PAP_RaiseToBotCheck_Prob); specificUpdateKey.SetInfoTypeRequired(InfoType.PAP_RaiseToBotCall_Prob); specificUpdateKey.SetInfoTypeRequired(InfoType.PAP_FoldToBotCall_Prob); specificUpdateKey.SetInfoTypeRequired(InfoType.PAP_RaiseToStealSuccess_Prob); specificUpdateKey.SetInfoTypeRequired(InfoType.PAP_RaiseToStealAmount_Amount); specificUpdateKey.SetInfoTypeRequired(InfoType.PAP_RaiseToCallAmount_Amount); specificUpdateKey.SetInfoTypeRequired(InfoType.BP_MinimumPlayAmount_Decimal); specificUpdateKey.SetInfoTypeRequired(InfoType.BP_PlayerBetAmountCurrentRound_Decimal); //specificUpdateKey.SetInfoTypeRequired(InfoType.BP_MinimumPlayAmount_Decimal); //specificUpdateKey.SetInfoTypeRequired(InfoType.BP_MinimumPlayAmount_Decimal); //specificUpdateKey.SetInfoTypeRequired(InfoType.BP_MinimumPlayAmount_Decimal); //specificUpdateKey.SetInfoTypeRequired(InfoType.BP_MinimumPlayAmount_Decimal); //specificUpdateKey.SetInfoTypeRequired(InfoType.BP_MinimumPlayAmount_Decimal); }