MK
2024-01-27 01:56:34 UTC
About a week ago, I had asked for help with a Python script
in the GnuBG mail-list but received no responses. There was
a bug in Noo-BG that I couldn't figure out easily but I was
able to find a solution after a little effort on my own.
After that, I kept improving on my basic test script until
it became a general "mutant against bot experiment script"
which worked well enough that I decided to just do it all
on my own and create various experiment scripts based on it.
Learning the Python syntax and the functions that I needed
was a breeze but dealing with numerous Noo-BG bugs that I
kept discovering along the way was a real pain in the ass. :(
But in a few days, I had a set of scripts that worked well
enough, which I will share here soon, after I improve them
further and test them some more.
The first script doubles and takes randomly but never drops.
The second script tries to replicate Axel's experiment by
doubling at >50%, taking at >0% and never dropping.
The third script handles cube decisions as described in my
recent post titled: "Another Murat mutant cube skill
experiment based on game stages".
One problem with all scripts is that Noo-BG has a hard-coded
maximum cube limit of 4096 that you may remember from Axel's
experiment, in which he had extrapolated higher cube values,
etc. but I want to be able to do better. Axel had asked for
max-cube 15 limit instead of 12 in Noo-BG and I want's to be
able to handle more than 15 if it ever happens.
One way to possibly handle this without begging the Noo-BG
team for anything, may be to have the script do something
like this: when the cube reaches 4096, set a flag and set
the cube down to 2 and keep going. During the second cycle,
when cube reaches 8, for example, it will mean 32,768 as
follows: (and let the so-called "cube skill theory" go to
St. Petersburg, La La Land, heaven, hell, wherever... ;)
2 8192
4 16384
8 32768
16 65536
32 131072
64 262144
128 524288
256 1048576
512 2097152
1024 4194304
2048 8388608
4096 16777216
I may be able to figure out how to accomplish this but it may
take a lot of effort and time for a tangled solution at best,
if at all.
So now, here is an opportunity for the math PHD's of RGB to
show off their knowledge and creativity to come up with an
elegant solution...
In fact, I have another opportunity for them to show off not
only their math but also their knowledge of equities, errors,
etc. which I surely don't know about to do what I have in mind.
Ex-Gee has a "should have won" feature that Noo-BG doesn't have.
One solution could be to import the Noo-BG session into Ex-Gee
and let it calculate the "should have won" based on error rate
but unfortunately Ex-Gee has even a lower maximum cube value
limit set at 1024. Thus, importing fails as soon as a cube value
higher than that is encountered in a game record.
Can any of you math PHD's figure out the formula to calculate
the "should have won" number based on error rate? that can be
used in scripts, again without begging the Noo-BG team for it?
BTW: Contrary to my earlier impression that they weren't willing
to help (especially me, out of spite), I came to conclude that
they are probably mediocre programmers who couldn't be able to,
even if they wanted to implement some fixes and improvements.
Anyway, I'll be working on bettering and testing my scripts while
waiting to see if anyone can help with the above two problems.
MK
in the GnuBG mail-list but received no responses. There was
a bug in Noo-BG that I couldn't figure out easily but I was
able to find a solution after a little effort on my own.
After that, I kept improving on my basic test script until
it became a general "mutant against bot experiment script"
which worked well enough that I decided to just do it all
on my own and create various experiment scripts based on it.
Learning the Python syntax and the functions that I needed
was a breeze but dealing with numerous Noo-BG bugs that I
kept discovering along the way was a real pain in the ass. :(
But in a few days, I had a set of scripts that worked well
enough, which I will share here soon, after I improve them
further and test them some more.
The first script doubles and takes randomly but never drops.
The second script tries to replicate Axel's experiment by
doubling at >50%, taking at >0% and never dropping.
The third script handles cube decisions as described in my
recent post titled: "Another Murat mutant cube skill
experiment based on game stages".
One problem with all scripts is that Noo-BG has a hard-coded
maximum cube limit of 4096 that you may remember from Axel's
experiment, in which he had extrapolated higher cube values,
etc. but I want to be able to do better. Axel had asked for
max-cube 15 limit instead of 12 in Noo-BG and I want's to be
able to handle more than 15 if it ever happens.
One way to possibly handle this without begging the Noo-BG
team for anything, may be to have the script do something
like this: when the cube reaches 4096, set a flag and set
the cube down to 2 and keep going. During the second cycle,
when cube reaches 8, for example, it will mean 32,768 as
follows: (and let the so-called "cube skill theory" go to
St. Petersburg, La La Land, heaven, hell, wherever... ;)
2 8192
4 16384
8 32768
16 65536
32 131072
64 262144
128 524288
256 1048576
512 2097152
1024 4194304
2048 8388608
4096 16777216
I may be able to figure out how to accomplish this but it may
take a lot of effort and time for a tangled solution at best,
if at all.
So now, here is an opportunity for the math PHD's of RGB to
show off their knowledge and creativity to come up with an
elegant solution...
In fact, I have another opportunity for them to show off not
only their math but also their knowledge of equities, errors,
etc. which I surely don't know about to do what I have in mind.
Ex-Gee has a "should have won" feature that Noo-BG doesn't have.
One solution could be to import the Noo-BG session into Ex-Gee
and let it calculate the "should have won" based on error rate
but unfortunately Ex-Gee has even a lower maximum cube value
limit set at 1024. Thus, importing fails as soon as a cube value
higher than that is encountered in a game record.
Can any of you math PHD's figure out the formula to calculate
the "should have won" number based on error rate? that can be
used in scripts, again without begging the Noo-BG team for it?
BTW: Contrary to my earlier impression that they weren't willing
to help (especially me, out of spite), I came to conclude that
they are probably mediocre programmers who couldn't be able to,
even if they wanted to implement some fixes and improvements.
Anyway, I'll be working on bettering and testing my scripts while
waiting to see if anyone can help with the above two problems.
MK