question about weak level of engines

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

Moderators: hgm, Rebel, chrisw

Uri Blass
Posts: 10268
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

question about weak level of engines

Post by Uri Blass »

I prefer the weak levels to have the following properties:
1)They are not deterministic so humans cannot learn a fixed way to beat them.
2)Their playing strength is fixed and not dependent on hardware or time control.

Are there engines with weak levels that have these properties when the levels are very weak but still stronger than the random mover?

The target is to test beginners and give them initial rating based on their performance against the weak levels.
Branko Radovanovic
Posts: 89
Joined: Sat Sep 13, 2014 4:12 pm
Location: Zagreb, Croatia
Full name: Branko Radovanović

Re: question about weak level of engines

Post by Branko Radovanovic »

Uri Blass wrote: Sun Oct 06, 2019 11:05 pm I prefer the weak levels to have the following properties:
1)They are not deterministic so humans cannot learn a fixed way to beat them.
2)Their playing strength is fixed and not dependent on hardware or time control.

Are there engines with weak levels that have these properties when the levels are very weak but still stronger than the random mover?
Absolutely makes sense. Personally, I don't care for the "easy" levels that actually depend on hardware or TC, that doesn't make any sense to me.

Back to your question: shouldn't most engines (weaker ones in particular) that support either UCI_Elo or node-based levels theoretically satisfy the above two conditions? Elo in the 800-1000 range should be easy to get, although I'm not sure about playing strength below that level. Very weak but stronger than random mover is about Elo 400 or thereabouts - never actually tried it.

Also, I'd like to see one more property:
3) Their style of play (blunders in particular) is reasonably similar to a that of a weak human.

This turns out to be much harder to satisfy.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: question about weak level of engines

Post by bob »

You have to be careful when talking about randomness. I have/had a very good "skill" level mechanism in Crafty. Quite a few years ago someone complained that the skill 0 or 1 setting was still playing at 2000 Elo level. Turns out the "Don Beal Effect" was clearly showing its head there. That is, if you just use random evaluations, positions with high mobility have a better chance of getting a larger score and backing it up compared to positions with little mobility that don't get the larger random numbers often enough to help.

I had to go back and do two things:

(1) make the eval more and more random, as before;

(2) but also turn down search extensions and greatly limit the search depth. I ended up using a "time burner" loop so that the program would not just move instantly.

Once I did both, the complaints went away as the skill 1 version played pretty badly. Would not say it was an 800 or worse, but it was very bad compared to the normal Crafty skill level.
User avatar
Ovyron
Posts: 4556
Joined: Tue Jul 03, 2007 4:30 am

Re: question about weak level of engines

Post by Ovyron »

Uri Blass wrote: Sun Oct 06, 2019 11:05 pm I prefer the weak levels to have the following properties:
1)They are not deterministic so humans cannot learn a fixed way to beat them.
2)Their playing strength is fixed and not dependent on hardware or time control.
Rebel Decade 3.0 had the properties you mention. To boot, it had a mechanism that would delay the engine's moves, because other chess programs of the time would play instantly and this wasn't natural, so Rebel would come up with a move instantly but still take its time to play it.

Note this might not have been true on Fridays, where it played at the strength of Rebel 10, so only use it the rest of the week.
Your beliefs create your reality, so be careful what you wish for.
User avatar
MikeB
Posts: 4889
Joined: Thu Mar 09, 2006 6:34 am
Location: Pen Argyl, Pennsylvania

Re: question about weak level of engines

Post by MikeB »

Uri Blass wrote: Sun Oct 06, 2019 11:05 pm I prefer the weak levels to have the following properties:
1)They are not deterministic so humans cannot learn a fixed way to beat them.
2)Their playing strength is fixed and not dependent on hardware or time control.

Are there engines with weak levels that have these properties when the levels are very weak but still stronger than the random mover?

