Human killer engine - a cafè-monster

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

Moderator: Ras

JBNielsen
Posts: 267
Joined: Thu Jul 07, 2011 10:31 pm
Location: Denmark

Re: Human killer engine - a cafè-monster

Post by JBNielsen »

carldaman wrote:
JBNielsen wrote:
fern wrote:My dear friend, your idea is precisely what C. Wittington tried with CSTAL. He has written about that. To créate diffic ults positions, etc, no matter if they are not the best but are threatening and the human side, restricted by the clock and emotions, fall into them.
Etc....

Fern

Hi Fern

I have been waiting for you to join this thread...

What could this CSTAL?
What did it miss to be complete?
Would it solve some of the positions I have mentioned?

Is there still a real need for such a café-player?
Noone here has expressed "YEAH, we would love an engine that plays moves like those in this thread"

- - -
OK, here it is : YEAH, we would love an engine that plays moves like those in this thread :-)

This is what we've been saying all day long in these very recent threads/posts (links below):

http://talkchess.com/forum/viewtopic.ph ... 04&t=47102

http://talkchess.com/forum/viewtopic.ph ... 85&t=47169

http://talkchess.com/forum/viewtopic.ph ... 87&t=47169

As to CSTAL, among some drawbacks I noticed were a typical weakness in the endgame (in those days most engines were weak in this respect), and lack of a contempt factor, meaning it was sometimes easy to get a cheap, undeserved draw against it. Overall, it was a great program to have, well ahead of its time.

Regards,
CL
Thanks for your contribution, your links (I have had a lok at them...)

I still consider how it could be made in dabbaba, and then I must decide if I should try to do it......
Robert Flesher
Posts: 1287
Joined: Tue Aug 18, 2009 3:06 am

Re: Human killer engine - a cafè-monster

Post by Robert Flesher »

JBNielsen wrote:Has anyone made a "Human killer engine"?

I mean an engine that not always plays the best move because it will:
1) Have open and complicated positions
2) go for positions where it can perform a surprising combination
3) set a trap for the opponent.
4) more things like that

It is an idea I had more than 20 years ago.
It is probably not easy to make, but it could be fun and challenging.

I consider to modify/copy my engine Dabbaba to such a cafè-monster.
With its 2100-elo it will never be a top-engine anyway :wink:

Of course such an engine will be easier for a good player to defeat.
But for a weaker player it may often seems even stronger than programs with higher elo.
Because he often looses short games due to the complicated positions and the higher frequence of traps and combinations.

But the weaker player will also have a chance to win now and then.

And not least; it will be more fun to play with.
It will be a complete new feeling, that you have to consider the engine made a bad move by purpose - because it tried to take advantage of the errors that humans make...

Deep Sjeng 1.6 - Redshift personality was also a monster attacker.
JBNielsen
Posts: 267
Joined: Thu Jul 07, 2011 10:31 pm
Location: Denmark

Re: Human killer engine - a cafè-monster

Post by JBNielsen »

I have repaired the 1.-,Nd7 position: http://talkchess.com/forum/viewtopic.ph ... 57&t=47102
carldaman
Posts: 2287
Joined: Sat Jun 02, 2012 2:13 am

Re: Human killer engine - a cafè-monster (CM-11?)

Post by carldaman »

ChessMaster 11 (The King 3.50 engine) had a multitude of personalities available. I'm not sure which one was the most exciting to play against, since sadly I never bought CM-11. :? :(

(Is CM-11 available for sale anywhere?)

Regards,
CL
JBNielsen
Posts: 267
Joined: Thu Jul 07, 2011 10:31 pm
Location: Denmark

Dabbaba with human and amusing play

Post by JBNielsen »

I have just made 2 new options for Dabbaba, so it might be more fun for humans to play with.

1) Plays in a more humans style.
Dabbaba ignores some unlikely moves - which may give the human a possibility for a combination!

2) Plays in an amusing style and prefers
* open positions with many moves
* poor king safety
* queens on the board
* queen and knights near the opponents king

(I have not made a swindle-option yet. It is much more complicated.)


