b-inary / postflop-solver

[Development suspended] An efficient open-source postflop solver library written in Rust
GNU Affero General Public License v3.0
246 stars 97 forks source link

Easiest way to compute intermediate EVs and MESs during solve #13

Closed bkushigian closed 1 year ago

bkushigian commented 1 year ago

First, thank you so much for this library! It's letting me run an empirical eval that I've been wanting to do for a while, and the code is so nice it's an absolute pleasure to work with!

One thing that would help would be to inspect intermediate EV and MES values for each player during a solve (e.g., every 10 iterations). Best way I can see to do this is to clone the tree and run finalize(game), but this is obviously not great (memory usage, inefficient, etc). Is there any way around this?

b-inary commented 1 year ago

Thank you for your compliments. It motivates me to keep developing!

As for the overall EV, the private functions compute_current_ev_average() and compute_mes_ev_average() in utility.rs do exactly that calculation. It is possible to make these functions public and change the return value. It is easy, so I can do this quickly if you wish.

On the other hand, It is not easy to make the EVs of each spot available for browsing. This is because storage is essentially required to make this possible.

bkushigian commented 1 year ago

Oh perfect, yeah I'm only looking for overall EV/mes!

b-inary commented 1 year ago

Updated. Please check it!

bkushigian commented 1 year ago

Works perfect, thank you!