lukasmonk / lucaschessR2

Lucas Chess R Version 2
GNU General Public License v3.0
282 stars 40 forks source link

Feature ADD: BULK Update #160

Open tidypy opened 2 months ago

tidypy commented 2 months ago

Feature Addition: BULK UPDATE SELECTED: Can be a button/feature in the "Ribbon" Can be a button on the "Edit POP-Up"

Reason:
Allows users to retain analysis from engine matches that were improperly adjudicated. Allows for the manipulation of 100's of games instantly without DataBase tricks and conversion tactics.

image

lukasmonk commented 2 months ago

I need more information, I don't understand what the job of this new button would be.

tidypy commented 1 week ago

**Issue: Desired Result, is not awarded to Games ending on time.**, If game ends, regardless of advantage, win is awarded to one with time remaining, Regardless!

Steps Taken: 1. Setup tournament, 2. setting time constraints of 20sec per game, 3. Engines failing time constraints with huge advantage. Issue 1b: Engines failing on time, due to Bugs, Poor settings, hardware constraints, poor tournament settings, poor engine settings. Poor user settings in general.

Workaround: Sorting the games by Eval at 'last move' and bulk updating the result, then exporting to another program or DB. Woorkaround 1b: Adding feature to "adjournmant" that awards game to Highest Centrepawn Score Margin. For Example: IF Game ends on time, the "adjournament engine" will award the engine that has the highest centrepawns advantage. If set to +2, "adjournament engine" will ONLY award the win if the advantage is higher then +2.

Reason for setting up Tournaments in this way:

  1. TIME, I spend effort and time running the tournaments, then cannot filter or update the results, or I find huge advantage in lines, but lossed on time. Or I will find aggressive lines that are human-like and are advantageous but game ends. Or endgame Technical wins the engine did not get to play out due to loss of time. Or engine will STALL>
  2. "own book" settings, Opening book and engine parameter refinement with many engines.
  3. Attempts to create opening books, and pattern play for the engines, or to emulate in-game situations and themes.
  4. Why this way instead of FEN or Opening book? Because I want 'various' engines to behave accordingly to a particular line. And the line would differ depending on the engine.
  5. Because "personality mixing", Book Mixing, and Multiple Engine settings for same engine are not supported.
  6. Why do this instead of Personality? Because personality settings just like books, do not work right fundementally across GUI, and cannot be tested with common tools.
lukasmonk commented 1 week ago
  1. Have you tried the adjudicator option? Or the centipawns to assign a winner?
tidypy commented 3 days ago

I've tried it; but The adjudicator does not support the feature of assigning a win "After" Time expiration.
If engine stalls, or for any other reasons, (like I simply decide to end the tourney)

Then I lose all the time it took to run the workers. as I cannot bulk edit the results, nor can I run a "Post" worker to assign new wins data to the DB.

Similar; to how you can run Analysis; you could add features to Analysis, to have the engine assign wins, just the same you can add variations. Thus maby you can acturally have the worker do Bulk update. But a DB bulk update feature is far faster, depending on the users needs.

If you need please reply I'll do a Video, this will explain better. Just let me know where to post it please.

lukasmonk commented 3 days ago

If you decide to end the tournament, you can use the Adjudication button to assign a winner if applicable.

imagen

In the database it is easy to filter "Time expirations", then you can launch a fast analysis massive with assign accuracy tags

imagen

Then by filtering "Time expirations", it is easy to assign winners based on accuracy tags.

How many people who use the programme have this same problem, I would be surprised if there were many, and a few are already too many for me, so I think that adding another option that adds complexity to the programme is not a good idea, when the problem is easily solvable, without a lot of work.

To contact with me: imagen