It seems to work surprisingly well.

So far I have only played 6 bulletgames, where Dabbaba plays against itself.
And ALL the games were amusing!
Below is a diagram from each game, and below that the pgn-games.

So look for yourself.

Any comments?



[d]4nr1k/pq3ppp/2N1n3/2Q5/5B2/1P6/P3bP1P/R3R2K w - - 2 25

[d]1k1rr3/ppp2pp1/4q2p/4N3/3PR1p1/P2Q4/1PP2P1b/3R3K w - - 0 24

[d]r5k1/pR1q1p1p/8/2bP4/3B4/2n5/P5PP/3Q1RK1 b - - 0 22

[d]r2q1rk1/4bppp/2N1p3/3n4/1PQ1bB2/P4N2/4BnPP/R2R2K1 b - - 1 19

[d]5r1k/1p5p/2p3p1/r1q1n3/1P2PP2/2N1n2P/P3Q1PK/R2R4 b - b3 0 25

[d]1r1q1rk1/Q3bppp/2n1pn2/BN1p1b2/3P4/4P3/PP3PPP/R3KB1R w KQ - 2 14


[Event "Dabbaba selfplay amusing and human"]
[Site "FAMNIELSEN-PC"]
[Date "2013.02.21"]
[Round "39"]
[White "Dabbaba"]
[Black "Dabbaba-exp"]
[Result "0-1"]
[BlackElo "2100"]
[ECO "D37"]
[Opening "QGD"]
[Time "22:00:25"]
[Variation "Classical, 5...O-O 6.e3 c5 7.dxc5"]
[WhiteElo "2100"]
[TimeControl "60+0"]
[Termination "adjudication"]
[PlyCount "90"]

1. d4 Nf6 2. c4 e6 3. Nf3 b6 4. g3 c5 5. Bg2 Nc6 6. Nc3 Be7 7. O-O O-O 8.
dxc5 bxc5 9. Ne5 Nxe5 10. Bxa8 Nxc4 11. Qa4 Qb6 12. b3 Nd6 13. Bf4 Ba6 14.
Bf3 Nf5 15. Rfe1 d5 16. g4 Nd4 17. g5 Ne8 18. Bxd5 exd5 19. Nxd5 Qb7 20.
Nxe7+ Kh8 21. Qa3 Bxe2 22. Qxc5 Nf3+ 23. Kh1 Nxg5+ 24. Nc6 Ne6 25. Qxf8+
Nxf8 26. Rxe2 Qxc6+ 27. Kg1 Nf6 28. Rae1 Ne6 29. Be3 Qe4 30. Bxa7 Qg4+ 31.
Kf1 Qh5 32. Bb8 Qf3 33. Rd2 Ne4 34. Rb2 Qh1+ 35. Ke2 Nd4+ 36. Ke3 Qxe1+ 37.
Kxd4 Qb4+ 38. Kd3 Nc5+ 39. Ke2 Qb5+ 40. Kd1 Qxb8 41. Rd2 Ne4 42. Rc2 Kg8
43. f3 Qd6+ 44. Ke1 Qb4+ 45. Ke2 Qb5+ {Arena Adjudication} 0-1


[Event "Dabbaba selfplay amusing and human"]
[Site "FAMNIELSEN-PC"]
[Date "2013.02.21"]
[Round "40"]
[White "Dabbaba-exp"]
[Black "Dabbaba"]
[Result "1/2-1/2"]
[BlackElo "2100"]
[ECO "B00"]
[Opening "Nimzowitsch Defence"]
[Time "22:02:14"]
[Variation "2.Nf3 d6 3.d4 Nf6 4.Nc3 Bg4 5.Be2"]
[WhiteElo "2100"]
[TimeControl "60+0"]
[Termination "normal"]
[PlyCount "88"]