The target is to test beginners and give them initial rating based on their performance against the weak levels.
You might want check out my next release of Honey - it will have 1900 level settings - from FIDE 1000 to FIDE 2900 , and one may select any Elo within that range. The ratings were first synced to CCRL and then then converted to FIDE via formula proposed by Kai. It will clearly resemble FIDE more closely than CCRL rated engines at the lower levels. At higher levels, say around FIDE 2700 , FIDE and CCRL are pretty close to each other anyway.

It features a non busy sleep so moves are not played instantly and is hardware independent. It has a UCI setting to adjust engine Knps to your computer. So whether you play on your computer or your Pi, the levels will be close to each other. It if does not play with sufficient variety for your tastes, one can select the variety option and it will still play close to the selected FIDE level as the nps are increased to make up for the decrease in Elo due to variety play. It also has both, Lc0 like scoring percentage evaluation or one can select the standard centipawn evaluation.

Also, a second version , Honey-fd ( fd == fortress detection) will also be made available for download , It was designed to to be used when a position appears to be fortress or potential fortress. Full credit for this code snippet goes to Joe Ellis, the author of Matefinder and Crystal.

Example:

[d]3r4/3r4/2p1k3/p1pbPp1p/Pp1p1PpP/1P1P2R1/2P4R/2K1Q3 w - - 0 6

Code: Select all

info depth 34 seldepth 75 multipv 1 score cp 8271 nodes 563000795 nps 23811571 hashfull 503 tbhits 0 time 23644 pv g3g4 h5g4 h4h5 d8h8 e1h4 d7f7 h4g5 e6d7 g5g6 d7c7 h2e2 h8h7 e5e6 f7e7 e2e1 c7b6 g6f5 g4g3 f5f6 g3g2 f4f5 e7e8 f6g5 h7h8 e1g1 h8g8 g5h4 g8f8 h4h3 e8e7 c1d2 e7h7 h3g4 f8h8 f5f6 h7ht
Note - Fortress detections currently costs about 60 to 70 Elo at a very fast micro bullet time control of 15 sec with .25 sec increment and less Elo with longer time controls. But obviously ,if you use it for analysis, that does not matter.

Hoping to release by end of this week, maybe Friday.
Image
Uri Blass
Posts: 10268
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: question about weak level of engines

Post by Uri Blass »

MikeB wrote: Mon Oct 07, 2019 6:31 am
Uri Blass wrote: Sun Oct 06, 2019 11:05 pm I prefer the weak levels to have the following properties:
1)They are not deterministic so humans cannot learn a fixed way to beat them.
2)Their playing strength is fixed and not dependent on hardware or time control.

Are there engines with weak levels that have these properties when the levels are very weak but still stronger than the random mover?

The target is to test beginners and give them initial rating based on their performance against the weak levels.
You might want check out my next release of Honey - it will have 1900 level settings - from FIDE 1000 to FIDE 2900 , and one may select any Elo within that range. The ratings were first synced to CCRL and then then converted to FIDE via formula proposed by Kai. It will clearly resemble FIDE more closely than CCRL rated engines at the lower levels. At higher levels, say around FIDE 2700 , FIDE and CCRL are pretty close to each other anyway.

It features a non busy sleep so moves are not played instantly and is hardware independent. It has a UCI setting to adjust engine Knps to your computer. So whether you play on your computer or your Pi, the levels will be close to each other. It if does not play with sufficient variety for your tastes, one can select the variety option and it will still play close to the selected FIDE level as the nps are increased to make up for the decrease in Elo due to variety play. It also has both, Lc0 like scoring percentage evaluation or one can select the standard centipawn evaluation.

Also, a second version , Honey-fd ( fd == fortress detection) will also be made available for download , It was designed to to be used when a position appears to be fortress or potential fortress. Full credit for this code snippet goes to Joe Ellis, the author of Matefinder and Crystal.

Example:

[d]3r4/3r4/2p1k3/p1pbPp1p/Pp1p1PpP/1P1P2R1/2P4R/2K1Q3 w - - 0 6

Code: Select all

