liarsdice::ai::MediumAIStrategy class

Medium AI Strategy with statistical analysis.

Advanced AI that uses Bayesian probability, opponent modeling, and pattern recognition to make informed decisions.

Base classes

class AIPlayer

Public types

struct MediumConfig

Constructors, destructors, conversion operators

MediumAIStrategy(unsigned int id, const MediumConfig& config) explicit
MediumAIStrategy(unsigned int id) explicit

Public functions

auto make_guess(const std::optional<core::Guess>& last_guess) -> core::Guess override
auto decide_call_liar(const core::Guess& last_guess) -> bool override
void set_game_history(const core::GameHistory* history)
void set_game_state(const core::GameStateStorage* state)
void set_config(const MediumConfig& config)
auto get_config() const -> const MediumConfig&

Protected types

struct OpponentPattern
Model opponent behavior patterns.

Protected functions

auto calculate_bayesian_probability(const core::Guess& guess, size_t total_dice) const -> double
Calculate Bayesian probability for a guess.
void update_opponent_model(unsigned int player_id, const core::Guess& guess, bool was_bluff)
Update opponent model based on revealed information.
auto detect_bluff_probability(const core::Guess& guess) const -> double
Detect bluff patterns in opponent behavior.
auto analyze_dice_patterns() const -> std::vector<double>
Analyze game history for patterns.
auto generate_strategic_guess(const std::optional<core::Guess>& last_guess) const -> core::Guess
Generate strategic guess based on analysis.