1. d4 h6 2. Nc3 d5 3. e4 dxe4 4. Nxe4 Nf6 5. Qd3 Nc6 6. Nf3 Bg4 7. Nxf6+
exf6 8. Be2 Nb4 9. Qe4+ Be6 {(mainline=)} 10. Bc4 f5 11. Qe2 Qd7 12. a3 Nd5
13. Ne5 Qd6 14. O-O O-O-O 15. Qd3 Kb8 16. Re1 Be7 17. Bd2 Bg5 18. g4 fxg4
19. Kh1 Nf4 20. Bxf4 Bxf4 21. Rad1 Rhe8 22. Bxe6 Qxe6 23. Re4 Bxh2 24. Kxh2
f6 25. Rde1 fxe5 26. Qg3 Rf8 27. Rxg4 Rxf2+ 28. Qxf2 Qxg4 29. dxe5 g5 30.
Kh1 Kc8 31. Qf1 Qh4+ 32. Kg1 Qg3+ 33. Kh1 Rd4 34. Re4 Rxe4 35. Qf5+ Kd8 36.
Qf8+ Kd7 {(mainline=)} 37. Qf5+ Kc6 38. Qxe4+ Kd7 39. Qf5+ Ke7 40. Qf6+ Ke8
41. Qg6+ Kd8 42. Qf6+ Ke8 43. Qg6+ Kd8 44. Qf6+ Ke8 {3-fold repetition}
1/2-1/2


[Event "Dabbaba selfplay amusing and human"]
[Site "FAMNIELSEN-PC"]
[Date "2013.02.21"]
[Round "41"]
[White "Dabbaba"]
[Black "Dabbaba-exp"]
[Result "1/2-1/2"]
[BlackElo "2100"]
[ECO "B52"]
[Opening "Sicilian"]
[Time "22:03:57"]
[Variation "3.Bb5+, Sokolsky, 5...Nc6 6.Nc3 Nf6 7.O-O"]
[WhiteElo "2100"]
[TimeControl "60+0"]
[Termination "normal"]
[PlyCount "56"]

1. e4 c5 2. Nf3 d6 3. Bb5+ Bd7 4. c4 Nc6 5. d4 Nf6 6. d5 Ne5 7. Nxe5 dxe5
8. Bxd7+ Qxd7 9. Nc3 e6 10. O-O Be7 11. f4 Bd6 12. Be3 O-O 13. fxe5 Bxe5
14. Bxc5 Bxc3 15. Bxf8 Bxb2 16. Rb1 Be5 17. Ba3 Nxe4 18. Bb2 Bd6 19. Bxg7
exd5 20. cxd5 Bc5+ 21. Bd4 Nc3 22. Rxb7 Nxd1 23. Rxd7 Bxd4+ 24. Kh1 Nf2+
25. Kg1 Nd3+ 26. Kh1 Nf2+ 27. Kg1 Nh3+ 28. Kh1 {(mainline=)} Nf2+ {3-fold
repetition} 1/2-1/2


[Event "Dabbaba selfplay amusing and human"]
[Site "FAMNIELSEN-PC"]
[Date "2013.02.21"]
[Round "42"]
[White "Dabbaba-exp"]
[Black "Dabbaba"]
[Result "1-0"]
[BlackElo "2100"]
[ECO "D15"]
[Opening "Slav"]
[Time "22:05:10"]
[Variation "Geller Gambit, Spassky Variation"]
[WhiteElo "2100"]
[TimeControl "60+0"]
[Termination "normal"]
[PlyCount "49"]

1. d4 d5 2. Nf3 Nf6 3. c4 c6 4. Nc3 dxc4 5. e4 b5 6. a3 e6 7. Bf4 Be7 8.
Be2 O-O 9. O-O Nbd7 10. Kh1 Bb7 11. Qc2 c5 12. dxc5 Nxc5 13. Nxb5 Bxe4 14.
Qxc4 Nd5 15. Rfd1 Rc8 16. Nxa7 Ra8 17. b4 Nd3 18. Nc6 Nxf2+ 19. Kg1 Nxd1
20. Nxd8 Bc5+ 21. bxc5 Ra4 22. Qxa4 N1c3 23. Qc4 Nxf4 24. Bd1 Nxd1 25. Rxd1
{Black resigns} 1-0