info depth 34 seldepth 75 multipv 1 score cp 8271 nodes 563000795 nps 23811571 hashfull 503 tbhits 0 time 23644 pv g3g4 h5g4 h4h5 d8h8 e1h4 d7f7 h4g5 e6d7 g5g6 d7c7 h2e2 h8h7 e5e6 f7e7 e2e1 c7b6 g6f5 g4g3 f5f6 g3g2 f4f5 e7e8 f6g5 h7h8 e1g1 h8g8 g5h4 g8f8 h4h3 e8e7 c1d2 e7h7 h3g4 f8h8 f5f6 h7ht
Note - Fortress detections currently costs about 60 to 70 Elo at a very fast micro bullet time control of 15 sec with .25 sec increment and less Elo with longer time controls. But obviously ,if you use it for analysis, that does not matter.

Hoping to release by end of this week, maybe Friday.
I would like levels below Fide rating 1000 but it is clear that the formula
Elo FIDE = (0.7 x Elo CCRL) + 840 is not correct for the low levels.
User avatar
MikeB
Posts: 4889
Joined: Thu Mar 09, 2006 6:34 am
Location: Pen Argyl, Pennsylvania

Re: question about weak level of engines

Post by MikeB »

Uri Blass wrote: Mon Oct 07, 2019 7:18 am
MikeB wrote: Mon Oct 07, 2019 6:31 am
Uri Blass wrote: Sun Oct 06, 2019 11:05 pm I prefer the weak levels to have the following properties:
1)They are not deterministic so humans cannot learn a fixed way to beat them.
2)Their playing strength is fixed and not dependent on hardware or time control.

Are there engines with weak levels that have these properties when the levels are very weak but still stronger than the random mover?

The target is to test beginners and give them initial rating based on their performance against the weak levels.
You might want check out my next release of Honey - it will have 1900 level settings - from FIDE 1000 to FIDE 2900 , and one may select any Elo within that range. The ratings were first synced to CCRL and then then converted to FIDE via formula proposed by Kai. It will clearly resemble FIDE more closely than CCRL rated engines at the lower levels. At higher levels, say around FIDE 2700 , FIDE and CCRL are pretty close to each other anyway.

It features a non busy sleep so moves are not played instantly and is hardware independent. It has a UCI setting to adjust engine Knps to your computer. So whether you play on your computer or your Pi, the levels will be close to each other. It if does not play with sufficient variety for your tastes, one can select the variety option and it will still play close to the selected FIDE level as the nps are increased to make up for the decrease in Elo due to variety play. It also has both, Lc0 like scoring percentage evaluation or one can select the standard centipawn evaluation.

Also, a second version , Honey-fd ( fd == fortress detection) will also be made available for download , It was designed to to be used when a position appears to be fortress or potential fortress. Full credit for this code snippet goes to Joe Ellis, the author of Matefinder and Crystal.

Example:

[d]3r4/3r4/2p1k3/p1pbPp1p/Pp1p1PpP/1P1P2R1/2P4R/2K1Q3 w - - 0 6

Code: Select all

info depth 34 seldepth 75 multipv 1 score cp 8271 nodes 563000795 nps 23811571 hashfull 503 tbhits 0 time 23644 pv g3g4 h5g4 h4h5 d8h8 e1h4 d7f7 h4g5 e6d7 g5g6 d7c7 h2e2 h8h7 e5e6 f7e7 e2e1 c7b6 g6f5 g4g3 f5f6 g3g2 f4f5 e7e8 f6g5 h7h8 e1g1 h8g8 g5h4 g8f8 h4h3 e8e7 c1d2 e7h7 h3g4 f8h8 f5f6 h7ht
Note - Fortress detections currently costs about 60 to 70 Elo at a very fast micro bullet time control of 15 sec with .25 sec increment and less Elo with longer time controls. But obviously ,if you use it for analysis, that does not matter.

Hoping to release by end of this week, maybe Friday.
I would like levels below Fide rating 1000 but it is clear that the formula
Elo FIDE = (0.7 x Elo CCRL) + 840 is not correct for the low levels.
You are correct - but it would be incremental and it is pretty weak, If you need weaker, turn adaptive play or variety or both on.
About 1200 and up is correct, not 100% perfect , but reasonable.
Image
lkaufman
Posts: 5960
Joined: Sun Jan 10, 2010 6:15 am
Location: Maryland USA

