3#include <boost/random/mersenne_twister.hpp>
4#include <boost/random/uniform_int_distribution.hpp>
5#include <boost/random/uniform_real_distribution.hpp>
7#include <liarsdice/core/player.hpp>
10namespace liarsdice::
ai {
22 AIPlayer(
unsigned int id,
const std::string& name,
const Strategy& strategy);
30 const std::optional<
core::
Guess>& last_guess)
const;
32 const std::optional<
core::
Guess>& last_guess)
const;
46 explicit EasyAI(
unsigned int id);
56 explicit HardAI(
unsigned int id);
73 size_t total_dice)
const;
Definition ai_player.hpp:13
core::Guess generate_bluff_guess(const std::optional< core::Guess > &last_guess) const
Definition ai_player.cpp:127
void simulate_thinking() const
Definition ai_player.cpp:146
boost::random::mt19937 rng_
Definition ai_player.hpp:38
core::Guess make_guess(const std::optional< core::Guess > &last_guess) override
Definition ai_player.cpp:19
double calculate_probability(const core::Guess &guess, size_t total_dice) const
Definition ai_player.cpp:59
Strategy strategy_
Definition ai_player.hpp:37
AIPlayer(unsigned int id, const std::string &name, const Strategy &strategy)
Definition ai_player.cpp:9
bool decide_call_liar(const core::Guess &last_guess) override
Definition ai_player.cpp:35
boost::random::uniform_real_distribution probability_dist_
Definition ai_player.hpp:39
core::Guess generate_safe_guess(const std::optional< core::Guess > &last_guess) const
Definition ai_player.cpp:86
boost::random::uniform_int_distribution face_dist_
Definition ai_player.hpp:40
Definition ai_player.hpp:44
EasyAI(unsigned int id)
Definition ai_player.cpp:153
Definition ai_player.hpp:54
bool decide_call_liar(const core::Guess &last_guess) override
Definition ai_player.cpp:172
void update_opponent_model(const core::Guess &guess)
Definition ai_player.cpp:197
core::Guess make_guess(const std::optional< core::Guess > &last_guess) override
Definition ai_player.cpp:162
HardAI(unsigned int id)
Definition ai_player.cpp:159
double calculate_adjusted_probability(const core::Guess &guess, size_t total_dice) const
Definition ai_player.cpp:213
Definition ai_player.hpp:49
MediumAI(unsigned int id)
Definition ai_player.cpp:156
Core game logic and entities.
Definition player.hpp:11
Main namespace for the Liar's Dice game.
Definition ai_player.cpp:7
Definition ai_player.hpp:15
double risk_tolerance
Definition ai_player.hpp:16
double bluff_frequency
Definition ai_player.hpp:17
unsigned int think_time_ms
Definition ai_player.hpp:19
double call_threshold
Definition ai_player.hpp:18
Definition ai_player.hpp:63
double average_bluff_rate
Definition ai_player.hpp:65
std::vector< core::Guess > guess_history
Definition ai_player.hpp:64