Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ready Pleco for Deployment in CCRL (Computer Chess Rating Lists) #56

Closed
5 of 6 tasks
sfleischman105 opened this issue Nov 8, 2017 · 9 comments
Closed
5 of 6 tasks

Comments

@sfleischman105
Copy link
Collaborator

sfleischman105 commented Nov 8, 2017

To get a rough estimate about how Pleco performs against other engines, it needs to be submitted in the Computer Chess Rating System.

However, a few things need to be done before that can happen.

  • Finish the uci command line interface to allow for the full range of commands.
  • Finish the LazySMP Searcher to use the TranspositionTable correctly, and allow the table to be resized and cleared.
  • Allow parsing of the Board and Limits prior to the start of searching
  • Allow for proper time management based on the UCI protocol
  • Test the current TimeManagement struct for accuracy & parsing errors.
  • Submit to CCRL for engine rating

Other things that would be of use:

  1. Implement use of opening Board bases, SysgzyBases I believe they are called.
  2. Allow for endgame board tables.
@sfleischman105
Copy link
Collaborator Author

#69 added a UCITimer structure for representing the limits provided by a uci interface. There was also more work done on the interface for parsing these inputs.

@sfleischman105
Copy link
Collaborator Author

Also, as a note to self: This needs to be tested extensively!

@sfleischman105
Copy link
Collaborator Author

Some progress is being made in the Beta-Branch. Specifically, pleco_searcher::parse contains functions to parse both the UCI time limits, as well as any board position that's sent in.

They both require more testing, but it's a start.

@sfleischman105
Copy link
Collaborator Author

sfleischman105 commented Jan 29, 2018

We have some time management! Specifically the TimeManagement structure inside of pleco_engine. Its a global variable only accessed by the main thread, and allows for ideal and maximum time constraints for any uci time input.

The next steps include extensive testing of the time management protocol.

@sfleischman105
Copy link
Collaborator Author

#87 Helped with non-failing threads. needs more testing though

@sfleischman105
Copy link
Collaborator Author

Time Management is done, and works very well.

Last thing to do is add more options to the engine, and make sure those work as expected.

@sfleischman105
Copy link
Collaborator Author

Alright, extremely close to being ready.

So far no bugs with Arena Games! Which is reassuring. The last thing to do is test all the UCIOptions, and make sure they work.

@sfleischman105
Copy link
Collaborator Author

Complete!

I published a release of pleco, version 0.1.1, here.

I'll close this issue one it's been approved for use.

@sfleischman105
Copy link
Collaborator Author

Engine is rated at around 1900 with version 0.1.3, per CCRL.

Closed!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant