Seven Muses Project

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

Moderators: hgm, Rebel, chrisw

User avatar
Ovyron
Posts: 4556
Joined: Tue Jul 03, 2007 4:30 am

Seven Muses Project

Post by Ovyron »

The Seven Muses Project aims to produce really interesting chess games that are supposed to keep the attacking style of an attractive chess entity while keeping it strong, because default settings tend to destroy engines that attempt to play more aggressively.

The idea is to use 6 "Muses", that try to inspire the 7th into playing some amazing chess, while it tries to play as strong as possible.

For this we'll use 3 insane muses, this first run will make use of:

OpenTal
Thinker 5.3B Inert
ProDeo Q3 Tactical Engine

We'll also use 3 control muses, these will play much stronger but will not aim to sacrifice everything. However, for balance, I'm going to use the craziest versions of engines so that even while playing as strong these ones go to positions that allow the crazy ones to take over on future positions:

Houdini 6 (1/4 Threads Tactical - Contempt 10)
Komodo 10.1 Dynamic Personality (Reduction=-15 Dynamism=116 Contempt=100 Null Scale=27)
Stockfish 14051722* Pharaon Personality (Pawn Structure (Midgame)=0 Aggressiveness=200)

*This is the last Stockfish with an Aggressiveness setting, it was removed in later versions

Since there's no way to automate this I'll be the 7th muse and will take care of choosing the moves. I'll be using an algorithm similar to the one depicted on this post.

The victim?

Fizbo 2.0! Of course! This engine already has better style than engines above it and better strength than engines below. Basically if it defeats the seven muses in style it means the whole approach is wrong :P

Fizbo will be limited to 1 minute per move.

Each of the 6 muses will be limited to 10 seconds per move to suggest a move, though, not all of them will be used due to the algorythm.

I have unlimited time to choose a move, but remember that I'm acting as an adapter, so if this was programmed the adapter would play instantly. Assume I play instantly, so Fizbo and the rest have 1 minute per move.

I'll let Fizbo play black first, so I open OpelTal and ask it for a move...

OpenTal e4 (book)

Thinker 5.3B Inert:

e4

ProDeo Q3:

e4

All of them agree to a move, it is played!

1.e4

Fizbo's reply:

1...a6

Haha! Fizbo mocks the 7 Muses by playing the most original move imaginable... Let's see how's it handled...

d4 OpenTal (Fizbo quickly took it out of book)
Nf3 Thinker
d4 Rebel

They can't agree on a move. Let's check the control group, the first one to agree to Nf3 or d4 moves it...

d4 Houdini

Sorry Thinker!

2.d4

Fizbo's reply:

2...e6

St. George must be proud...

Nf3 OpenTal
Nf3 Thinker
Bd3 Rebel

This time Rebel is the one following the principle of "Bishops before Knights", will the control group agree to its move?

Nf3 Komodo

Nope, so far OpenTal could have played by itself :P

2.Nf3

Fizbo's reply:

3...d5

Fizbo had the plan to play the French all along...

e5 OpenTal
exd5 Thinker
Nc3 Rebel

This time all 3 insane engines are in full disagreement, will OpenTal move again?

Nbd2 Stockfish

At second 11 Stockfish likes Q3's Nc3, that's a second too late!

Another control engine:

exd5 Houdini

Houdini releases the tension by playing Thinker's move!

4.exd5

Fizbo's reply:

4...exd5

Bd3 OpenTal
Nc3 Thinker
Bd3 Rebel

Going back to Komodo...

Bd3 Komodo

I see castling on your future...

5.Bd3

Fizbo's reply:

5...Be7

O-O OpenTal
O-O Thinker
O-O Rebel

Told you

6.O-O

Fizbo's reply:

6...Nf6

Nc3 OpenTal
c3 Thinker
Bg5 Rebel

Rebel wants to enter opponent's territory.

Bf4 Stockfish
Bf4 Houdini
Bf4 Komodo

Welp, all the suggestions by the crazy engines are deemed too insane to be moved. All three control engines agree on Bf4, deemed strongest and a must-play...

