Coiled 1.0 makes illegal moves

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

Moderator: Ras

Odd Gunnar Malin
Posts: 310
Joined: Wed Mar 08, 2006 9:59 pm
Location: Norway, Vads?
Full name: Odd Gunnar Malin

Re: Coiled 1.0 makes illegal moves

Post by Odd Gunnar Malin »

Bmark wrote: Tue Oct 12, 2021 4:43 pm
Odd Gunnar Malin wrote: Tue Oct 12, 2021 4:17 pm
RubiChess wrote: Tue Oct 12, 2021 2:39 pm If the bug is constantly triggered after ~190 moves, some move buffer is probably full.
When reading the moves list from UCI position command you should throw away all moves before last move that resets the halfmove counter as they are not relevant. So you have at most 99 plies to remember regardless how long the game goes.

Regards, Andreas
Where would i be best to do this. I was thinking that this i a job for the GUI, but maybe I'm wrong here. I'm working on a GUI and was thinking of shorten the list before sending it to the engine, would this be a problem for any engines?
Hello Odd Gunnar Malin

I would say that it cannot be omitted, nor shortened.

position startpos moves ...
or
position fen (fen) moves ...

The chain of movements cannot be cut, since it is the one that guides to the given position. Either from a starting position or a fen position.
If it is omitted, you do not know where the pieces are located, since you are assuming that:
position startpos / fen is always the same.
and
moves always the same.

Greetings.
Hi, the question wasn't how it works, I've been in this circus for 30 years, but I was little in worry since the UI you use send the hole movelist from the startposition for every move. Is it is a reason for this or just a shortcut for the programmer of this UI. If an engine should be able to do analysis it shouldn't expect a startposition as a start for the movelist. If you need a log of the communication it is much cleaner to start the movelist from the last pawn move or capture.
Uri Blass
Posts: 11148
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: Coiled 1.0 makes illegal moves

Post by Uri Blass »

Odd Gunnar Malin wrote: Tue Oct 12, 2021 5:51 pm
Bmark wrote: Tue Oct 12, 2021 4:43 pm
Odd Gunnar Malin wrote: Tue Oct 12, 2021 4:17 pm
RubiChess wrote: Tue Oct 12, 2021 2:39 pm If the bug is constantly triggered after ~190 moves, some move buffer is probably full.
When reading the moves list from UCI position command you should throw away all moves before last move that resets the halfmove counter as they are not relevant. So you have at most 99 plies to remember regardless how long the game goes.

Regards, Andreas
Where would i be best to do this. I was thinking that this i a job for the GUI, but maybe I'm wrong here. I'm working on a GUI and was thinking of shorten the list before sending it to the engine, would this be a problem for any engines?
Hello Odd Gunnar Malin

I would say that it cannot be omitted, nor shortened.

position startpos moves ...
or
position fen (fen) moves ...

The chain of movements cannot be cut, since it is the one that guides to the given position. Either from a starting position or a fen position.
If it is omitted, you do not know where the pieces are located, since you are assuming that:
position startpos / fen is always the same.
and
moves always the same.

Greetings.
Hi, the question wasn't how it works, I've been in this circus for 30 years, but I was little in worry since the UI you use send the hole movelist from the startposition for every move. Is it is a reason for this or just a shortcut for the programmer of this UI. If an engine should be able to do analysis it shouldn't expect a startposition as a start for the movelist. If you need a log of the communication it is much cleaner to start the movelist from the last pawn move or capture.
Of course it is possible to start the move list from the last pawn move or capture but in this case engines that do not support fen cannot play(and not every engine that support the starting position support fen.
User avatar
Ras
Posts: 2727
Joined: Tue Aug 30, 2016 8:19 pm
Full name: Rasmus Althoff

Re: Coiled 1.0 makes illegal moves

Post by Ras »

Uri Blass wrote: Tue Oct 12, 2021 6:09 pmengines that do not support fen cannot play(and not every engine that support the starting position support fen.
It's a mandatory part of UCI. There's no reason why GUIs should pander to broken engines. It's on these engine authors to fix their engines.
Rasmus Althoff
https://www.ct800.net
petero2
Posts: 733
Joined: Mon Apr 19, 2010 7:07 pm
Location: Sweden
Full name: Peter Osterlund

Re: Coiled 1.0 makes illegal moves

Post by petero2 »

Odd Gunnar Malin wrote: Tue Oct 12, 2021 4:17 pm
RubiChess wrote: Tue Oct 12, 2021 2:39 pm If the bug is constantly triggered after ~190 moves, some move buffer is probably full.
When reading the moves list from UCI position command you should throw away all moves before last move that resets the halfmove counter as they are not relevant. So you have at most 99 plies to remember regardless how long the game goes.

Regards, Andreas
Where would i be best to do this. I was thinking that this i a job for the GUI, but maybe I'm wrong here. I'm working on a GUI and was thinking of shorten the list before sending it to the engine, would this be a problem for any engines?
lc0 uses (or at least used, I haven't checked lately) data from previous moves as input to its evaluation function, so it would be weaker in a GUI that shortens the move list like this. DroidFish used to shorten the move list like this, but stopped doing it because of lc0.
Odd Gunnar Malin
Posts: 310
Joined: Wed Mar 08, 2006 9:59 pm
Location: Norway, Vads?
Full name: Odd Gunnar Malin

Re: Coiled 1.0 makes illegal moves

Post by Odd Gunnar Malin »

petero2 wrote: Tue Oct 12, 2021 8:13 pm
Odd Gunnar Malin wrote: Tue Oct 12, 2021 4:17 pm
RubiChess wrote: Tue Oct 12, 2021 2:39 pm If the bug is constantly triggered after ~190 moves, some move buffer is probably full.
When reading the moves list from UCI position command you should throw away all moves before last move that resets the halfmove counter as they are not relevant. So you have at most 99 plies to remember regardless how long the game goes.

Regards, Andreas
Where would i be best to do this. I was thinking that this i a job for the GUI, but maybe I'm wrong here. I'm working on a GUI and was thinking of shorten the list before sending it to the engine, would this be a problem for any engines?
lc0 uses (or at least used, I haven't checked lately) data from previous moves as input to its evaluation function, so it would be weaker in a GUI that shortens the move list like this. DroidFish used to shorten the move list like this, but stopped doing it because of lc0.
Thanks! Thats good enough reason to send all moves.
User avatar
RubiChess
Posts: 656
Joined: Fri Mar 30, 2018 7:20 am
Full name: Andreas Matthies

Re: Coiled 1.0 makes illegal moves

Post by RubiChess »

Odd Gunnar Malin wrote: Tue Oct 12, 2021 4:17 pm
RubiChess wrote: Tue Oct 12, 2021 2:39 pm If the bug is constantly triggered after ~190 moves, some move buffer is probably full.
When reading the moves list from UCI position command you should throw away all moves before last move that resets the halfmove counter as they are not relevant. So you have at most 99 plies to remember regardless how long the game goes.

Regards, Andreas
Where would i be best to do this. I was thinking that this i a job for the GUI, but maybe I'm wrong here. I'm working on a GUI and was thinking of shorten the list before sending it to the engine, would this be a problem for any engines?
I don't know any GUI that shortens the move list and I would say it is the engines job to deal with the (long) list.

Edit: I see that this opinion is in line with other posts here.