Re: question about weak level of engines

Post by lkaufman »

Uri Blass wrote: Sun Oct 06, 2019 11:05 pm I prefer the weak levels to have the following properties:
1)They are not deterministic so humans cannot learn a fixed way to beat them.
2)Their playing strength is fixed and not dependent on hardware or time control.

Are there engines with weak levels that have these properties when the levels are very weak but still stronger than the random mover?

The target is to test beginners and give them initial rating based on their performance against the weak levels.
The skill levels of Komodo have both of the properties you mention, assuming you set "Threads" to 1 or to any constant value.
Komodo rules!
User avatar
hgm
Posts: 27788
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: question about weak level of engines

Post by hgm »

N.E.G. is much stronger than a random mover (it should beat one by nearly 99% or so), and highly randomizes its moves. That is, when there is something to randomize: if it can (re)capture in only one way, it will of course do it, and not consider moves that throw away material just to randomize. But that leaves plenty of opportunity to randomize.

People told me it makes a very entertaining sparring partner for children that just learned the game.
Uri Blass
Posts: 10268
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: question about weak level of engines

Post by Uri Blass »

I found that n.e.g could beat some weak level of a free application in my phone.

This is against level 2 when I played manually the moves in the phone.
[pgn] [Event "Computer chess game"] [Site "URIBLASS-THINK"] [Date "2019.10.11"] [Round "?"] [White "NEG1_2"] [Black "UriBlass"] [Result "1-0"] [BlackElo "2400"] [ECO "A00"] [Opening "Dunst (Sleipner-Heinrichsen-Van Geet) Opening"] [Time "23:43:52"] [Variation "1...e5"] [WhiteElo "2000"] [TimeControl "120+6"] [Termination "normal"] [PlyCount "81"] [WhiteType "program"] [BlackType "human"] 1. Nc3 {(g1f3) +0.05/2 0} e5 2. e3 {(g1f3) +0.08/2 0} d5 3. Bb5+ {(g1f3) +0.02/2 0} Nc6 4. h3 {(g1f3) 0.00/2 0} Nf6 5. Bxc6+ {(h1h2) -0.04/2 0} bxc6 6. Nf3 {(h1h2) +0.03/2 0} Ba6 7. Nxe5 {(h1h2) +0.03/2 0} Bc5 8. Nxc6 {(h1h2) -0.06/2 0} Qc8 9. g3 {(h1h2) +0.11/2 0} Qf5 10. Rg1 {(h1h2) -0.09/2 0} Bb7 11. Nd4 {(g1g2) -0.13/2 0} Qxh3 12. f4 {(g1g2) -5.05/2 0} Ba6 13. a4 {(g1g2) -4.88/2 0} Bb4 14. Nb3 {(g1g2) -4.94/2 0} Qh2 15. Rf1 {(g1g2) -0.16/2 0} Bxf1 16. Kxf1 {(e1f1) +3.50/2 0} Qxg3 17. d4 {(f1e2) -0.24/2 0} Ke7 18. Qe2 {(f1e2) -0.02/2 0} Qh3+ 19. Kf2 {(f1f2) +0.10/2 0} Ke8 20. Qb5+ {(c1d2) +0.04/2 0} c6 21. Qxb4 {(c1d2) +0.22/2 0} h5 22. Bd2 {(c1d2) +0.17/2 0} Ne4+ 23. Nxe4 {(f2g1) -0.05/2 0} dxe4 24. c4 {(a1a3) +0.07/2 0} h4 25. Nc5 {(a1a3) +0.06/2 0} Ke7 26. Nxe4+ {(a1a3) +0.02/2 0} Kd7 27. Qd6+ {(a1a3) -0.11/2 0} Ke8 28. Qxc6+ {(a1a3) +0.05/2 0} Ke7 29. Bb4+ {(a1a3) -0.14/2 0} Kd8 30. Qxa8+ {(a1a3) -0.02/2 0} Kd7 31. Qxh8 {(a1a3) +0.03/2 0} g6 32. Nf6+ {(a1a3) +0.09/2 0} Kc6 33. Qe8+ {(a1a3) +0.10/2 0} Kb7 34. Qxf7+ {(a1a3) -0.09/2 0} Kc6 35. Qxg6 {(a1a3) +0.07/2 0} a6 36. Qe8+ {(a1a3) +0.08/2 0} Kb6 37. c5+ {(a1a3) +0.10/2 0} Kc7 38. Qe7+ {(a1a3) -0.09/2 0} Kc8 39. c6 {(a1a3) -0.08/2 0} Kb8 40. Qe8+ {(a1a3) -0.05/2 0} Kc7 41. Nd5# {(a1a3) +0.14/2 0} 1-0 [/pgn]
This is the game against level 3 when Neg lost
[pgn][Event "Computer chess game"] [Site "URIBLASS-THINK"] [Date "2019.10.11"] [Round "?"] [White "UriBlass"] [Black "NEG1_2"] [Result "1-0"] [BlackElo "2000"] [ECO "A45"] [Opening "Indian"] [Time "23:51:01"] [Variation "2.Nc3"] [WhiteElo "2400"] [TimeControl "120+6"] [Termination "normal"] [PlyCount "27"] [WhiteType "human"] [BlackType "program"] 1. d4 Nf6 {(h7h5) 0.00/2 0} 2. Nc3 Nc6 {(f6g8) -0.09/2 0} 3. d5 Nb4 {(f6g8) -0.29/2 0} 4. a3 Na6 {(b4d5) +1.07/2 0} 5. e4 Nc5 {(f6g8) -0.25/2 0} 6. Be3 Ncxe4 {(c5e6) +0.86/2 0} 7. Nxe4 Nxe4 {(f6g8) -0.29/2 0} 8. h4 Rb8 {(e4g5) -3.32/2 0} 9. Qd4 Nf6 {(e4g5) -0.21/2 0} 10. Qxa7 Nxd5 {(f6g8) -0.09/2 0} 11. Bc5 c6 {(d5f6) -0.13/2 0} 12. Qxb8 Qa5+ {(d5f6) +0.03/2 0} 13. c3 Qxc5 {(d5f6) -0.16/2 0} 14. Qxc8# 1-0[/pgn]


