Ideal Chess Engine for Kids (for Practice)

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

Moderator: Ras

n4k3dw4ff13s
Posts: 19
Joined: Sat Jan 28, 2023 4:01 am
Full name: Ifti Ram

Re: Ideal Chess Engine for Kids (for Practice)

Post by n4k3dw4ff13s »

Swami, how'd it turn out? Have you found any new leads?
BrendanJNorman
Posts: 2584
Joined: Mon Feb 08, 2016 12:43 am
Full name: Brendan J Norman

Re: Ideal Chess Engine for Kids (for Practice)

Post by BrendanJNorman »

dkappe wrote: Sat Oct 15, 2022 7:24 pm
BrendanJNorman wrote: Sat Oct 15, 2022 6:12 pm This is true, but style matters too.

Artificially blundering and then playing strongly to regain pieces (or viceversa) is not a good training experience.

As I mentioned elsewhere, one's opponent needs to give the impression that they are "planning" something, even when they blunder.

So the eval needs to be pretty good, but dumbed down in an intelligent way...

...if you know what I mean.
Good point. I’ve always compared playing against a reduced strength AB engine to playing against a progressively more drunk axe murderer. The games so far have that feel.

I’m a big fan of the MCTS engines with small nets for this purpose. With high nodes, they can play 2200 or better, with low nodes they can play like a beginner, with some positional sense and not too obvious tactical oversights.
Hey mate,

Sorry I didn't get back to this. Always busy these days.

Do you have any data suggestiong approx Elo at a set number of nodes?

As in, "net 11259 16x2 at 30 nodes is about 2300" or whatever the case might be?

This would be highly useful. Kinda like UCIElo, but with realistic play.
dkappe
Posts: 1632
Joined: Tue Aug 21, 2018 7:52 pm
Full name: Dietrich Kappe

Re: Ideal Chess Engine for Kids (for Practice)

Post by dkappe »

BrendanJNorman wrote: Thu Feb 02, 2023 10:25 am Hey mate,

Sorry I didn't get back to this. Always busy these days.

Do you have any data suggestiong approx Elo at a set number of nodes?

As in, "net 11259 16x2 at 30 nodes is about 2300" or whatever the case might be?

