Willow 2.5 (first release)

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

Moderator: Ras

Robert Pope
Posts: 567
Joined: Sat Mar 25, 2006 8:27 pm
Location: USA
Full name: Robert Pope

Re: Willow 2.5 (first release)

Post by Robert Pope »

Whiskers wrote: Tue Mar 07, 2023 12:33 am And... now my laptop is screaming about viruses. It's my own executable!!! sigh
I had that headache with my last iteration of Abbess. So frustrating.
Whiskers
Posts: 246
Joined: Tue Jan 31, 2023 4:34 pm
Full name: Adam Kulju

Re: Willow 2.5 (first release)

Post by Whiskers »

Roland Chastain wrote: Tue Mar 07, 2023 7:38 am In case you would be interested in doing a multiplatform engine, here are the quick modifications that I made to compile your latest code under Linux:

Code: Select all

#ifdef _WIN32
#include <Windows.h>
#include <io.h>
#else
#include <sys/ioctl.h>
#include <unistd.h>
#endif

#ifdef _WIN32
int pipe;
HANDLE hstdin;
#endif

int InputPending()
/* http://talkchess.com/forum3/viewtopic.php?p=943992#p943992 */
{  // checks for waiting input in pipe
#ifdef _WIN32
  int init; HANDLE inp; DWORD cnt = 0;
  if(!init) inp = GetStdHandle(STD_INPUT_HANDLE);
  if (!PeekNamedPipe(inp, NULL, 0, NULL, &cnt, NULL)){exit(1);}
#else
  int cnt;
  if (ioctl(0, FIONREAD, &cnt)) return 1;
#endif
  return cnt;
}

int init(){
#ifdef _WIN32
    unsigned int dw;
    hstdin = GetStdHandle(STD_INPUT_HANDLE);
    pipe = !GetConsoleMode(hstdin, &dw);

    if (!pipe) {
        SetConsoleMode(hstdin,dw&~(ENABLE_MOUSE_INPUT|ENABLE_WINDOW_INPUT));
        FlushConsoleInputBuffer(hstdin);
    } else {
        setvbuf(stdin,NULL,_IONBF,0);
        setvbuf(stdout,NULL,_IONBF,0);
    }
#endif
    printf("Willow 2.5, by Adam Kulju\n");
    return 0;
}
I compiled it like this:

Code: Select all

gcc -o willow program.c -lm
I'm not sure what went wrong but making these changes made Willow unable to send or receive any input through GUIs (although it worked just fine on command line). I will keep this in mind for later but right now I really just want an engine that works and that can be actually tested!

Newest executable really should work on Windows, it also has a couple changes to stop it losing on time because i saw a lot of that while testing before.
Whiskers
Posts: 246
Joined: Tue Jan 31, 2023 4:34 pm
Full name: Adam Kulju

Re: Willow 2.5 (first release)

Post by Whiskers »