[Event "Dabbaba selfplay amusing and human"]
[Site "FAMNIELSEN-PC"]
[Date "2013.02.21"]
[Round "43"]
[White "Dabbaba"]
[Black "Dabbaba-exp"]
[Result "0-1"]
[BlackElo "2100"]
[ECO "D94"]
[Opening "Grünfeld"]
[Time "22:06:14"]
[Variation "Smyslov Defence"]
[WhiteElo "2100"]
[TimeControl "60+0"]
[Termination "normal"]
[PlyCount "96"]

1. Nf3 Nf6 2. c4 g6 3. d4 c6 4. Nc3 d5 5. Bf4 Bg7 6. e3 O-O 7. Bd3 dxc4 8.
Bxc4 Nh5 9. Be5 Bg4 10. O-O Nd7 11. Bxg7 Nxg7 12. h3 Bxf3 13. Qxf3 e5 14.
Rfd1 a5 15. dxe5 Nxe5 16. Bxf7+ Kh8 17. Qe2 Qf6 18. Bb3 Nf5 19. Ne4 Qe7 20.
f4 a4 21. Bxa4 Rxa4 22. Nc3 Ra5 23. e4 Qc5+ 24. Kh2 Ne3 25. b4 Qxc3 26.
Rdc1 Qxb4 27. Qxe3 Ra3 28. Rcb1 Rxe3 29. Rxb4 Nd3 30. Rb3 c5 31. f5 c4 32.
Rxb7 gxf5 33. exf5 Rxf5 34. a4 Nc5 35. Rc7 c3 36. Ra3 Ne4 37. Ra1 Nf6 38.
Ra2 Nd5 39. Rb7 Re1 40. Rd7 Ne3 41. Rd8+ Kg7 42. Rd7+ Kf6 43. g4 Rff1 44.
Rd6+ Ke5 45. Rc6 Rh1+ 46. Kg3 {(mainline=)} Reg1+ 47. Kf2 Rg2+ 48. Kxe3
Rxh3# 0-1



[Event "Dabbaba selfplay amusing and human"]
[Site "FAMNIELSEN-PC"]
[Date "2013.02.21"]
[Round "44"]
[White "Dabbaba-exp"]
[Black "Dabbaba"]
[Result "0-1"]
[BlackElo "2100"]
[ECO "D12"]
[Opening "Slav"]
[Time "22:08:10"]
[Variation "4.e3 Bf5 5.cxd5 cxd5 6.Nc3, Amsterdam Variation"]
[WhiteElo "2100"]
[TimeControl "60+0"]
[Termination "normal"]
[PlyCount "50"]

1. d4 d5 2. c4 c6 3. Nf3 Nf6 4. e3 Bf5 5. Qb3 Nbd7 6. cxd5 cxd5 7. Nc3 e6
8. Qxb7 Rb8 9. Qxa7 Bd6 10. Nb5 Be7 11. Bd2 O-O 12. Ne5 Nxe5 13. Ba5 Nc6
14. Bxd8 Bb4+ 15. Ke2 Nxa7 16. Nxa7 Rfxd8 17. Nc6 Bd6 18. Nxd8 Rxb2+ 19.
Ke1 Bb4+ 20. Kd1 {(mainline=)} Rd2+ 21. Kc1 Ne4 22. a3 Bc3 23. Rb1 Nxf2 24.
e4 Bxe4 25. Rg1 Rc2# 0-1
carldaman
Posts: 2287
Joined: Sat Jun 02, 2012 2:13 am

Re: Dabbaba with human and amusing play

Post by carldaman »

Excellent initiative and good progress already, JB :-) This is a breath of fresh air in the world of computer chess.

My take on the swindle option is that it would definitely be needed if Dabbaba is in a much inferior or losing position. Most programs that find themselves in such a situation will just try to delay the inevitable loss by making stupid moves. However, if a loss looks likely, then why not try to respond with active threats instead, since there's nothing to lose at that point? A human player will have to cope with and refute those threats, even if they are unsound.

This swindle-approach would make a lot of sense against humans, and eventually could be extended to situations where Dabbaba isn't necessarily losing. After all, gaining ratings points is not the first priority, so losing to a human once in a while should increase its appeal and usefulness as a sparring partner.

