Endgame-Analyzer/include
Maximilian Keßler 5c4a2bb4f7
Store rationals without denominator
Instead of storing a rational for evey game state,
we just store how many of the factorial(draw pile size) many
game states can be won.
This allows us to save only one 64-bit integer per game state instead of
two and thus reduces memory consumption of the program significantly.
Also, this makes some computations a bit easier, since we do not have to
normalize when recursing - we can just add the numbe of winnable states
for each possible draw.

On the other hand, this means that upon lookup, we have to normalize the
stored values again to retrieve the probabilities.
In particular, one needs to know what the draw pile size of the game
state is in order to interpret the value of the state.
2024-02-09 15:58:15 +01:00
..
parallel_hashmap Use parallel_hashmap library for better performance 2024-02-07 19:52:02 +01:00
command_line_interface.h intoduce CLI option to reduce memory consumption 2024-02-08 22:08:44 +01:00
download.h intoduce CLI option to reduce memory consumption 2024-02-08 22:08:44 +01:00
factorial.h Store rationals without denominator 2024-02-09 15:58:15 +01:00
game_interface.h Store rationals without denominator 2024-02-09 15:58:15 +01:00
game_state.h Store rationals without denominator 2024-02-09 15:58:15 +01:00
game_state.hpp Store rationals without denominator 2024-02-09 15:58:15 +01:00
hanabi_types.hpp Use parallel_hashmap library for better performance 2024-02-07 19:52:02 +01:00
make_state.h intoduce CLI option to reduce memory consumption 2024-02-08 22:08:44 +01:00
myassert.h add comments 2023-11-16 16:29:41 +01:00
null_buffer.h add comments 2023-11-16 16:29:41 +01:00
parse_game.h add comments 2023-11-16 16:29:41 +01:00
state_explorer.h add comments 2023-11-16 16:29:41 +01:00
version.h add missing files for version generation 2024-02-05 22:28:15 +01:00