"The most aggressive superhuman engine ever created"

791 views
Skip to first unread message

Dirk

unread,
Jul 28, 2024, 12:02:01 PM7/28/24
to PicoChess
I have added the (windows and linux) engine Patricia 3.0 to PicoChess which is - according to Stephan Pohl and his EAS tool - "the most aggressive superhuman engine ever created" ;-) 
And yes it is fun to play against it (similar to Pedone)!


Unfortunately the parameter for reducing the playing strength in ELO has not the official UCI format so that our auto elo feature in PicoChess won't work.

Thats why did a small update to the engine.py file in order to support the Patricia elo parameter with our auto logic.


PicoChessWeb (picochessweb) – VNC Viewer 2024-07-28 17-59-56.jpg
Maybe Randy will add this engine to his image!?

Dirk


Dirk

unread,
Jul 28, 2024, 12:04:06 PM7/28/24
to PicoChess
Attached you will find the updated engine.py and uci file...

Dirk
engine.py.zip

Dirk

unread,
Jul 28, 2024, 12:45:16 PM7/28/24
to PicoChess
patricia.uci

Luigi Vogliobene

unread,
Jul 29, 2024, 5:59:57 AM7/29/24
to PicoChess
Thank you Dirk

Marc Hamilton

unread,
Jul 30, 2024, 1:00:31 AM7/30/24
to PicoChess

I got it to work...  I had to change the compiler in the Makefile from "Chang" to g++
Has anyone got an engine.ini entry... I just copied an existing one and changed the menu names 
I was also able to install the Patricia.exe in Fat Fritz 2 

Here's a link to a zip file that contains the compiled patricia file and the supplied uci. 
as stated above... you need to copy the updated engine.py file to /opt/picochess/uci

Thanks for this... Marc

Dirk

unread,
Jul 30, 2024, 4:20:50 AM7/30/24
to PicoChess
Hi Marc,

thanks for the compilation.

Regarding engine.ini entry: what else do you expect when you have entered the new engine names. ;-) 

[patricia]
name = Patricia 3.0 EAS Engine - The most aggressive superhuman engine ever created
small = patric
medium = Patricia
large = Patricia(W)
web = Patricia 3 EAS
elo = 3551
levels = 0
ponder/brain = n

I have updated my patricic.uci file for the correct minimal elo which is 1100:

[DEFAULT]
Hash = 192 

[Auto Elo]
UCI_Limit = max(1100, int(auto / 50 + 1) * 50)

[Elo@1100]
UCI_Limit = 1100

[Elo@1300]
UCI_Limit = 1300

[Elo@1500]
UCI_Limit = 1500

[Elo@1700]
UCI_Limit = 1700

[Elo@1900]
UCI_Limit = 1900

[Elo@2100]
UCI_Limit = 2100

[Elo@2300]
UCI_Limit = 2300

[Elo@3000]
UCI_Limit = 3000

[Elo@3300]
UCI_Limit = 3300


And keep in mind that you need my updated engines.py for supporting the auto elo feature of this engine.

Thanks 
Dirk

Marc Hamilton

unread,
Jul 30, 2024, 10:04:10 AM7/30/24
to PicoChess
Thanks Dirk...  
I did replace the updated engine.py... also note if you use the compiled version of Patricia, don't forget to set it to an executable in the aarch64 folder. 

Here's a video of me playing the engine at ELO 1100; Read the description under the video where chess.com analysis rated its play at an ELO of 1650. 

Dirk

unread,
Jul 30, 2024, 10:54:53 AM7/30/24
to 'Dirk' via PicoChess
Marc,

I saw that in your compilation for the native PI version it looks like the author reintroduced the UCI_Elo parameter again. 
That should work with the original engine.py again (in the linux version on his web site it is still missing) and this uci file.

And I think chess.com evaluation is more accurate: I found 1100 elo way too strong...

[DEFAULT]
Hash = 192 

[Auto Elo]
UCI_Elo = max(1100, int(auto / 50 + 1) * 50)

[Elo@1100]
UCI_Elo = 1100

[Elo@1300]
UCI_Elo = 1300

[Elo@1500]
UCI_Elo = 1500

[Elo@1700]
UCI_Elo = 1700

[Elo@1900]
UCI_Elo = 1900

[Elo@2100]
UCI_Elo = 2100

[Elo@2300]
UCI_Elo = 2300

[Elo@3000]
UCI_Elo = 3000

[Elo@3300]
UCI_Elo = 3300


Dirk



-- 
You received this message because you are subscribed to the Google Groups "PicoChess" group.
To unsubscribe from this group and stop receiving emails from it, send an email to picochess+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/picochess/ecd6ed42-c59c-4896-8c64-567a0e0e52c4n%40googlegroups.com.

Marc Hamilton

unread,
Jul 30, 2024, 12:12:59 PM7/30/24
to PicoChess
Dirk said, "And I think chess.com evaluation is more accurate: I found 1100 elo way too strong..."

Luckily, it caught me when I'm "seeing the board well" - Just hit 10 wins in a row on chess.com :-)

Dirk

unread,
Aug 29, 2024, 1:02:37 PM8/29/24
to PicoChess
Hello, 

