Moustique 0.4

Discussion of anything and everything relating to chess playing software and machines.

Moderator: Ras

User avatar
Roland Chastain
Posts: 687
Joined: Sat Jun 08, 2013 10:07 am
Location: France
Full name: Roland Chastain

Moustique 0.4

Post by Roland Chastain »

Hello!

Moustique (JS Schach UCI) version 0.4 is available.

Since the previous release, the code has been polished and optimized. The engine plays exactly like the previous version (I believe), but faster and using less memory.

There are Linux and Windows binaries, but only Linux binaries have been tested.

Regards.

Roland
Qui trop embrasse mal étreint.

Author of Eschecs, a simple UCI chess GUI written in Pascal.
User avatar
Roland Chastain
Posts: 687
Joined: Sat Jun 08, 2013 10:07 am
Location: France
Full name: Roland Chastain

Moustique 0.4.1

Post by Roland Chastain »

Moustique 0.4.1 is available.

Changes:
  • Support command position fen ... moves ...
  • Fixes in Book unit
Now the program plays a random move from the book, instead of always playing the best move.

No Windows binaries for now. If you need it, you can build it like this (with Free Pascal):

Code: Select all

fpc -Mobjfpc -Sh moustique.pas -dRELEASE -CX -XX -Xs
Otherwise you can also use the included Lazarus project.
Qui trop embrasse mal étreint.

Author of Eschecs, a simple UCI chess GUI written in Pascal.
User avatar
Gabor Szots
Posts: 1482
Joined: Sat Jul 21, 2018 7:43 am
Location: Budapest, Hungary
Full name: Gabor Szots

Re: Moustique 0.4

Post by Gabor Szots »

Hi Roland,

Have you abandoned Alouette altogether?
Gabor Szots
CCRL testing group
User avatar
Roland Chastain
Posts: 687
Joined: Sat Jun 08, 2013 10:07 am
Location: France
Full name: Roland Chastain

Re: Moustique 0.4

Post by Roland Chastain »

Hi Gabor. No, I didn't abandoned it. I will try to propose a new version in 2023. :wink:
Qui trop embrasse mal étreint.

Author of Eschecs, a simple UCI chess GUI written in Pascal.
User avatar
Roland Chastain
Posts: 687
Joined: Sat Jun 08, 2013 10:07 am
Location: France
Full name: Roland Chastain

Re: Moustique 0.4

Post by Roland Chastain »

Uploaded a Windows binary.
Qui trop embrasse mal étreint.

Author of Eschecs, a simple UCI chess GUI written in Pascal.
User avatar
Gabor Szots
Posts: 1482
Joined: Sat Jul 21, 2018 7:43 am
Location: Budapest, Hungary
Full name: Gabor Szots

Re: Moustique 0.4

Post by Gabor Szots »

Is this also without time control?
Gabor Szots
CCRL testing group
User avatar
Roland Chastain
Posts: 687
Joined: Sat Jun 08, 2013 10:07 am
Location: France
Full name: Roland Chastain

Re: Moustique 0.4

Post by Roland Chastain »

Gabor Szots wrote: Thu Jan 05, 2023 10:38 am Is this also without time control?
Yes. :|

The code having been optimized (some variables removed), maybe I could try to increase the search depth and add a time control. But I am not sure that it work, because the best move search is recursive.