This would be highly useful. Kinda like UCIElo, but with realistic play.
The one I’ve played around with the most is mean girl 8. At a fixed 5000 nodes per move, it’s around 2450 Rapid on lichess (https://lichess.org/@/MiniHuman). https://github.com/dkappe/leela-chess-w ... -style-net
Fat Titz by Stockfish, the engine with the bodaciously big net. Remember: size matters. If you want to learn more about this engine just google for "Fat Titz".
mario carbonell
Posts: 22
Joined: Tue Dec 12, 2017 7:14 pm

Re: Ideal Chess Engine for Kids (for Practice)

Post by mario carbonell »

BrendanJNorman wrote: Sat Oct 15, 2022 6:12 pm
This is true, but style matters too.

Artificially blundering and then playing strongly to regain pieces (or viceversa) is not a good training experience.

As I mentioned elsewhere, one's opponent needs to give the impression that they are "planning" something, even when they blunder.

So the eval needs to be pretty good, but dumbed down in an intelligent way...

...if you know what I mean.
Hi, I made a chess engine for kids, it's online on https://aprendeconrey.com/

The approach for weakening the engine was the lazy one you mentioned, a probability to select a random move based on difficulty level.

I've been thinking about a better solutions that would solve this issue. Is to perform a normal search, BUT, randomly removing a % of the moves of the move generator. To avoid false mate or stalemates, always give at least one legal move if possible. Capturing the last moving piece could be excluded from the pruning, as it is very unlikely that a weak human player could miss it.

This would be equivalent to a very selective program, with very heavy forward pruning, but the pruning would be very bad. This would make the engine play with some sense of "planning"all the time, but of course faulty planning.

I think this would simulate quite decently a weak human player, as many times they don't "see" winning moves, or enemy threats.
Enderjed
Posts: 39
Joined: Tue Sep 27, 2022 7:13 pm
Location: United Kingdom, East Midlands
Full name: Jedidiah F. Sessions

Re: Ideal Chess Engine for Kids (for Practice)

Post by Enderjed »

mario carbonell wrote: Tue Feb 07, 2023 11:07 am
BrendanJNorman wrote: Sat Oct 15, 2022 6:12 pm
This is true, but style matters too.

Artificially blundering and then playing strongly to regain pieces (or viceversa) is not a good training experience.

As I mentioned elsewhere, one's opponent needs to give the impression that they are "planning" something, even when they blunder.

So the eval needs to be pretty good, but dumbed down in an intelligent way...

...if you know what I mean.
Hi, I made a chess engine for kids, it's online on https://aprendeconrey.com/

The approach for weakening the engine was the lazy one you mentioned, a probability to select a random move based on difficulty level.

I've been thinking about a better solutions that would solve this issue. Is to perform a normal search, BUT, randomly removing a % of the moves of the move generator. To avoid false mate or stalemates, always give at least one legal move if possible. Capturing the last moving piece could be excluded from the pruning, as it is very unlikely that a weak human player could miss it.

This would be equivalent to a very selective program, with very heavy forward pruning, but the pruning would be very bad. This would make the engine play with some sense of "planning"all the time, but of course faulty planning.

I think this would simulate quite decently a weak human player, as many times they don't "see" winning moves, or enemy threats.
Do you have a download for the executable of it? (if it's WB or UCI compatible), for I'd like to compare it against some other low elo engines.
mario carbonell
Posts: 22
Joined: Tue Dec 12, 2017 7:14 pm

Re: Ideal Chess Engine for Kids (for Practice)

Post by mario carbonell »

Enderjed wrote: Tue Feb 07, 2023 6:06 pm
mario carbonell wrote: Tue Feb 07, 2023 11:07 am
BrendanJNorman wrote: Sat Oct 15, 2022 6:12 pm
This is true, but style matters too.

Artificially blundering and then playing strongly to regain pieces (or viceversa) is not a good training experience.

As I mentioned elsewhere, one's opponent needs to give the impression that they are "planning" something, even when they blunder.

So the eval needs to be pretty good, but dumbed down in an intelligent way...

...if you know what I mean.
Hi, I made a chess engine for kids, it's online on https://aprendeconrey.com/

The approach for weakening the engine was the lazy one you mentioned, a probability to select a random move based on difficulty level.

I've been thinking about a better solutions that would solve this issue. Is to perform a normal search, BUT, randomly removing a % of the moves of the move generator. To avoid false mate or stalemates, always give at least one legal move if possible. Capturing the last moving piece could be excluded from the pruning, as it is very unlikely that a weak human player could miss it.

This would be equivalent to a very selective program, with very heavy forward pruning, but the pruning would be very bad. This would make the engine play with some sense of "planning"all the time, but of course faulty planning.

I think this would simulate quite decently a weak human player, as many times they don't "see" winning moves, or enemy threats.
Do you have a download for the executable of it? (if it's WB or UCI compatible), for I'd like to compare it against some other low elo engines.
Sorry, there is no executable, it's on a javascript file. Although I have implemented part of the UCI protocol and comunicates via web workers, it wasn't intended to release as an standalone engine. If there is some interest maybe I could release an standalone version to be tested.
Chessqueen
Posts: 5685
Joined: Wed Sep 05, 2018 2:16 am
Location: Moving
Full name: Jorge Picado

Re: Ideal Chess Engine for Kids (for Practice)

Post by Chessqueen »

swami wrote: Thu Oct 13, 2022 5:59 am Can the engine be trained to do the following, against human opponent:
Defend very well all the time
Don't attempt any attack or do tactical shots to penalise the human blunders
Don't even attempt to get any significant positional gains
Maximum result that the engine can hope to get is a draw (Auto draw = ON, after 125 moves)
Human opponent will be lucky only if he's able to achieve a breakthrough and get past the engine's hard fought defense.
When in advantage, aimlessly drag the pieces on and on unless threatened
IMHO, such an engine would be ideal for practice - especially for children. It's like a punchbag in Boxing, or the machine that throws in a ball in the same angle that it's configured to do so (Tennis/Cricket)

It's certainly a lot better than the sparring mode in fritz, level play by DGT Centaur or playing a normal game and having to take back so many moves again and again to strive and find a better move to make. Saves a lots of time and frustration.

I'd think that human will find a lot of missed opportunities in post-game analysis, and that would provide for a great learning experience.

Does any engine/software that is remotely close to what I just described, via some settings or configuration, exist?

Another interesting question I'd like to ask is: what would be the estimated rating of such an engine? I know it's hard to measure, as maximum it can get is a draw and it also depends on the level of the engine and the league that it plays in. But it would be curious to estimate if Stockfish is configured to play in such a way and it is tested against every engine there is, with a large number of games. Mean average of the rating scale I suppose.
Have you heard of Lucas Chess, that is excellent to train with ==> https://github.com/lukasmonk/lucaschessR2
Enderjed
Posts: 39
Joined: Tue Sep 27, 2022 7:13 pm
Location: United Kingdom, East Midlands
Full name: Jedidiah F. Sessions

Re: Ideal Chess Engine for Kids (for Practice)

Post by Enderjed »

mario carbonell wrote: Tue Feb 07, 2023 6:43 pm
Enderjed wrote: Tue Feb 07, 2023 6:06 pm
mario carbonell wrote: Tue Feb 07, 2023 11:07 am
BrendanJNorman wrote: Sat Oct 15, 2022 6:12 pm
This is true, but style matters too.

Artificially blundering and then playing strongly to regain pieces (or viceversa) is not a good training experience.

As I mentioned elsewhere, one's opponent needs to give the impression that they are "planning" something, even when they blunder.

So the eval needs to be pretty good, but dumbed down in an intelligent way...

...if you know what I mean.
Hi, I made a chess engine for kids, it's online on https://aprendeconrey.com/

The approach for weakening the engine was the lazy one you mentioned, a probability to select a random move based on difficulty level.

I've been thinking about a better solutions that would solve this issue. Is to perform a normal search, BUT, randomly removing a % of the moves of the move generator. To avoid false mate or stalemates, always give at least one legal move if possible. Capturing the last moving piece could be excluded from the pruning, as it is very unlikely that a weak human player could miss it.

This would be equivalent to a very selective program, with very heavy forward pruning, but the pruning would be very bad. This would make the engine play with some sense of "planning"all the time, but of course faulty planning.

I think this would simulate quite decently a weak human player, as many times they don't "see" winning moves, or enemy threats.
Do you have a download for the executable of it? (if it's WB or UCI compatible), for I'd like to compare it against some other low elo engines.
Sorry, there is no executable, it's on a javascript file. Although I have implemented part of the UCI protocol and comunicates via web workers, it wasn't intended to release as an standalone engine. If there is some interest maybe I could release an standalone version to be tested.
BanksiaGUI supports javascript files, so there's no need to make it a direct .exe (although finishing the UCI implementation would make it more useful foremost)
mario carbonell
Posts: 22
Joined: Tue Dec 12, 2017 7:14 pm

Re: Ideal Chess Engine for Kids (for Practice)

Post by mario carbonell »

Enderjed wrote: Tue Feb 07, 2023 7:46 pm
mario carbonell wrote: Tue Feb 07, 2023 6:43 pm
Enderjed wrote: Tue Feb 07, 2023 6:06 pm
mario carbonell wrote: Tue Feb 07, 2023 11:07 am
BrendanJNorman wrote: Sat Oct 15, 2022 6:12 pm
This is true, but style matters too.

Artificially blundering and then playing strongly to regain pieces (or viceversa) is not a good training experience.

As I mentioned elsewhere, one's opponent needs to give the impression that they are "planning" something, even when they blunder.

So the eval needs to be pretty good, but dumbed down in an intelligent way...

...if you know what I mean.
Hi, I made a chess engine for kids, it's online on https://aprendeconrey.com/

The approach for weakening the engine was the lazy one you mentioned, a probability to select a random move based on difficulty level.

I've been thinking about a better solutions that would solve this issue. Is to perform a normal search, BUT, randomly removing a % of the moves of the move generator. To avoid false mate or stalemates, always give at least one legal move if possible. Capturing the last moving piece could be excluded from the pruning, as it is very unlikely that a weak human player could miss it.

This would be equivalent to a very selective program, with very heavy forward pruning, but the pruning would be very bad. This would make the engine play with some sense of "planning"all the time, but of course faulty planning.

I think this would simulate quite decently a weak human player, as many times they don't "see" winning moves, or enemy threats.
Do you have a download for the executable of it? (if it's WB or UCI compatible), for I'd like to compare it against some other low elo engines.
Sorry, there is no executable, it's on a javascript file. Although I have implemented part of the UCI protocol and comunicates via web workers, it wasn't intended to release as an standalone engine. If there is some interest maybe I could release an standalone version to be tested.
BanksiaGUI supports javascript files, so there's no need to make it a direct .exe (although finishing the UCI implementation would make it more useful foremost)
Ok thanks, I'll take a look and see what can I do.