• Feature suggestions for Ex-Gee, Noo-BG, BG-bzzt, etc...

    From MK@21:1/5 to All on Sun May 21 17:30:23 2023
    Last September, I had posted similar suggestions at
    bug-gnubg list. Here is a link to my second article in
    reply to Joseph Heled. It's a litter better thought out
    than my first one, which you can still read if you wish
    by scrolling down to it, at the end of the same post.

    https://lists.gnu.org/archive/html/bug-gnubg/2022-09/msg00007.html

    I'll just recap here the main ideas for adding features
    to allow people to experiment with "what if" scenarios,
    in order to explore and discover for themselves things
    about checker/cube skills and luck, instead of having
    to take other people's and/or bots' word for those.

    The easiest and best way would be to add a new entry
    to the selection list of preset player levels, "mutant" (or
    such), with the advanced settings to include a setting
    for "random" play, similar to the "noise levels" setting.

    Then in the "eval.c" module, a few lines of code will be
    added for cube and for checker decisions.

    For cube, after determining what kind of cube access
    the "mutant" has, it will flip a coin and make a random
    cube decision. Nothing more complicated than that.

    For checker, after populating the legal moves array, the
    "mutant" will randomly pick an entry from the array and
    play it. Nothing more complicated than that.

    With these selections, we can do random rollouts that
    I've been talking about for some years now, explaining
    why/how they would allow us to verify the accuracy of
    the "biased" rollouts done by the currently existing bots.

    After this, other features can be added to do even more
    complicated cobinations of experiments, just to satisfy
    our curiosities and/or to improve future bots.

    For cube, in the above new "advanced settings" window,
    users can enter arbitrary values for winning chances to
    be used a cutoff points for doubling, taking, beavering,
    dropping, etc. Alternatively, many "cubing points tables"
    can be used similar to match equity tables, for example.

    Then in the "eval.c", after calculating equities/winning
    chances, a few lines can be added for the "mutant" to
    pick a cube decision from a "cubing points table/array".
    The rest of the existing code will not be effected at all.

    For checker, I don't know how helpful it would be to use
    similar checker decisions settings, but perhaps we can
    come up with some creative ideas later on.

    If we do, then in the eval.c, after populating the legal
    moves array, a few lines can be added for the "mutant"
    to play an entry from the array accordingly. Again, the
    rest of the existing code will not be effected at all.

    All the above feature suggestions can be implemented
    in Noo-BG with trivial effort since almost all of the code
    needed already exist in there. It may be more difficult
    to add the same features to Ex-Gee, BG-bzzt, etc. but I
    think it would be worth the effort since they would add
    usability and value to those bots also.

    MK

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)