The email of the developer of the application is
Support@aifactory.co.uk

address
23 The avenue,Hatch End Middlesex Ha5 4EN United Kingdom

They claim level 1 is 750 elo level 2 is 920 elo level 3 is 1122 elo level 4 is 1235 elo level 5 is 1352 elo level 6 is 1435 elo...
level 12 is 2100 elo.

Note that my guess is the real elo is smaller at least for the low levels.

I decided to play a short game against level 12 and did not think much about my moves and the thing forced a draw by a sacrifice.
[pgn][Event "Computer chess game"] [Site "URIBLASS-THINK"] [Date "2019.10.12"] [Round "?"] [White "Thing"] [Black "UriBlass"] [Result "1/2-1/2"] [BlackElo "2400"] [ECO "C01"] [Opening "French"] [Time "00:04:26"] [Variation "Exchange Winawer, 1.e4 e6 2.d4 d5 3.exd5 exd5 4.Nc3 Bb4 5.Bd3"] [WhiteElo "2200"] [TimeControl "120+6"] [Termination "normal"] [PlyCount "28"] [WhiteType "program"] [BlackType "human"] 1. e4 e6 2. d4 d5 3. Nc3 Bb4 4. exd5 exd5 5. Bd3 Nf6 6. Ne2 O-O 7. Bg5 Be7 8. Qd2 h6 9. Bxh6 gxh6 10. Qxh6 Re8 11. Qg5+ Kh8 12. Qh6+ Kg8 13. Qg5+ Kh8 14. Qh6+ Kg8 {3-fold repetition} 1/2-1/2[/pgn]