Edit: in an even position, the new Dabbaba's adventurous play should already qualify as a swindle-style, in effect.


Regards,
CL
User avatar
pocopito
Posts: 238
Joined: Tue Jul 12, 2011 1:31 pm

Re: Dabbaba with human and amusing play

Post by pocopito »

These games look quite promising!

When you say it's playing against itself, you seem the two Dabbabas are the "café version"? In that case I guess it'd be interesting to test Dabbaba against the "normal" version.

Another suggestion: have you thought of crating an account on fics (or any other server) for it?

Best regards

E Diaz
Two first meanings of the dutch word "leren":
1. leren [vc] (learn, larn, acquire) acquire or gain knowledge or skills.
2. leren [v] (teach, learn, instruct) impart skills or knowledge to.
JBNielsen
Posts: 267
Joined: Thu Jul 07, 2011 10:31 pm
Location: Denmark

Re: Dabbaba with human and amusing play

Post by JBNielsen »

pocopito wrote:These games look quite promising!

When you say it's playing against itself, you seem the two Dabbabas are the "café version"? In that case I guess it'd be interesting to test Dabbaba against the "normal" version.

Another suggestion: have you thought of crating an account on fics (or any other server) for it?

Best regards

E Diaz

Yes, the games are promising.

Did you notice how game 1 continued?:

[d]4nr1k/pq3ppp/2N1n3/2Q5/5B2/1P6/P3bP1P/R3R2K w - - 2 25

25. Qxf8+
Nxf8 26. Rxe2 Qxc6+ 27. Kg1 Nf6 28. Rae1 Ne6 29. Be3 Qe4 30. Bxa7 Qg4+ 31.
Kf1 Qh5 32. Bb8 Qf3 33. Rd2 Ne4 34. Rb2 Qh1+ 35. Ke2 Nd4+ 36. Ke3 Qxe1+ 37.
Kxd4 Qb4+ 38. Kd3 Nc5+ 39. Ke2 Qb5+ 40. Kd1 Qxb8 41. Rd2 Ne4 42. Rc2 Kg8
43. f3 Qd6+ 44. Ke1 Qb4+ 45. Ke2 Qb5+ {Arena Adjudication} 0-1

Later today I will try to let the café-version play against the normal version. I assume the normal version will win 75% of the games?!

I played a little at fics once, but it is 15 years ago! I don't know how it works with an engine...

What about Playchess... http://talkchess.com/forum/viewtopic.php?t=47282

It could be fun with Dabbaba on a server :D

I would like a few human testers before I release this version of Dabbaba. I already spend a lot of time with dabbaba etc.

While I made these café-things I dicovered a little error in Dabbaba, so this will probably improve the next version with ca 40 elo.
JBNielsen
Posts: 267
Joined: Thu Jul 07, 2011 10:31 pm
Location: Denmark

Re: Dabbaba with human and amusing play

Post by JBNielsen »

carldaman wrote:Excellent initiative and good progress already, JB :-) This is a breath of fresh air in the world of computer chess.

My take on the swindle option is that it would definitely be needed if Dabbaba is in a much inferior or losing position. Most programs that find themselves in such a situation will just try to delay the inevitable loss by making stupid moves. However, if a loss looks likely, then why not try to respond with active threats instead, since there's nothing to lose at that point? A human player will have to cope with and refute those threats, even if they are unsound.

This swindle-approach would make a lot of sense against humans, and eventually could be extended to situations where Dabbaba isn't necessarily losing. After all, gaining ratings points is not the first priority, so losing to a human once in a while should increase its appeal and usefulness as a sparring partner.

Edit: in an even position, the new Dabbaba's adventurous play should already qualify as a swindle-style, in effect.


Regards,
CL
Thanks.

I hope to start with the swindle-function in the near future.
But it may take some months to complete.
I have some good testpositions (presented in this thread), but I still have to figure out how these considerations for a swindle move can be implemented in an alpha-beta search...
JBNielsen
Posts: 267
Joined: Thu Jul 07, 2011 10:31 pm
Location: Denmark