I have to test how the program behaves if we increase search depth. (It's possible to do that by editing the INI file.)
Last edited by Roland Chastain on Thu Jan 05, 2023 11:00 am, edited 1 time in total.
Qui trop embrasse mal étreint.

Author of Eschecs, a simple UCI chess GUI written in Pascal.
User avatar
Gabor Szots
Posts: 1482
Joined: Sat Jul 21, 2018 7:43 am
Location: Budapest, Hungary
Full name: Gabor Szots

Re: Moustique 0.4

Post by Gabor Szots »

Roland Chastain wrote: Thu Jan 05, 2023 10:49 am
Gabor Szots wrote: Thu Jan 05, 2023 10:38 am Is this also without time control?
Yes. :|

The code having been optimized (some variables removed), maybe I could try to increase the search depth and add a time control. But I am not sure that it work, because the best move search is recursive.
OK, thanks.
Gabor Szots
CCRL testing group
User avatar
Roland Chastain
Posts: 687
Joined: Sat Jun 08, 2013 10:07 am
Location: France
Full name: Roland Chastain

Re: Moustique 0.4

Post by Roland Chastain »

Roland Chastain wrote: Thu Jan 05, 2023 10:49 am I have to test how the program behaves if we increase search depth. (It's possible to do that by editing the INI file.)
A first test, with mindepth or maxdepth increased by 1. Cute Chess options: tc=40/60 timemargin=10000.

Code: Select all

480 game(s) loaded, 0 game(s) with unknown result ignored.
Rank Name                                  Elo    +    - games score oppo. draws 
   1 Moustique 0.4.1 32-bit [mindepth 4]    32   29   29   192   58%    -8   72% 
   2 Moustique 0.4.1 [mindepth 4]           29   29   29   192   57%    -7   76% 
   3 Moustique 0.4.1 32-bit [maxdepth 8]   -11   29   29   192   47%     3   74% 
   4 Moustique 0.4.1 [maxdepth 8]          -23   29   30   192   45%     6   67% 
   5 Moustique 0.4.1                       -26   29   29   192   43%     7   74% 
Many games lost by illegal move for engines with mindepth=4.

Code: Select all

+================+======+=====================================+=======+
| File           | Game | Engine                              | Move  |
+================+======+=====================================+=======+
| 20230105131150 |   11 | Moustique 0.4.1 32-bit [mindepth 4] | 0000  |
| 20230105131150 |   24 | Moustique 0.4.1 [mindepth 4]        | 0000  |
| 20230105131150 |   44 | Moustique 0.4.1 32-bit [mindepth 4] | 0000  |
| 20230105131150 |   46 | Moustique 0.4.1 [mindepth 4]        | 0000  |
| 20230105131150 |   49 | Moustique 0.4.1 32-bit [mindepth 4] | 0000  |
| 20230105131150 |   78 | Moustique 0.4.1 32-bit [mindepth 4] | 0000  |
| 20230105131150 |   87 | Moustique 0.4.1 [mindepth 4]        | 0000  |
| 20230105131150 |  144 | Moustique 0.4.1 [mindepth 4]        | 0000  |
| 20230105131150 |  174 | Moustique 0.4.1 [mindepth 4]        | 0000  |
| 20230105131150 |  176 | Moustique 0.4.1 [mindepth 4]        | 0000  |
| 20230105131150 |  181 | Moustique 0.4.1 32-bit [mindepth 4] | 0000  |
| 20230105131150 |  196 | Moustique 0.4.1 [mindepth 4]        | 0000  |
| 20230105131150 |  218 | Moustique 0.4.1 32-bit [mindepth 4] | 0000  |
| 20230105131150 |  236 | Moustique 0.4.1 [mindepth 4]        | 0000  |
| 20230105121706 |   41 | Moustique 0.4.1 32-bit [mindepth 4] | 0000  |
| 20230105121706 |   42 | Moustique 0.4.1 [mindepth 4]        | 0000  |
| 20230105121706 |   54 | Moustique 0.4.1 32-bit [mindepth 4] | 0000  |
| 20230105121706 |   94 | Moustique 0.4.1 32-bit [mindepth 4] | 0000  |
| 20230105121706 |  144 | Moustique 0.4.1 [mindepth 4]        | 0000  |
| 20230105121706 |  171 | Moustique 0.4.1 32-bit [mindepth 4] | 0000  |
| 20230105121706 |  214 | Moustique 0.4.1 32-bit [mindepth 4] | 0000  |
Maybe the algorithm doesn't like even numbers? :|

The '0000' move comes from here:

Code: Select all

// player.pas
function TChessPlayer.BestMove(out ACode: TExitCode): string;
// ...
var
  // ...
  i: integer;
begin
  result := '0000';
  i := FCurPos.BestEval(FCurPos.ActiveColor, 1, 32000);
  i := BestMoveIndex(i);
  if i > 0 then
  begin
    // ...
  end else
    ACode := ecError;
Qui trop embrasse mal étreint.

Author of Eschecs, a simple UCI chess GUI written in Pascal.