I had that headache with my last iteration of Abbess. So frustrating.
Willow 2.5 (first release)
Moderator: Ras
-
- Posts: 567
- Joined: Sat Mar 25, 2006 8:27 pm
- Location: USA
- Full name: Robert Pope
-
- Posts: 246
- Joined: Tue Jan 31, 2023 4:34 pm
- Full name: Adam Kulju
Re: Willow 2.5 (first release)
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!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:
I compiled it like this: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; }
Code: Select all
gcc -o willow program.c -lm
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.
go and star https://github.com/Adam-Kulju/Patricia!
-
- Posts: 246
- Joined: Tue Jan 31, 2023 4:34 pm
- Full name: Adam Kulju
Re: Willow 2.5 (first release)
The results of a test tournament at very short time control (15+0.1")
(Celestial is rated 1750 ELO on CCRL)
(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
go and star https://github.com/Adam-Kulju/Patricia!
-
- Posts: 66
- Joined: Thu Dec 09, 2021 8:26 pm
- Full name: Kyle Zhang
Re: Willow 2.5 (first release)
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]
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]
Peacekeeper: https://github.com/Sazgr/peacekeeper/
-
- Posts: 246
- Joined: Tue Jan 31, 2023 4:34 pm
- Full name: Adam Kulju
Re: Willow 2.5 (first release)
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
https://github.com/Adam-Kulju/Willow/releases/tag/2.5.1
I also fixed a funny bug where my UCI move parser performed en passant with a rook

https://github.com/Adam-Kulju/Willow/releases/tag/2.5.1
go and star https://github.com/Adam-Kulju/Patricia!
-
- Posts: 246
- Joined: Tue Jan 31, 2023 4:34 pm
- Full name: Adam Kulju
Re: Willow 2.5 (first release)
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.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]
If you don't mind, what was the result of the tournament?
go and star https://github.com/Adam-Kulju/Patricia!
-
- Posts: 66
- Joined: Thu Dec 09, 2021 8:26 pm
- Full name: Kyle Zhang
Re: Willow 2.5 (first release)
Sure, no problem.
This was the gauntlet yesterday, and i did another one today with version 2.5.1.
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)
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 %
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 %
Peacekeeper: https://github.com/Sazgr/peacekeeper/
-
- Posts: 246
- Joined: Tue Jan 31, 2023 4:34 pm
- Full name: Adam Kulju
Re: Willow 2.5 (first release)
Thank you! I really appreciate itSazgr wrote: ↑Fri Mar 10, 2023 6:48 pm Sure, no problem.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: 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 %
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)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 %

go and star https://github.com/Adam-Kulju/Patricia!
-
- Posts: 44601
- Joined: Sun Feb 26, 2006 10:52 am
- Location: Auckland, NZ
Re: Willow 2.5 (first release)
Willow moves instantly for every move for me.
Also, there are no engine parameters displayed when setting up the engine.
Also, there are no engine parameters displayed when setting up the engine.
gbanksnz at gmail.com
-
- Posts: 44601
- Joined: Sun Feb 26, 2006 10:52 am
- Location: Auckland, NZ
Re: Willow 2.5 (first release)
Adam is fixing this now.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.

gbanksnz at gmail.com