Re: Dabbaba with human and amusing play

Post by JBNielsen »

pocopito wrote:These games look quite promising!

When you say it's playing against itself, you seem the two Dabbabas are the "café version"? In that case I guess it'd be interesting to test Dabbaba against the "normal" version.

.....

Best regards

E Diaz
The normal Dabbaba won 86% of 42 bullet games.

Although only one of the engines were looking for amusing play, there was action in the games.
Take a look at game 4 and 27:

[pgn]
[Event "Dabbaba vs DabbaFun"]
[Site "FAMNIELSEN-PC"]
[Date "2013.02.22"]
[Round "4"]
[White "DabbaFun1"]
[Black "Dabbaba"]
[Result "0-1"]
[BlackElo "2100"]
[ECO "D30"]
[Opening "QGD"]
[Time "16:48:35"]
[Variation "Stonewall Formation"]
[WhiteElo "2100"]
[TimeControl "60+0"]
[Termination "normal"]
[PlyCount "90"]

1. d4 d5 2. Nf3 c6 3. c4 e6 4. Nbd2 f5 5. e3 Nf6 6. Bd3 Bb4 7. c5 O-O 8.
O-O Ba5 9. Kh1 Bc7 10. b4 Ne4 11. Qb3 Nd7 12. Bb2 Kh8 13. Bc3 a5 14. a3
axb4 15. Bxb4 Qe7 16. Ng1 Qh4 17. Ndf3 Nxf2+ 18. Rxf2 Qxf2 19. Rf1 Qxe3 20.
Bd2 Nxc5 21. dxc5 Qxc5 22. Bb4 Qb6 23. Qc3 Re8 24. Ng5 d4 25. Qc4 h6 26.
Bc5 Qa5 27. Nf7+ Kg8 28. Ne2 b6 29. Bxd4 Bd7 30. Nxh6+ gxh6 31. Bxf5 Be5
32. Bg4 Bxd4 33. Nxd4 Qe5 34. Nf5 Rxa3 35. Bh5 Ra5 36. Nxh6+ Kg7 37. Qd3
Qxh5 38. Qxd7+ Kh8 39. Nf7+ Kh7 40. Nd6+ Kh8 41. Nxe8 Qh6 42. Qxc6 Ra2 43.
Rf6 Ra1+ 44. Qc1 Rxc1+ 45. Rf1 Rxf1# 0-1
[/pgn]

[pgn]
[Event "Dabbaba vs DabbaFun"]
[Site "FAMNIELSEN-PC"]
[Date "2013.02.22"]
[Round "27"]
[White "Dabbaba"]
[Black "DabbaFun1"]
[Result "1-0"]
[BlackElo "2100"]
[ECO "B44"]
[Opening "Sicilian"]
[Time "17:27:30"]
[Variation "Taimanov, 5.Be3 Nf6"]
[WhiteElo "2100"]
[TimeControl "60+0"]
[Termination "normal"]
[PlyCount "63"]

1. e4 c5 2. Nf3 e6 3. d4 cxd4 4. Nxd4 a6 5. Be3 e5 6. Nf3 Nc6 7. Bc4 Nf6 8.
Ng5 d5 9. Bxd5 Nxd5 10. exd5 Be7 11. Nxf7 Kxf7 12. Qf3+ Bf6 13. dxc6 e4 14.
Qxe4 Bxb2 15. cxb7 Rb8 16. bxc8=B Qxc8 17. Qf3+ Ke7 18. Bg5+ Ke8 19. Qh5+
g6 20. Qe2+ Kd7 21. Qe7+ Kc6 {(mainline=)} 22. Qe4+ Kd7 23. Ke2 Re8 24.
Rd1+ Kc7 25. Bf4+ Kb6 26. Be3+ Ka5 27. Rd5+ Rb5 28. Qd3 Qg4+ 29. Kf1 Qxg2+
30. Kxg2 Rc8 31. a4 Rcc5 32. axb5+ {Black resigns} 1-0 [/pgn]