The results of a test tournament at very short time control (15+0.1")
(Celestial is rated 1750 ELO on CCRL)

Code: Select all

Result:
------------------------------------------------------------------------
  #  name        games    wins   draws  losses   score    elo    +    -
  1. Willow 2.5    100      98       1       1    98.5    608  105   66
  2. Celestial     100       1       1      98     1.5      0   66  105

Cross table:
------------------------------------------------------------------------
  #  name           score   games                                                                                                    1                                                                                                    2
  1. Willow 2.5      98.5     100                                                                                                    x 11111111111111111111111111111111111111111111111111111111111111=1111111111111111111111111111111110111
  2. Celestial        1.5     100 00000000000000000000000000000000000000000000000000000000000000=0000000000000000000000000000000001000                                                                                                    x

Tech:
------------------------------------------------------------------------

Tech (average nodes, depths, time/m per move, others per game), counted for computing moves only, ignored moves with zero nodes:
  #  name          nodes/m         NPS  depth/m   time/m    moves     time
  1. Willow 2.5        82K      218502     10.8      0.4     41.0     15.3
  2. Celestial        146K      557551      5.3      0.3     40.5     10.6
     all ---          111K      357346      8.1      0.3     40.8     13.0
Sazgr
Posts: 66
Joined: Thu Dec 09, 2021 8:26 pm
Full name: Kyle Zhang

Re: Willow 2.5 (first release)

Post by Sazgr »

Congrats on the release! I downloaded the engine and pit it in a short 200 game match against my own engine. Willow definitely played some very interesting games against my engine, which is rather materialistic (because of PST only evaluation) and blind to king safety.

One nice miniature where Peacekeeper decided to go for the e4 pawn and left its king:
[pgn]
[Event "?"]
[Site "?"]
[Date "2023.03.09"]
[Round "1"]
[White "willow"]
[Black "peacekeeper-v1.20"]
[Result "1-0"]
[ECO "D20"]
[Opening "QGA"]
[Variation "3.e4"]
[TimeControl "5+0.05"]
[Termination "adjudication"]
[PlyCount "64"]
[GameDuration "00:00:08"]
[GameEndTime "2023-03-09T10:04:41.877 Eastern Standard Time"]
[GameStartTime "2023-03-09T10:04:33.841 Eastern Standard Time"]

1. d4 d5 2. c4 dxc4 3. e4 Nc6 4. Be3 Nf6 5. d5 Ne5 6. Bd4 Qd6 7. Nc3 Bd7 8.
Bxe5 Qxe5 9. Nf3 Qh5 10. Bxc4 Qg4 11. O-O Nxe4 12. Nxe4 Qxe4 13. Rc1 Qf4
14. Re1 Bg4 15. Bb5+ Kd8 16. Be2 b6 17. Rc4 Qf5 18. Qa4 Bh5 19. Qc6 Qc8 20.
Re4 a6 21. Re5 Bg4 22. Ng5 Bd7 23. Qc4 f6 24. Ne6+ Bxe6 25. dxe6 c6 26. Re3
b5 27. Rd1+ Kc7 28. Qc5 Qe8 29. Bf3 Rd8 30. Rxd8 Kxd8 31. Bxc6 Kc7 32. Be4+
Kb8 1-0
[/pgn]
Whiskers
Posts: 246
Joined: Tue Jan 31, 2023 4:34 pm
Full name: Adam Kulju

Re: Willow 2.5 (first release)

Post by Whiskers »

Willow 2.5.1 is released: it has some improvements to the time management to keep it from timing out, and the TT replacement scheme has been changed. Without changing anything else in the search, it consistently outsearches Willow 2.5 by 1-3 plies in 5|5, and though I didn't test for long enough a 100 game match showed a 50 elo improvement.

I also fixed a funny bug where my UCI move parser performed en passant with a rook :lol:

https://github.com/Adam-Kulju/Willow/releases/tag/2.5.1
Whiskers
Posts: 246
Joined: Tue Jan 31, 2023 4:34 pm
Full name: Adam Kulju

Re: Willow 2.5 (first release)

Post by Whiskers »

Sazgr wrote: Thu Mar 09, 2023 5:56 pm Congrats on the release! I downloaded the engine and pit it in a short 200 game match against my own engine. Willow definitely played some very interesting games against my engine, which is rather materialistic (because of PST only evaluation) and blind to king safety.

One nice miniature where Peacekeeper decided to go for the e4 pawn and left its king:
[pgn]
[Event "?"]
[Site "?"]
[Date "2023.03.09"]
[Round "1"]
[White "willow"]
[Black "peacekeeper-v1.20"]
[Result "1-0"]
[ECO "D20"]
[Opening "QGA"]
[Variation "3.e4"]
[TimeControl "5+0.05"]
[Termination "adjudication"]
[PlyCount "64"]
[GameDuration "00:00:08"]
[GameEndTime "2023-03-09T10:04:41.877 Eastern Standard Time"]
[GameStartTime "2023-03-09T10:04:33.841 Eastern Standard Time"]

1. d4 d5 2. c4 dxc4 3. e4 Nc6 4. Be3 Nf6 5. d5 Ne5 6. Bd4 Qd6 7. Nc3 Bd7 8.
Bxe5 Qxe5 9. Nf3 Qh5 10. Bxc4 Qg4 11. O-O Nxe4 12. Nxe4 Qxe4 13. Rc1 Qf4
14. Re1 Bg4 15. Bb5+ Kd8 16. Be2 b6 17. Rc4 Qf5 18. Qa4 Bh5 19. Qc6 Qc8 20.
Re4 a6 21. Re5 Bg4 22. Ng5 Bd7 23. Qc4 f6 24. Ne6+ Bxe6 25. dxe6 c6 26. Re3
b5 27. Rd1+ Kc7 28. Qc5 Qe8 29. Bf3 Rd8 30. Rxd8 Kxd8 31. Bxc6 Kc7 32. Be4+
Kb8 1-0
[/pgn]
That is definitely a nice game, all the more impressive as your engine is far stronger than Willow. Of course, the flip side is that it's rather aggravating to see Willow blow a good position by throwing away two pawns and realizing like ten moves later that it really wasn't such a great idea lol.
If you don't mind, what was the result of the tournament?
Sazgr
Posts: 66
Joined: Thu Dec 09, 2021 8:26 pm
Full name: Kyle Zhang

Re: Willow 2.5 (first release)

Post by Sazgr »

Sure, no problem.

Code: Select all

Score of peacekeeper-v1.20 vs willow: 153 - 13 - 34  [0.850] 200
...      peacekeeper-v1.20 playing White: 83 - 5 - 12  [0.890] 100
...      peacekeeper-v1.20 playing Black: 70 - 8 - 22  [0.810] 100
...      White vs Black: 91 - 75 - 34  [0.540] 200
Elo difference: 301.3 +/- 56.2, LOS: 100.0 %, DrawRatio: 17.0 %
This was the gauntlet yesterday, and i did another one today with version 2.5.1.

Code: Select all

Score of peacekeeper-v1.20 vs willow: 63 - 9 - 28  [0.770] 100
...      peacekeeper-v1.20 playing White: 37 - 2 - 11  [0.850] 50
...      peacekeeper-v1.20 playing Black: 26 - 7 - 17  [0.690] 50
...      White vs Black: 44 - 28 - 28  [0.580] 100
Elo difference: 209.9 +/- 64.2, LOS: 100.0 %, DrawRatio: 28.0 %
Both gauntlets are at quite fast time controls (5+0.05 and 10+0.1 respectively) so I would guess that the elo difference is actually around 150 for slower games (Peacekeeper is comparatively worse at longer time controls)
Whiskers
Posts: 246
Joined: Tue Jan 31, 2023 4:34 pm
Full name: Adam Kulju

Re: Willow 2.5 (first release)

Post by Whiskers »

Sazgr wrote: Fri Mar 10, 2023 6:48 pm Sure, no problem.

Code: Select all

Score of peacekeeper-v1.20 vs willow: 153 - 13 - 34  [0.850] 200
...      peacekeeper-v1.20 playing White: 83 - 5 - 12  [0.890] 100
...      peacekeeper-v1.20 playing Black: 70 - 8 - 22  [0.810] 100
...      White vs Black: 91 - 75 - 34  [0.540] 200
Elo difference: 301.3 +/- 56.2, LOS: 100.0 %, DrawRatio: 17.0 %
This was the gauntlet yesterday, and i did another one today with version 2.5.1.

Code: Select all

Score of peacekeeper-v1.20 vs willow: 63 - 9 - 28  [0.770] 100
...      peacekeeper-v1.20 playing White: 37 - 2 - 11  [0.850] 50
...      peacekeeper-v1.20 playing Black: 26 - 7 - 17  [0.690] 50
...      White vs Black: 44 - 28 - 28  [0.580] 100
Elo difference: 209.9 +/- 64.2, LOS: 100.0 %, DrawRatio: 28.0 %
Both gauntlets are at quite fast time controls (5+0.05 and 10+0.1 respectively) so I would guess that the elo difference is actually around 150 for slower games (Peacekeeper is comparatively worse at longer time controls)
Thank you! I really appreciate it :D
User avatar
Graham Banks
Posts: 44601
Joined: Sun Feb 26, 2006 10:52 am
Location: Auckland, NZ

Re: Willow 2.5 (first release)

Post by Graham Banks »

Willow moves instantly for every move for me.
Also, there are no engine parameters displayed when setting up the engine.
gbanksnz at gmail.com
User avatar
Graham Banks
Posts: 44601
Joined: Sun Feb 26, 2006 10:52 am
Location: Auckland, NZ

Re: Willow 2.5 (first release)

Post by Graham Banks »

Graham Banks wrote: Sat Mar 11, 2023 10:13 pm Willow moves instantly for every move for me.
Also, there are no engine parameters displayed when setting up the engine.
Adam is fixing this now. :)
gbanksnz at gmail.com