Patricia 3.1 has been released on Github (there are executables for windows, linux and android (on source forge for my Evo ;-) - but unfortunately nothing for Raspian. Is there someone how could compile it for us?.

Thank you !
Dirk

RandyR

unread,
Aug 29, 2024, 1:29:12 PM8/29/24
to PicoChess
Sure.

Se attached.

Randy

patricia.zip

Dirk

unread,
Aug 29, 2024, 1:34:44 PM8/29/24
to 'Dirk' via PicoChess
Thank you Randy!

Randy Reade

unread,
Aug 29, 2024, 1:38:34 PM8/29/24
to pico...@googlegroups.com
Here's an updated patricia.uci file. Looks like the UCI_Elo range has changed.

Randy

--
You received this message because you are subscribed to the Google Groups "PicoChess" group.
To unsubscribe from this group and stop receiving emails from it, send an email to picochess+...@googlegroups.com.
patricia.uci

Dirk

unread,
Aug 29, 2024, 1:39:59 PM8/29/24
to pico...@googlegroups.com
Ah ok, I see.

THX

Am 29.08.2024 um 19:38 schrieb Randy Reade <randy...@gmail.com>:


Steve Sun

unread,
Sep 3, 2024, 12:38:04 AM9/3/24
to PicoChess
IMG_0489.jpegHi Dirk, Randy,

I am testing the Patricia from level 500, but at the end, Patricia does not want to play (mate in 1). She just said: err0000, and stopped playing, and all Picochess “buttons” are not functioning… So I ssh into Picochess to reboot… Is there any good way to stop Patricia? 

Thanks,

Steve

Dirk

unread,
Sep 3, 2024, 2:24:53 AM9/3/24
to pico...@googlegroups.com
Uups - that shouldn’t happen of course.

Hi Steve,

don’t think we can do anything from clearing up this situation by rebooting (just killing the engine process wouldn’t help).

I remember that we had some issues in the beginning with the 3.0 release and Randy’s compilation. I think because of that I used the compilation from Marc for 3.0 and never had an issue.
Maybe so one could check because I am not at home for the next days.

You could try the Linux versions as well if you are running the wine image - with that I never had issues as well.

Dirk

Von meinem iPad gesendet

Am 03.09.2024 um 06:38 schrieb Steve Sun <steves...@gmail.com>:


--
You received this message because you are subscribed to the Google Groups "PicoChess" group.
To unsubscribe from this group and stop receiving emails from it, send an email to picochess+...@googlegroups.com.

Steve Sun

unread,
Sep 3, 2024, 3:40:46 AM9/3/24
to pico...@googlegroups.com
Hi Dirk,

I am running the wine image on my Raspberry Pi 5.

Sent from my iPhone

On Sep 3, 2024, at 2:24 PM, 'Dirk' via PicoChess <pico...@googlegroups.com> wrote:

Uups - that shouldn’t happen of course.

Dirk

unread,
Sep 3, 2024, 3:58:21 AM9/3/24
to pico...@googlegroups.com
Then you could go for the Linux versions as long as we haven’t figured out the reason.

Another possibility for the error would be that it is not caused by the engine itself but the pico tutor (when you play too good ;-) 
Was the pico tutor (either Watcher or Coach) enabled?

Dirk
Von meinem iPad gesendet

Am 03.09.2024 um 09:40 schrieb Steve Sun <steves...@gmail.com>:

Hi Dirk,

Steve Sun

unread,
Sep 3, 2024, 6:30:03 AM9/3/24
to pico...@googlegroups.com
Hi Dirk,

The Watcher is off, but I set the coach to “lift”. 

Will turn the coach off and test Patricia again at level 500. Will let u know later. 

Best Regards,

========================================================
Steve


On Sep 3, 2024, at 3:58 PM, 'Dirk' via PicoChess <pico...@googlegroups.com> wrote:

Then you could go for the Linux versions as long as we haven’t figured out the reason.

Steve Sun

unread,
Sep 3, 2024, 8:57:33 AM9/3/24
to PicoChess
Hi Dirk:

U r right! After turning off the Coach, Patricia behaves normally. Not 100% sure if this Coach-related, ‘cause I do not know the architecture of the Picochess. And I will keep “playing” with settings in Picochess.ini file, since the Lite version is very sensitive to the settings… Picochess (Lite img) crashes very easily when turning on the Watcher/Coach (DGTPi upgraded to RPi 3B+). 

However, I found something very interesting… If I use Chessnut Air (with 64 leds indicators) instead of DGT, after “start a new game”, all led indicators are gone, aka, Chessnut Air behaves like DGT BT board. 

Regards,

Steve

Randy Reade

unread,
Sep 3, 2024, 9:51:13 AM9/3/24
to pico...@googlegroups.com
Hi Steve.

It would be good if you can reproduce the error. I set up your position and Patricia correctly played Ne8.

When PicoChess locks up, typically it happens without an entry in the log file (since it crashed before an entry could be made) but you should set the log level to debug in picochess.ini and maybe it will show something. You can try ssh and 'systemctl status picochess' when it crashes to see what the error was but usually (if it's the engine) it will not be of much help (typically uci.py from the python-chess module).

Randy

--
You received this message because you are subscribed to the Google Groups "PicoChess" group.
To unsubscribe from this group and stop receiving emails from it, send an email to picochess+...@googlegroups.com.

Steve Sun

unread,
Sep 3, 2024, 10:50:21 AM9/3/24
to PicoChess
Hi Randy, 

Plz look at my previous post. Does ur Chessnut Air board’s led lights up after u “start a new game”? The first game has no problem on Chessnut Air, but after “start a new game”, Chessnut Air behaves strangely. 

I will set the Pico Coach to lift and try to reproduce the problem for the wine img tomorrow. 

Randy Reade

unread,
Sep 3, 2024, 10:57:37 AM9/3/24
to pico...@googlegroups.com
I'll test that today. I never noticed an issue with my Air+.

Randy


You received this message because you are subscribed to a topic in the Google Groups "PicoChess" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/picochess/WlykKnnUgT8/unsubscribe.
To unsubscribe from this group and all its topics, send an email to picochess+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/picochess/3b83a6ad-b0b8-40a9-80da-295c873123ean%40googlegroups.com.

Randy Reade

unread,
Sep 3, 2024, 10:59:05 AM9/3/24
to pico...@googlegroups.com
Hi Dirk,

My Wine image only has the version compiled for the Pi.

Randy

Steve Sun

unread,
Sep 3, 2024, 11:44:36 AM9/3/24
to PicoChess
Hi Randy,

With the help of SmallFish (iOS version of StockFish 16.1) on my iPhone/ipad, this problem is reproducible:

1. Turn on Pico Watcher
2. Turn on Pico Coach (I set it to “lift”)
3. Play a full game using SmallFish against Patricia 3.1
4. During the game, lift the king a couple of times deliberately. 
5. Keep playing… up to certain moments, it will freeze. 

I made a video, but could not post it here… Will turn on logging tomorrow to find more info.

Steve

Randy Reade

unread,
Sep 3, 2024, 11:57:19 AM9/3/24
to pico...@googlegroups.com
Hi Steve,

Ok. I'll try that.

As for your LED issue, I don't see that when using my Air+. Once a game is finished and I reset the pieces to the starting position, get the "New Game" announcement, the LEDs are working normally in the following game.

Randy

Randy Reade

unread,
Sep 3, 2024, 12:55:32 PM9/3/24
to pico...@googlegroups.com
Hi Steve,

I was able to replicate your issue with PicoChess freezing. There is an error written to the log file:

2024-09-03 11:25:40.388 WARNING      iface - get_san: [web] illegal move 0000 found - uci960: False fen: 1r6/p1R2p2/2R5/pP3k1N/6P1/5P2/P5P1/6K1 b - - 0 33

It occured right after PicoTutor said "That is a really good move. The engine is mate in 6." Then I saw the ...er0000 displayed on the web clock. Unfortunately I didn't have my log set to debug so will try it again. It does look like the engine sent a bad move but possibly it just crashed:

pi@picochess:~ $ systemctl status picochess
● picochess.service - PicoChess Chess Program
     Loaded: loaded (/etc/systemd/system/picochess.service; enabled; preset: enabled)
     Active: active (running) since Tue 2024-09-03 10:36:42 CDT; 1h 8min ago
   Main PID: 1487 (python3)
      Tasks: 18 (limit: 9119)
        CPU: 25min 53.882s
     CGroup: /system.slice/picochess.service
             ├─ 1487 /home/pi/.pyenv/versions/picochess-3.9.2/bin/python3 /opt/picochess/picochess.py
             ├─ 2208 /opt/picochess/engines/aarch64/patricia
             ├─ 2775 /home/pi/.pyenv/versions/picochess-3.9.2/lib/python3.9/site-packages/bluepy/bluepy-helper
             └─12304 /opt/picochess/engines/aarch64/a-stockf

Sep 03 11:25:40 picochess python3[1487]:     return future.result(timeout=FUTURE_POLL_TIMEOUT)
Sep 03 11:25:40 picochess python3[1487]:   File "/home/pi/.pyenv/versions/3.9.2/lib/python3.9/concurrent/futures/_base.py", line 440, in result
Sep 03 11:25:40 picochess python3[1487]:     return self.__get_result()
Sep 03 11:25:40 picochess python3[1487]:   File "/home/pi/.pyenv/versions/3.9.2/lib/python3.9/concurrent/futures/_base.py", line 389, in __get_result
Sep 03 11:25:40 picochess python3[1487]:     raise self._exception
Sep 03 11:25:40 picochess python3[1487]:   File "/home/pi/.pyenv/versions/3.9.2/lib/python3.9/concurrent/futures/thread.py", line 52, in run
Sep 03 11:25:40 picochess python3[1487]:     result = self.fn(*self.args, **self.kwargs)
Sep 03 11:25:40 picochess python3[1487]:   File "/home/pi/.pyenv/versions/picochess-3.9.2/lib/python3.9/site-packages/chess/uci.py", line 1024, in command
Sep 03 11:25:40 picochess python3[1487]:     raise EngineTerminatedException()
Sep 03 11:25:40 picochess python3[1487]: chess.engine.EngineTerminatedException


Here is the game:

[White "Player"]
[Black "Patricia 3.1"]
[Result "*"]
[BlackElo "500"]
[Time "10:57:35"]
[WhiteElo "1500"]

1. f3 e5 2. Nc3 Nf6 3. e4 d5 4. d4 exd4 5. Qxd4 c6 6. Bd3 h6 7. Nge2 dxe4 8. Bxe4 Qa5 9. Bd2 Na6 10. Nd5 Nb4 11. Qe5+ Kd8 12. Bxb4 Bxb4+ 13. c3 Re8 14. cxb4 Rxe5 15. bxa5 Rxd5 16. Bxd5 cxd5 17. O-O Rb8 18. Rfd1 g6 19. Rac1 g5 20. Nd4 Ke7 21. b4 Ke8 22. Rc3 Be6 23. Rdc1 h5 24. h3 Kd8 25. b5 g4 26. Nxe6+ Ke8 27. Nc7+ Kd8 28. Nxd5 b6 29. Nxf6 Ke7 30. Nxh5 bxa5 31. Rc7+ Ke6 32. R1c6+ Kf5 33. hxg4+

It might be useful testing another engine as well. I was using my Chessnut Air+ and the latest Wine image on my Pi5 with PicoWatcher and PicoCoach (lift) enabled.

Randy

On Tue, Sep 3, 2024 at 10:44 AM Steve Sun <steves...@gmail.com> wrote:

Dirk Mollmann

unread,
Sep 3, 2024, 3:06:24 PM9/3/24
to pico...@googlegroups.com
Yes that looks like more an engine answer problem than a PicoTutor issue also I am quite sure that pick tutor also still has sone flaws…

Maybe this issue occurs more often with the latest Stockfisch version we use for the tutor although on the other hand I Would be surprised if stockfish would have an undiscovered bug …

Hmmm…

Until we have fixed this issue, we shouldn’t use  tutor too often I think😬 

Am 03.09.2024 um 18:55 schrieb Randy Reade <randy...@gmail.com>:


--
You received this message because you are subscribed to the Google Groups "PicoChess" group.
To unsubscribe from this group and stop receiving emails from it, send an email to picochess+...@googlegroups.com.

RandyR

unread,
Sep 3, 2024, 6:08:42 PM9/3/24
to PicoChess
I modified picochess.py so I could see all of the communication between the engine and picochess and it appears that patricia is detecting a mate and sends back a bestmove of a1a1. Below, process id's (pid) of 2724 and 2726 are PicoChess talking to the PicoTutor engines (Stockfish 16). pid=1890 is the patricia engine. I have edited the output to remove much of the non-relevant log entries (e.g. bluetooth communications, engine search results - like you see when running the engine from the command line and typing 'go').

 2024-09-03 15:50:06.868   DEBUG        uci - send_line: <PopenProcess at 0xffffa82eadc0 (pid=2724)> << position startpos moves f2f3 e7e6 b1c3 c7c5 e2e4 d7d5 e4d5 e6d5 d2d4 c8e6 c1e3 g8e7 f1b5 b8d7 d4c5 h7h6 g1e2 d8c8 e2f4 e7g6 f4d5 a7a6 d5b6 a6b5 b6c8 b5b4 c3e4 a8c8 a2a3 g6h4 e1g1 d7c5 e4c5 b4a3 a1a3 h8g8 b2b4 g7g6 d1d3 f8d6 c5b7 d6f8 f1a1 g6g5 b7d6 f8d6 d3d6 h4f5 d6b6 f5e7 a3a8 h6h5 a1d1 c8a8 b6b5 e8f8 e3c5 g5g4 f3f4 f8g7 c5e7 g7h6 d1d6 a8a2 e7g5 h6g7 b5e5 g7h7 g5f6 h7h6 f4f5 a2a8 f5e6 h5h4 e6f7 a8c8
2024-09-03 15:50:06.868   DEBUG picotalker - run: announcing COMPUTER_MOVE [a8c8]
2024-09-03 15:50:06.869   DEBUG        uci - send_line: <PopenProcess at 0xffffa82eadc0 (pid=2724)> << isready
2024-09-03 15:50:06.877   DEBUG        uci - send_line: <PopenProcess at 0xffffa83ab280 (pid=2726)> << position startpos moves f2f3 e7e6 b1c3 c7c5 e2e4 d7d5 e4d5 e6d5 d2d4 c8e6 c1e3 g8e7 f1b5 b8d7 d4c5 h7h6 g1e2 d8c8 e2f4 e7g6 f4d5 a7a6 d5b6 a6b5 b6c8 b5b4 c3e4 a8c8 a2a3 g6h4 e1g1 d7c5 e4c5 b4a3 a1a3 h8g8 b2b4 g7g6 d1d3 f8d6 c5b7 d6f8 f1a1 g6g5 b7d6 f8d6 d3d6 h4f5 d6b6 f5e7 a3a8 h6h5 a1d1 c8a8 b6b5 e8f8 e3c5 g5g4 f3f4 f8g7 c5e7 g7h6 d1d6 a8a2 e7g5 h6g7 b5e5 g7h7 g5f6 h7h6 f4f5 a2a8 f5e6 h5h4 e6f7 a8c8
2024-09-03 15:50:06.882   DEBUG        uci - send_line: <PopenProcess at 0xffffa83ab280 (pid=2726)> << isready
2024-09-03 15:50:06.887   DEBUG        uci - send_line: <PopenProcess at 0xffffa83ab280 (pid=2726)> << position startpos moves f2f3 e7e6 b1c3 c7c5 e2e4 d7d5 e4d5 e6d5 d2d4 c8e6 c1e3 g8e7 f1b5 b8d7 d4c5 h7h6 g1e2 d8c8 e2f4 e7g6 f4d5 a7a6 d5b6 a6b5 b6c8 b5b4 c3e4 a8c8 a2a3 g6h4 e1g1 d7c5 e4c5 b4a3 a1a3 h8g8 b2b4 g7g6 d1d3 f8d6 c5b7 d6f8 f1a1 g6g5 b7d6 f8d6 d3d6 h4f5 d6b6 f5e7 a3a8 h6h5 a1d1 c8a8 b6b5 e8f8 e3c5 g5g4 f3f4 f8g7 c5e7 g7h6 d1d6 a8a2 e7g5 h6g7 b5e5 g7h7 g5f6 h7h6 f4f5 a2a8 f5e6 h5h4 e6f7 a8c8
2024-09-03 15:50:06.888   DEBUG     server - display_move_on_clock: [38...  Rac8]
2024-09-03 15:50:06.890   DEBUG        uci - send_line: <PopenProcess at 0xffffa82eadc0 (pid=2724)> << position startpos moves f2f3 e7e6 b1c3 c7c5 e2e4 d7d5 e4d5 e6d5 d2d4 c8e6 c1e3 g8e7 f1b5 b8d7 d4c5 h7h6 g1e2 d8c8 e2f4 e7g6 f4d5 a7a6 d5b6 a6b5 b6c8 b5b4 c3e4 a8c8 a2a3 g6h4 e1g1 d7c5 e4c5 b4a3 a1a3 h8g8 b2b4 g7g6 d1d3 f8d6 c5b7 d6f8 f1a1 g6g5 b7d6 f8d6 d3d6 h4f5 d6b6 f5e7 a3a8 h6h5 a1d1 c8a8 b6b5 e8f8 e3c5 g5g4 f3f4 f8g7 c5e7 g7h6 d1d6 a8a2 e7g5 h6g7 b5e5 g7h7 g5f6 h7h6 f4f5 a2a8 f5e6 h5h4 e6f7 a8c8
2024-09-03 15:50:06.891   DEBUG        uci - send_line: <PopenProcess at 0xffffa83ab280 (pid=2726)> << go depth 5
2024-09-03 15:50:06.900   DEBUG        uci - send_line: <PopenProcess at 0xffffa82eadc0 (pid=2724)> << go depth 17
2024-09-03 15:50:07.070   DEBUG        uci - on_line_received: <PopenProcess at 0xffffa83ab280 (pid=2726)> >> bestmove f6g7 ponder h6h7
2024-09-03 15:50:07.730   DEBUG        uci - on_line_received: <PopenProcess at 0xffffa82eadc0 (pid=2724)> >> bestmove f6g7 ponder h6h7
2024-09-03 15:50:29.920    INFO  picochess - process_fen: standard move detected
2024-09-03 15:50:29.921    INFO  picochess - user_move: user move [f6g7] sliding: False
2024-09-03 15:50:32.648   DEBUG        uci - send_line: <PopenProcess at 0xffffa862d4c0 (pid=1890)> << position startpos moves f2f3 e7e6 b1c3 c7c5 e2e4 d7d5 e4d5 e6d5 d2d4 c8e6 c1e3 g8e7 f1b5 b8d7 d4c5 h7h6 g1e2 d8c8 e2f4 e7g6 f4d5 a7a6 d5b6 a6b5 b6c8 b5b4 c3e4 a8c8 a2a3 g6h4 e1g1 d7c5 e4c5 b4a3 a1a3 h8g8 b2b4 g7g6 d1d3 f8d6 c5b7 d6f8 f1a1 g6g5 b7d6 f8d6 d3d6 h4f5 d6b6 f5e7 a3a8 h6h5 a1d1 c8a8 b6b5 e8f8 e3c5 g5g4 f3f4 f8g7 c5e7 g7h6 d1d6 a8a2 e7g5 h6g7 b5e5 g7h7 g5f6 h7h6 f4f5 a2a8 f5e6 h5h4 e6f7 a8c8 f6g7
2024-09-03 15:50:32.649   DEBUG        uci - send_line: <PopenProcess at 0xffffa862d4c0 (pid=1890)> << go wtime 551600 btime 489499 winc 10000 binc 10000
2024-09-03 15:50:32.650   DEBUG        uci - on_line_received: <PopenProcess at 0xffffa862d4c0 (pid=1890)> >> info multipv 1 depth 1 seldepth 5 score cp -973 nodes 25 nps 11428571 time 0 pv h6h7
2024-09-03 15:50:32.651   DEBUG        uci - on_line_received: <PopenProcess at 0xffffa862d4c0 (pid=1890)> >> info multipv 2 depth 1 seldepth 0 score cp -16410 upperbound nodes 26 nps 123456789 time 0 pv h6h7

     <edited out many info lines from patricia>

2024-09-03 15:50:32.677   DEBUG        uci - on_line_received: <PopenProcess at 0xffffa862d4c0 (pid=1890)> >> info multipv 1 depth 125 seldepth 3 score mate -1 nodes 13037 nps 2607400 time 5 pv h6h7 d6h6
2024-09-03 15:50:32.677   DEBUG        uci - on_line_received: <PopenProcess at 0xffffa862d4c0 (pid=1890)> >> info multipv 1 depth 126 seldepth 3 score mate -1 nodes 13149 nps 2629800 time 5 pv h6h7 d6h6
2024-09-03 15:50:32.677   DEBUG        uci - on_line_received: <PopenProcess at 0xffffa862d4c0 (pid=1890)> >> info multipv 1 depth 127 seldepth 3 score mate -1 nodes 13261 nps 2652200 time 5 pv h6h7 d6h6
2024-09-03 15:50:32.677   DEBUG        uci - on_line_received: <PopenProcess at 0xffffa862d4c0 (pid=1890)> >> bestmove a1a1
2024-09-03 15:50:32.678    INFO     engine - callback: res: BestMove(bestmove=Move.from_uci('0000'), ponder=None)
2024-09-03 15:50:33.383   DEBUG        uci - send_line: <PopenProcess at 0xffffa82eadc0 (pid=2724)> << quit
2024-09-03 15:50:33.394   DEBUG        uci - send_line: <PopenProcess at 0xffffa83ab280 (pid=2726)> << quit
2024-09-03 15:50:33.410   DEBUG     server - display_move_on_clock: [39...er0000]

Unfortunately I didn't get the pgn before I shut down PicoChess but the moves are shown in the 'position startpos moves ...' line above.

More testing is required to confirm it's the engine.

Randy

RandyR

unread,
Sep 3, 2024, 9:34:09 PM9/3/24
to PicoChess
I tested using StockfishNN on the lowest level and there was no issue at the end when StockfishNN saw it was losing with Mate in 9. PicoTutor announced when it reached Mate in 5. Game ended after checkmate. No issues. I compiled the latest version of Patricia and attached it here if you want to test it. I'll check it also. There are quite a few commits since the last version but no guarantee it is stable.

Randy

patricia.zip

RandyR

unread,
Sep 3, 2024, 10:15:21 PM9/3/24
to PicoChess
Don't bother with the new version. It suffers from the same issue. Perhaps testing with the older v3.0 (and corresponding .uci file) will work. I'll attach it here and test it tomorrow myself.

Randy

patricia_3.0.zip

Steve Sun

unread,
Sep 3, 2024, 10:38:04 PM9/3/24
to PicoChess
Hi Randy,

Thanks for the info. I will keep testing it. Also, I will try to reproduce the led problem on my Chessnut Air. I just did a quick test by making few moves, then put all pieces back, all leds are working all right. 

Will report later today. By the way, I m in, UTC+8 time zone. 

Steve Sun

unread,
Sep 4, 2024, 7:09:59 AM9/4/24
to PicoChess
Hi Randy,

With Patricia 3.0: it works fine. But, like Dirk said: level 1100 is too strong... 

Best,

Steve

On Wednesday, September 4, 2024 at 10:15:21 AM UTC+8 RandyR wrote:

RandyR

unread,
Sep 4, 2024, 9:53:21 PM9/4/24
to PicoChess
I can confirm that Patricia 3.0 does work and yes, it seems to play much stronger than expected at 1100. I had to use Stockfish an to play the best moves in order to duplicate the issue when 3.1 is being mated.

I can also confirm that Patricia 3.1 crashes even with PicoTutor turned off. I'll open an issue with the developer.

Randy

Steve Sun

unread,
Sep 5, 2024, 7:45:50 AM9/5/24
to PicoChess
Hi Randy, 

I concur that. However, if Pico Explorer, Pico Watcher, Pico Coach are all set to off; toward the end of a game, I saw Patricia 3.1 says “er0000” on the web clock, but the Picochess web interface is still functioning. Yes, I see Patricia 3.1 crashed on “htop” via ssh from my iPad. But, .pyenv/…, web server, network manager, etc are still “alive”. Does that mean Picochess is still functioning? I still can start a new game “without any problems” meaning that my Chessnut Air LEDs are all “dead”. 

Could u try to set up a new game after Patricia 3.1 crashed, make few moves, and observe the leds on ur Air+? Thanks. 

Steve

Randy Reade

unread,
Sep 5, 2024, 12:16:07 PM9/5/24
to pico...@googlegroups.com
Hi Steve,

Are you sure Patricia crashed? I just ran PicoChess on my x86 Linux laptop and when Patricia didn't respond near the end of the game, it was still showing in HTOP. At least it's not an ARM related issue. I'll try to test outside PicoChess.

Randy

RandyR

unread,
Sep 5, 2024, 12:58:59 PM9/5/24
to PicoChess
Testing using Arena in Linux on x86_64 laptop failed as well. Not PicoChess related. Here's a link to the submitted issue. Hopefully Adam can solve it.

Randy

RandyR

unread,
Sep 5, 2024, 9:07:56 PM9/5/24
to PicoChess
Steve, I tried setting up a new game after Patricia gave the invalid move (...er0000). I selected Game Setup/Start New Game, reset the pieces, but PicoChess stopped responding and the web browser didn't register any move. Even if I select a different engine before putting the pieces back in the starting position, and I hear 'New Game' announced, no moves are detected and no more menu selections are possible. 'systemctl status picochess' showed the EngineTerminatedException error. This is typical when an engine crashes. It will degrade PicoChess or stop it completely. I'm not surprised you lost LEDs. The error handling should be improved so an engine doesn't require direct intervention, if that's possible. Best to restart PicoChess or reboot when an engine crashes (or when python-chess detects an issue).

Randy

On Thursday, September 5, 2024 at 6:45:50 AM UTC-5 steves...@gmail.com wrote:
Hi Randy, 

Steve Sun

unread,
Sep 6, 2024, 12:30:18 AM9/6/24
to PicoChess
IMG_0494.jpegHi Randy,

Surprised to know Picochess got messed up after the “er0000” on x86 Linux! That does not happen on my RPi5 (8G+m.2 NVME running the latest wine img). 

On my end: Picochess freezes with Watcher, Coach on. With Watcher, Coach off, I still can start a new game after the “er0000”. The only thing happed is I lost all LEDs. In the test that I just tried, Patricia is still alive after the “er0000”… 

I really hope this is not a machine dependent behavior…

BTW, for the DGTPi Lite image (with RPi3B+, swap size 2G), Picochess could not even start with Watcher/Coach on (will try again later today). That is why I use my iPhone SmallFish app for all the Patricia related testing. 

Regards, Steve

Steve Sun

unread,
Sep 6, 2024, 7:12:53 AM9/6/24
to PicoChess
Hi Andy,

I have a stupid question regarding the PicoTutor: if we turned off the PicoTutor, why do we still need multiple instances of a-stockf running? Does the a-stockf used somewhere else?? 

Steve

Randy Reade

unread,
Sep 6, 2024, 10:48:50 AM9/6/24
to pico...@googlegroups.com
Hi Steve,

I think your post was meant for me. We looked at this before and I thought it was solved (it is PicoTutor starting the a-stockf engines). Maybe Dirk knows what happened. The code incorporated by Ghislain is still in there but, as Ghislain stated in the commit description, more work is required.

Randy

Steve Sun

unread,
Sep 6, 2024, 11:54:03 AM9/6/24
to PicoChess
Hi Randy,

Very informative! These makes me more curious about the “logic” of Picochess, and I really want to dig into it deeper! 

Steve

Dirk

unread,
Sep 8, 2024, 9:55:54 AM9/8/24
to PicoChess
I can't remember exactly but I thought that the main issue had been fixed meaning if you turn off PicoWatcher AND PicoCoach there should be no PicoTutor induced stockfish process unless stockfish is your main engine ;-) 
I double checked this on my system: no stockfish process if both are turned off.

Dirk

Randy Reade

unread,
Sep 8, 2024, 10:15:07 AM9/8/24
to pico...@googlegroups.com
I'm not seeing that myself. Even with both turned off I still get the 2 instances of a-stockf. If I change it to texel in picochess.ini I get 2 texel instances. I'm pretty sure my code is up to date.

Randy

--
You received this message because you are subscribed to the Google Groups "PicoChess" group.
To unsubscribe from this group and stop receiving emails from it, send an email to picochess+...@googlegroups.com.

Dirk

unread,
Sep 8, 2024, 11:28:38 AM9/8/24
to PicoChess
Hi Randy,

I am pretty sure you don't use the latest version of picotutor.py -there was an update many times ago  - I think something like 3 minutes ago ;-)))))))))))))))))

Please have a look (and others who would like to test this bugfix are welcome as well) and replace the picoctutor.py file.

Things to check:

if Watcher AND Coachbare switched off no pico tutor engine instance should be running.

If Wacher or and/or Coach are switched on the corresponding function should work.

Thanks
Dirk

picotutor.py.zip

Randy Reade

unread,
Sep 8, 2024, 11:48:22 AM9/8/24
to pico...@googlegroups.com
Thanks, Dirk. I will test soon.

Randy

RandyR

unread,
Sep 8, 2024, 8:01:37 PM9/8/24
to PicoChess
Hi Dirk,

I tested the new picocutor.py and still have the 2 instances of a-stockf running with Pico Coach/Watcher/Explorer all off. Isn't it initialized in picochess.py?

Randy

Steve Sun

unread,
Sep 9, 2024, 5:16:17 AM9/9/24
to PicoChess
IMG_0498.jpeg
Hi Dirk: with ur Pictor.py, there are still 2 instances of a-stockf running on my Pi5 (using the latest wine img).

Steve

Steve Sun

unread,
Sep 9, 2024, 5:29:24 AM9/9/24
to PicoChess
Hi Dirk, 

If u observe these a-stockf instances from users’ point of view: when a user boot up Picochess, he/she can always go into PicoTutor to turn the Watcher, Coach on or off. Is this the reason there are always two a-stockf instances running to handle whether a user gonna to use PicoTutor or not? The “book” service behaves similarly (even if I disabled the book and game services). 

Steve

On Sunday, September 8, 2024 at 11:28:38 PM UTC+8 Dirk wrote:

Dirk

unread,
Sep 9, 2024, 6:46:39 AM9/9/24
to PicoChess
Ok, hopefully found the cause for all cases: Please replace picotutor.py AND picochess.py in main picochess folder and test again.
Dirk
TutorFix.zip

Steve Sun

unread,
Sep 9, 2024, 7:36:51 AM9/9/24
to PicoChess
Hi Dirk:

With Watcher off, Coach off: no more a-stockf, however, when I turn both back on, there are 4 instances of a-stockf running.

Steve

Dirk

unread,
Sep 9, 2024, 7:50:18 AM9/9/24
to pico...@googlegroups.com
PicoTutor uses 2 „main“ instances of the tutor engine (one for deeper analysis and one for shorter in order order to calculate !? etc.)
I think that each stockfish process creates another one internally at least that is exactly what happens when you start the engine manually. So this is fine i think.

Von meinem iPad gesendet

Am 09.09.2024 um 13:36 schrieb Steve Sun <steves...@gmail.com>:

Hi Dirk:

Steve Sun

unread,
Sep 9, 2024, 7:53:40 AM9/9/24
to PicoChess
Hi Dirk:

Only one question left: if only one of them (Watcher or Coach) is on, there are still 4 instances…

Steve

Dirk

unread,
Sep 9, 2024, 7:56:09 AM9/9/24
to 'Dirk' via PicoChess
Yes - both main engine process are always used for calculating (thats independent off coach and watcher or on or only one of them)

Steve Sun

unread,
Sep 9, 2024, 9:11:53 AM9/9/24
to PicoChess
Thanks a lot, Dirk. 

Steve

Randy Reade

unread,
Sep 9, 2024, 10:02:46 AM9/9/24
to pico...@googlegroups.com
Works great, Dirk. Thanks!

Randy

Randy Reade

unread,
Sep 9, 2024, 10:06:45 AM9/9/24
to pico...@googlegroups.com
Steve,

The main processes are shown in white. The treads of each process are shown in green. In htop, you can press 'H' (that's Shift+h) to hide the threads. Also, press 'h' for other commands and help.

Randy

Steve Sun

unread,
Sep 9, 2024, 10:23:54 AM9/9/24
to PicoChess
Hi Randy: 

Thanks for the hints. I just put Patricia 3.1 back and tried to create the “er000”… On my Pi5, Picochess behaves like ur x86 Linux now (GUI freezes), but Patricia 3.1 did not crash… However, I saw some other problem, and I am trying to reproduce it… 

Steve

Randy Reade

unread,
Sep 9, 2024, 10:36:29 AM9/9/24
to pico...@googlegroups.com
I wouldn't use Patricia until the author fixes the illegal move issue at the end of the game (still open on Github).

Dirk

unread,
Sep 9, 2024, 10:38:41 AM9/9/24
to pico...@googlegroups.com
Right.

Am 09.09.2024 um 16:36 schrieb Randy Reade <randy...@gmail.com>:


--
You received this message because you are subscribed to the Google Groups "PicoChess" group.
To unsubscribe from this group and stop receiving emails from it, send an email to picochess+...@googlegroups.com.

Steve Sun

unread,
Sep 10, 2024, 12:07:17 PM9/10/24
to PicoChess
IMG_0503.jpegHi Randy, Dirk,

Regarding Patricia: agree. However, should Picochess implement some “exception handling” to prevent engines sent out some “gibberish” and make Picochess function abnormally? Just my suggestion.

Another quick question: at the stating position, if a user wants to change PicoTutor setting(s) before making his/her first move. Will the clock start “ticking”? 

Please see my attached picture. When I was draining my Chessnut Air battery (need to send it back to Chessnut), I left Picochess and my board running (pieces are at the start positions), after testing Dirk’s new PicoTutor fix (Coach on confirmed twice, position analysis start to evaluate… ), I walked away. About half hour later, I saw the time on the clock showed 0:00 vs 5:00 (not 0-1 time out, black wins), and I still can play 1. e4, SF 16 replied 1… e6 (French). Is this normal? This situation is not easy to reproduce, u need to leave Picochess idle for a period of time…

I’ve seen several occasions like this since yesterday, plz confirm this is not a “problem” of Picochess. Thanks.

Regards,

Steve

Randy Reade

unread,
Sep 10, 2024, 7:45:01 PM9/10/24
to pico...@googlegroups.com
Yes. Any improvements in the code are welcome.

(??) You can just look at the clock to see if PicoTutor changes cause the clock to start. Don't be afraid to experiment. 🙂

You can always continue a game where the time runs out (at least for most or all modern engines). I think it will get recorded in the games folder as a loss though. Just check the games.pgn file.

Randy

Steve Sun

unread,
Sep 11, 2024, 7:47:13 AM9/11/24
to PicoChess
Hi Randy:

Just tried to turn the Pico Coach on (lift) and commit twice (click the >> button twice) to activate PicoTutor Position Analysis (against StockFish 16 Classical). 

I tried this three times today, first time: I only heard “PicoTutor position analysis”, then the screen freeze (this happened on my Pi5 several times already, that is why I said earlier “However, I saw some other problem, and I am trying to reproduce it…”). The second time and the third time, the clock started (before White’s first move). And, yes, I saw 0-1 on the GUI and in games.pgn file. 

With the clock starts after triggering the Position Analysis, I think it is normal. Just like in a tournament, after starting the clock, White deserves to think before making his/her first move. But, regarding the GUI freezing, I think we need to pay attention, but I have not figure out how to reproduce this problem. It happens about 30% of the chances when I tested Dirk’s fix to “a-stockf” up to now. I will turn on the “debug” logging and try to reproduce this problem…

Regards, Steve

Dirk

unread,
Sep 11, 2024, 8:15:08 AM9/11/24
to 'Dirk' via PicoChess
Hi Steve,

Don’t know what you are trying to: Lift a Piece and then click a button twice to trigger PicoCoach analysis ?????


Thats not the way it is designed and works.

If you set the Coach to lift you just need to lift one of the kings, wait until you see/hear set pieces message and then set it back. That should trigger the short position analysis by the Pico Coach - no need to press any button.

And by lifting a piece and putting it back  picochess starts the clock if it was paused before. 

Of course this lift trigger would not work in starting  position because putting back the king triggers New Game event.

If you set PicoCoach just to „on“ instead of „lift“ THEN you just have to select this option again which would trigger the analysis (eg if you just use the WebInterface for playing without a physical board).

But if you use the WebInterface maybe it is a better idea to just use the analysis web engine to show evaluation and main principal variant for move suggestion!?


Dirk


--
You received this message because you are subscribed to the Google Groups "PicoChess" group.
To unsubscribe from this group and stop receiving emails from it, send an email to picochess+...@googlegroups.com.

Steve Sun

unread,
Sep 11, 2024, 8:32:30 AM9/11/24
to PicoChess
Hi Dirk, 

This is what I did: only set the Coach to lift or on, then click >> twice, without lifting the king.

Steve

Steve Sun

unread,
Sep 11, 2024, 9:14:47 AM9/11/24
to PicoChess
Hi Dirk,

Actually I did that by accident: I use a mouse to click the button (and press the mouse twice, just like we use mouse with regular computer).

Steve 

On Wednesday, September 11, 2024 at 8:15:08 PM UTC+8 Dirk wrote:
Reply all
Reply to author
Forward
0 new messages