7.Bf4

Fizbo's reply:

7...O-O

Nbd2 OpenTal
Re1 Thinker
Re1 Rebel

Still developing...

Nc3 Stockfish

Liked Nbd2 up to the 9th second...

Re1 Houdini

8.Re1

Fizbo's reply:

8...c5

dxc5 OpenTal
dxc5 Thinker
dxc5 Rebel

Easy move.

9.dxc5

Fizbo's reply:

9...Bxc5

Nc3 OpenTal
Nc3 Thinker
Nc3 Rebel

Finally, they agree where to develop the knight.

10.Nc3

Fizbo's reply:

10...Bg4

Fizbo enters opponent's territory before the muses...

h3 OpenTal
h3 Thinker
h3 Rebel

Go away!

Fizbo's reply:

11...Bg4

Rb1 OpenTal
g4 Thinker
Na4 Rebel

OpenTal likes 12.Bg5 Nc6 13.Rb1, but thinks 12.Rb1 Nc6 13.Bg5 is a better move order. I doubt it'll win this one...

a3 Komodo

Really? Pfft!

g4 Stockfish

Thinker wins again!

12.g4

Fizbo's reply:

12...Bg6

Bxg6 OpenTal
Bxg6 Thinker
Bxg6 Rebel

Aw, I liked that Bishop...

13.Bxg6

Fizbo's reply:

13...hxg6

Fizbo played this instantly, I had to force it to use the entire minute.

g5 OpenTal
g5 Thinker
g5 Rebel

Interestingly, ProDeo 2.2 with Q3 personality wants to play 14.a3, but its SMP Q3 personality module wants g5. I'll go with the move that has the highest score in this case. ProDeo can't agree with itself!

14.g5

Fizbo's reply:

14...Nh5

Bh2 OpenTal
Qxd5 Thinker
Nxd5 Rebel

Complete disagreement.

Nxd5 Houdini

And it's the first time Rebel plays its move!

15.Nxd5

Note it's Fizbo who has sacrificed a pawn


Fizbo's reply:

15...Nxf4

Nxf4 OpenTal
Nxf4 Thinker
Nxf4 Rebel

16.Nxf4

Fizbo's reply:

16...Qc7

Re4 OpenTal
Re4 Thinker
Re4 Rebel

17.Re4

Fizbo's reply:

17...Nc6

Qd5 OpenTal
Qe2 Thinker
Qe2 Rebel

Kg2 Komodo
Kg2 Stockfish (switches to Qe2 at 11th second...)
Qe2 Houdini

Close, but we're still in insane territory.

18.Qe2

Fizbo's reply:

18...Rad8

Kg2 OpenTal
Kg2 Thinker
c3 Rebel

Kg2 Komodo

The king marches on anyway.

19.Kg2

Fizbo's reply:

19...b5

Re1 OpenTal
c3 Thinker
c3 Rebel

a4 Stockfish
c3 Houdini

20.c3

Fizbo's reply:

20...Qc8

a4 OpenTal
a4 Thinker
a4 Rebel

ProDeo loves Re1 most of the time, but switches to a4 for a split second to make it.

21.a4

Fizbo's reply:

21...Qb7

Fizbo is just shuffling! Despite that it has a x6 time advantage, because all the moves it's facing were produced in 10 seconds, it doesn't know where to move!

b4 OpenTal
Nd3 Thinker
axb5 Rebel

Complete disagreement. Tal wants to scare away a piece with a pawn, Thinker wants to attack an unprotected piece and ProDeo wants to open the file for its rook.

Re1 Komodo
Re1 Stockfish
Re1 Houdini

Houdini liked b4 up to 6th second, and axb5 up to 9th second. Alas, None of the insane moves were liked, Re1 it is.

22.Re1

Fizbo's reply:

22...Na7

Nd3 OpenTal
Nd3 Thinker
Nd3 Rebel

Thinker got its way in the end.

23.Nd3

Fizbo's reply:

23...Bd6

c4 OpenTal
c4 Thinker
Rh4 Rebel

OpenTal also considered Rh4 but ditched the move.

axb5 Komodo (it actually needs 13 seconds to find c4!)
axb5 Stockfish
axb5 Houdini (switches to c4 after 19 seconds!)

Well, so here we have an instance in where 2 out of the insane engines find the best move, c4, but the control groups takes way too long to find it. I wasn't supposed to know this because I'm stopping at 10 seconds, though...

24.axb5 :(

Fizbo's reply:

24...axb5

b4 OpenTal (Crazy switching with Nc1)
Nde5 Thinker
Nfe5 Rebel (All over the place before this, stabilizes on Nf4 after 11 seconds)

Complete disagreement...

Nb4 Komodo
Nd4 Stockfish
Nb4 Houdini

Finally, we make use of the algorithm here. Nd4 is the most original from the control group, so we attack that pawn with the knight...

25.Nd4 (Fizbo jumps to a 1.69 disadvantage, the muses must be doing something right!)

Fizbo's reply:

25...b4

c4 OpenTal
c4 Thinker
c4 Rebel

The muses get a passed pawn!

26.c4

Fizbo's reply:

26...Be7 +1.70 (white advantage)

Nf3 OpenTal
Nf3 Thinker
Nf3 Rebel

Heh, looks like Stockfish misplaced the knight there...

27.Nf3

Fizbo's reply:

27...Nc6 +1.73 (white advantage)

Qe3 OpenTal
Qe3 Thinker
b3 Rebel

Qe3 Komodo

Long time Kodomo makes a tie-break.

28.Qe3

Fizbo's reply:

28...b3 +1.56 (white advantage)

Fizbo's white advantage goes back to 1.79 after another 14 seconds.

Nf4 OpenTal
Nc5 Thinker
Nc1 Rebel

Complete disagreement.

Nf4 Stockfish

Stockfish digging OpenTal's plan.

29.Nf4

Fizbo's reply:

29...Bb4 +2.16 (white advantage)

Re2 OpenTal
Re2 Thinker
Re2 Rebel (by Q3.exe, ProDeo.exe likes Rc1 better)

30.Re2

Fizbo's reply:

30...Na5 +2.28 (white advantage)

Nd3 OpenTal (finds c5 at second 17)
Nd3 Thinker
c5 Rebel

c5 Houdini

31.c5

Fizbo's reply:

31...Qb5 +2.67 (white advantage)

Re5 OpenTal
Nd4 Thinker
Nd4 Rebel

Nd4 Komodo

The knight must love those squares...

32.Nd4

Fizbo's reply:

32...Qb7 +2.99 (white advantage)

Fizbo ready to throw the towel!

Nxb3 OpenTal
Nxb3 Thinker
Nxb3 Rebel (showing +2.08 white advantage)

33.Nxb3

Fizbo's reply:

33...Nc6 +3.01 (white advantage)

Kh2 OpenTal (finds Qc1 after 12 seconds)
Nd3 Thinker
Qc1 Rebel

h4 Stockfish (liked Nd3 up to the 5th second)
Qf3 Houdini
Rc2 Komodo

Whoa! This is a complete disagreement among the 6 muses!

This is finally why I'm here, I'm supposed to pick the best move from the control group.

The algorithm:

Check with capture
Check
Capture
Biggest piece (Q R B/N P) moving towards enemy king
Biggest piece moving towards enemy territory
Biggest piece attacking enemy territory

I guess Houdini's Qf3 move applies, it's the biggest piece moving towards the enemy's king and attacking h6.

34.Qf3

Fizbo's reply:

34...Qb5 +2.81 (white advantage)

There's a regression as Fizbo isn't impressed by the move of the 6th muse, thinking h4!! was best.

Rc2 OpenTal
Rc2 Thinker
Qe3 Rebel (still +2.00 advantage, really hates Houdini's choice)

Rc2 Stockfish

35.Rc2

Fizbo's reply:

35...Qa6 +2.91 (white advantage)

Qe2 OpenTal
Qe3 Thinker
Rc1 Rebel

Re3 Houdini (Houdini itself likes Qe3 at 11th second :roll: )
Re3 Komodo
h4 Stockfish

Once again, nobody likes the crazy moves. Stockfish wins the originality prize and plays again.

36.h4

Fizbo's reply:

36...Ba5 +2.51 (white advantage)

Another regression as Fizbo agrees Re3 was best.

Nxa5 OpenTal (loves the variation and jumps to a +2.17 advantage now)
Nxa5 Thinker (keeping all its thoughts to itself, as always)
Nxa5 Rebel (down to +1.80)

37.Nxa5

Fizbo's reply:

37...Qxa5 +2.51 (white advantage)

Forced.

b4 OpenTal +2.38
Qc3 Thinker
b4 Rebel +1.74 (ProDeo.exe liked Rc1 better)

h5 Houdini (liked Qc3 up to the 9th second)
Qc3 Komodo (switches to h5 at 14th second)

38.Qc3

Fizbo's reply:

38...Qa8 +3.40 (white advantage)

Fizbo's eval crashes as it was expecting b4.

f3 OpenTal +212
Kh2 Thinker
f3 Rebel

f3 Stockfish

39.f3

Fizbo's reply:

39...Rd1 +2.48 (white advantage)

Huge recovery as Fizbo couldn't find a defense against 39.h5!!

Rd2 OpenTal
Rd2 Thinker
Rc1 Rebel +1.82 (switches to Rd2 at second 17)

Rd2 Houdini

40.Rd2

Fizbo's reply:

40...Rxd2 +3.32 (white advantage)

Maybe everything wins.

Qxd2 OpenTal +2.41
Qxd2 Thinker
Qxd2 Rebel +1.66

ProDeo doesn't like like how this was handled.

41.Qxd2

Fizbo's reply:

41...Rd8 +3.24 (white advantage)

Fizbo's evaluation flattens and remains at 3.24 for the last 3 plies.

Qe1 OpenTal +2.05
Qe1 Thinker
Qe3 Rebel +1.81

Qe3 Komodo

ProDeo plays this one.

41.Qe3

Fizbo's reply:

41...Kh7 +3.84-- (white advantage)

Fizbo isn't able to finish its iteration in under 1 minute, and plays this in the middle of a fail low.

h5 OpenTal +3.41
Qc1 Thinker
h5 Rebel +2.98

We know it wins, will it be played?

h5 Stockfish

White can take its time to play the winning moves, no problem.

42.h5

Fizbo's reply:

[D]q2r4/5ppk/2n3p1/2P3PP/4RN2/4QP2/1P4K1/8 b - - 0 1

Fizbo resigns

1-0


Full Game:

[pgn][Result "1-0"]
[White "Seven Muses"]
[Black "Fizbo 2.0"]

1. e4 a6 2. d4 e6 3. Nf3 d5 4. exd5 exd5
5. Bd3 Be7 {+0.31/19} 6. O-O Nf6 7. Bf4 O-O 8. Re1 c5
{+0.29/21} 9. dxc5 Bxc5 {+0.30/20} 10. Nc3 Bg4 {+0.36/21} 11. h3 Bh5 {+0.53/22}
12. g4 Bg6 {+0.17/21} 13. Bxg6 hxg6
{+0.15/22} 14. g5 Nh5 {+0.44/23} 15. Nxd5 Nxf4 {+0.64/22} 16. Nxf4 Qc7 {+0.74/22} 17. Re4 Nc6 {+0.76/23} 18. Qe2
Rad8 {+0.89/23} 19. Kg2 b5 {+0.99/21}
20. c3 Qc8 21. a4 Qb7 {+1.19/24} 22. Re1 Na7 {+1.23/22} 23. Nd3 Bd6 {+1.27/25} 24. axb5 axb5 {+1.37/25} 25. Nd4 b4 {+1.69/24} 26. c4 Be7 {+1.70/24} 27. Nf3 Nc6 {+1.73/24} 28. Qe3
b3 {+1.79/23} 29. Nf4 Bb4 {+2.16/22} 30. Re2 Na5 {+2.28/22} 31. c5 Qb5 {+2.67/23} 32. Nd4 Qb7 {+2.99/23} 33. Nxb3
Nc6 {+3.01/22} 34. Qf3 Qb5 {+2.81/22}
35. Rc2 Qa6 {+2.91/23} 36. h4 Ba5
{+2.51/24} 37. Nxa5 Qxa5 {+2.51/1} 38. Qc3 Qa8 {+3.40/22} 39. f3 Rd1 {+2.48/23} 40. Rd2 Rxd2+ {+3.32/22} 41. Qxd2 Rd8
{+3.24/24} 42. Qe3 Kh7 {+3.24/22} 43. h5
{gxh5 +4.79/22 Black resigns} 1-0[/pgn]

I honestly didn't think the muses would win! Fizbo 2.0 should be about 3296 on the CCRL, making it the top 4th engine after the ones on the Control group, I should have beaten us easily with a 1 minute to 10 seconds effective time handicap since the moves by white, at no point used more than 10 seconds of thinking time by the muse that suggested it.
BrendanJNorman
Posts: 2526
Joined: Mon Feb 08, 2016 12:43 am
Full name: Brendan J Norman

Re: Seven Muses Project

Post by BrendanJNorman »

Very interesting!

Wouldn't be be nice if somebody could develop some type of utility to act as the "adapter" and make these engines play nicely together according to some move choosing algorithm.

An adapter that would plug in to any GUI in the same way as a normal UCI engine would. That seems possible, but what would be involved?

I'm sure the crazy computer chess genius Ed would know! :lol: :wink:

BTW...This is what makes computer chess interesting for me!

New creative ideas, not Elo chasing.

I have an idea in mind to sponsor a competition at some point wherein testers can submit custom Rodent/ProDeo 2.6 personalities for a tournament.

Scores in the event are irrelevant, engines score points for the THEMES they produce in won games.

For example: 3 pieces enprise at once, Queen sacrifice for positional gains, Positional domination with less material etc.

This type of idea will be REALLY fun!

As is you 7 muses it seems. Will download this as pgn and have a look otb. ;)
User avatar
Ovyron
Posts: 4556
Joined: Tue Jul 03, 2007 4:30 am

Re: Seven Muses Project

Post by Ovyron »

Yeah, I have always dreamed with such an adapter, it'd have features like:

Switch to X engine on a move # (for unlimited number of moves, so you can play with engines A, B and C that play moves in succession, in a style of "Relay chess", or for any number of engines.)

Switch to X engine when score reaches x (for unlimited number of scores, so you can switch engine when the score goes up to 0.20, and to another when engine goes to 0.50, and then another when going down to -0.50...)

Switch to X engine for relative score x (like above, but you don't care about the absolute score, you'd switch to engine D when your score drops by 1.00, it doesn't matter if from 2.00 to 1.00 or 0.00 to -1.00)

Switch to X engine as material leaves the board (this would require counting material in the classic way of Q=9 R=5 B=3 N=3 P=1... The switch would happen if, say, 3 pawns are captured, or a knight is captured. You'd put your engines ready to take over as you go from opening to endgame)

Switch to X engine on checks, or captures (from either side; specific engines enter and take over the game whenever you capture or check, or the opponent captures or checks)

Switch to X engine on piece moves (from either side; specific engines enter and take over the game whenever a pawn moves, or a queen moves, etc.)

Switch to X engine on piece capturing or being captured (from either side; specific engines enter and take over the game whenever a rook captures a piece, or a queen is captured, etc.)

Switch to X engine on material imbalances (from either side; specific engines enter and take over the game whenever there's an exchange of pieces, or pieces for pawns, or pawns for pieces, that leave white and black with asymetric positions.)

Switch to X engine on material differences (from either side; specific engines enter and take over the game whenever a side is down on materialm, say, a side has missing pawns, or a piece less, regardless of evaluation.)

Switch to X engine on special moves (from either side; specific engines enter and take over the game whenever a side castles, captures en-passant, promotes a pawn, etc.)

And so on...
BrendanJNorman wrote:I have an idea in mind to sponsor a competition at some point wherein testers can submit custom Rodent/ProDeo 2.6 personalities for a tournament.
What about... Stockfish personalities? Since it's open source, nobody stop anybody to mess with the code and make a Stockfish that plays interesting chess. I have produced dozens of variations and while most of them just play slower or reach bigger depths by prunning good moves, I'm actually proud of one "Stockfish Storm", that by a laughably small change to the code (I delete three characters from the code...) is able to call drawn positions as 0.00 while default is clueless +0.30, and on the inverse, tell in a position a side has a decent edge, while default is clueless 0.00...

Changing piece values on the source to make personalities for a start would be trivial, though Rodent/ProDeo would have it hard to score a single point to show their style :twisted:
BrendanJNorman wrote:For example: 3 pieces enprise at once, Queen sacrifice for positional gains, Positional domination with less material etc.
I think that's the holy grail of measuring the style of the engine objectively, and I've waited for such a thing for years. i'm looking forward if you manage to formalize everything in chess that contitutes style and put it into numbers, then we can play a few games by a new release of an engine, and check mathematically if it plays better, or worse, style-wise, than its predecessors.

Thinker (5.3B), Vitruvius (0.79), Rybka (3), Critter (0.30), Fritz (10.1), Hiarcs (Paderborn 2007), The King (3.23), Toga (II 3.1.2SE), Naum (2.2), Junior (10) and countless other engines have become dull players with later, stronger versions, but so far people have only been able to point and say "that engine doesn't play as spectacularly as the previous version", they haven't been able to show where and how, we need a tool that is able to disect these games and score the sides depending on how attractive they played, so if you come up with something it'd have uses beyond this.
carldaman
Posts: 2283
Joined: Sat Jun 02, 2012 2:13 am

Re: Seven Muses Project

Post by carldaman »

A brilliant concept, Ulysses. Such a system holds great promise!
May the muses inspire others as much as they did you. :D
Michael Sherwin
Posts: 3196
Joined: Fri May 26, 2006 3:00 am
Location: WY, USA
Full name: Michael Sherwin

Re: Seven Muses Project

Post by Michael Sherwin »

One muse could be an RL database!
If you are on a sidewalk and the covid goes beep beep
Just step aside or you might have a bit of heat
Covid covid runs through the town all day
Can the people ever change their ways
Sherwin the covid's after you
Sherwin if it catches you you're through
User avatar
Ovyron
Posts: 4556
Joined: Tue Jul 03, 2007 4:30 am

Re: Seven Muses Project

Post by Ovyron »

carldaman wrote:A brilliant concept, Ulysses. Such a system holds great promise!
May the muses inspire others as much as they did you. :D
Thanks Carl, may inspiration inspire inspiration :)
User avatar
Ovyron
Posts: 4556
Joined: Tue Jul 03, 2007 4:30 am

Re: Seven Muses Project

Post by Ovyron »

Michael Sherwin wrote:One muse could be an RL database!
How can I get my hands on that?
Michael Sherwin
Posts: 3196
Joined: Fri May 26, 2006 3:00 am
Location: WY, USA
Full name: Michael Sherwin

Re: Seven Muses Project

Post by Michael Sherwin »

Ovyron wrote:
Michael Sherwin wrote:One muse could be an RL database!
How can I get my hands on that?
Just create the RL file from the games that your muses play. Then when they have visited a line enough times the RL muse may then make its own suggestion.
If you are on a sidewalk and the covid goes beep beep
Just step aside or you might have a bit of heat
Covid covid runs through the town all day
Can the people ever change their ways
Sherwin the covid's after you
Sherwin if it catches you you're through
User avatar
Ovyron
Posts: 4556
Joined: Tue Jul 03, 2007 4:30 am

Re: Seven Muses Project

Post by Ovyron »

Michael Sherwin wrote:Just create the RL file from the games that your muses play. Then when they have visited a line enough times the RL muse may then make its own suggestion.
Well, considering how long this game took to play I'll probably play another game next week, and I'll take measures to avoid playing the same line over and over, so I guess a RL database will have to wait until the process of playing these games can be automated :)