08-23-2021, 12:40 AM
(This post was last modified: 08-23-2021, 03:06 AM by dale walton.)
I would like a (NoSuicide) Meta rule
In a real game that has opaque move effects, it functions as a safety net meta rule (preventing the need for take backs on accidental losing moves.)
This potentially would speed up evaluation compared to implementation using ifAfterwards on a move level, as it would integrate with the game evaluation level, rather than the move generation level. To the AI it should be the same as allowing suicides, but filter out branches ending in suicide.
With this Meta rule in place if there were no non-losing moves, and passes are allowed, then the player must pass; or with no non-losing moves and passing is not allowed, then the player would lose without moving.
-----------------------------------------------
Note that this Meta rule could be part of Chess:
Meta No Suicide
End if no Moves
Lose if King is Threatened
Implement Castling is a series of moves (or implement special prohibition on Castling through check)
In a real game that has opaque move effects, it functions as a safety net meta rule (preventing the need for take backs on accidental losing moves.)
This potentially would speed up evaluation compared to implementation using ifAfterwards on a move level, as it would integrate with the game evaluation level, rather than the move generation level. To the AI it should be the same as allowing suicides, but filter out branches ending in suicide.
With this Meta rule in place if there were no non-losing moves, and passes are allowed, then the player must pass; or with no non-losing moves and passing is not allowed, then the player would lose without moving.
-----------------------------------------------
Note that this Meta rule could be part of Chess:
Meta No Suicide
End if no Moves
Lose if King is Threatened
Implement Castling is a series of moves (or implement special prohibition on Castling through check)