Definitely agreed. I used a lot of if type statements in the eval to achieve that kind of planning. Sam Hamilton once said, 'RomiChess and its dancing knights'.BrendanJNorman wrote:I wasn't as impressed by the trapped bishop, as by the knight maneuvering around to blockade on d6 (Na6-c7-e8-d6!). And then angling to reach a position with that knight against white's shitty bishop (Bb7-c8-f5-d3-c4 swapping light squared bishops).Michael Sherwin wrote:I had a hard time pulling up the game. The pgn tag seems confused. It was only after I clicked on the 0-1 selection that the game came up. It was not as clean as I would have liked but nonetheless it is typical of Romi's games. The way that white's dark squared bishop was made useless reminds me of the A0/SF match. lolMichael Sherwin wrote:1. Romi is winboard because winboard supports learning with the result command. UCI did not have a result command ten years ago. Has that changed? Given that I have been giving some thought to how a learning engine can skirt around the UCI protocol's interference of engine freedom to learn. With SF in mind (without really knowing very much about SF or UCI) I imagine SF could store the game as it happens in an empty game file. Then on start up or new game SF could look at the game file and if not empty could then incorporate the game into its learn file. As far as Romi and UCI options I do not know if a Winboard/UCI hybrid protocol is possible or not.BrendanJNorman wrote:Would definitely be interesting.Michael Sherwin wrote:It would be interesting to train RomiChess against these engines a few thousand games and see if Romi will incorporate this style or what antidotes Romi might come up with. Just a thought.BrendanJNorman wrote:I don't know...fern wrote:I think I have caught at least ONE of the keys of your manipulation of Rodent for your Tal version.
You give the program very optimistic score in position that when played by me with other engines only produce indifferent scores. So, with that optimistic scores, you push the program to follow suit in certain lines even if the supposed advantage is just a supposition, a phantom, BUT doing so is a way to perhaps discover certain chances. Beyond that, I am sure you have made some other things too.
Fern
I simply used the UCI options that Pawel gave us in Rodent, tweaked them in accordance with how I understood Tal's playing style to be...
I then tested it on key positions from Tal's games - especially his most speculative sacrifices - and adjusted accordingly until there was mostly agreement.
I hope you enjoy the misery OpenTal gives us...I've lost countless times against his "bullshit" sacrifices too.
Sometimes, as Pawel has mentioned, he will sacrifice something...and then make a quiet move to remind you that you can't do anything...later he will get bored and kill you.
I have a couple questions for you, Mike.
1. Would you be able to create a version of Romi which we can tweak the settings in UCI options? I'd love to make it even more positional!
2. Did you see the beautiful win against Alfil Romi achieved? I posted it in my positional engines thread.
2. No I have not seen that game. Was it just Romi or was it Romi+RL? I will take a look.
If you've studied Nimzowistch's work, this type of positional "planning" is very impressive coming from an engine.
I Got youy, Norman Brando
Moderators: hgm, Rebel, chrisw
-
- Posts: 3196
- Joined: Fri May 26, 2006 3:00 am
- Location: WY, USA
- Full name: Michael Sherwin
Re: I Got youy, Norman Brando
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
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
-
- Posts: 3196
- Joined: Fri May 26, 2006 3:00 am
- Location: WY, USA
- Full name: Michael Sherwin
Re: I Got youy, Norman Brando
I started a training session of 2,000 total games between RomiChessP3n1, RomiChessP3n2 and Opental at 40/2 repeating. 40/2 should be roughly the same as the CCRL 40/4 standard on my computer. I will send the learn file to whomever ask for it when the training session is finished. It is from the initial opening position. I'm relying on the Opental internal opening book to provide some variance to the openings?Ovyron wrote:Is that necessary? Or can one just play thousands of games between those engines to produce a big pgn and then make Romi learn from it?Michael Sherwin wrote:It would be interesting to train RomiChess against these engines a few thousand games and see if Romi will incorporate this style or what antidotes Romi might come up with.
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
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
-
- Posts: 2529
- Joined: Mon Feb 08, 2016 12:43 am
- Full name: Brendan J Norman
Re: I Got youy, Norman Brando
Please do share the results (and the learn file) with us Mike - sounds very interesting.Michael Sherwin wrote:I started a training session of 2,000 total games between RomiChessP3n1, RomiChessP3n2 and Opental at 40/2 repeating. 40/2 should be roughly the same as the CCRL 40/4 standard on my computer. I will send the learn file to whomever ask for it when the training session is finished. It is from the initial opening position. I'm relying on the Opental internal opening book to provide some variance to the openings?Ovyron wrote:Is that necessary? Or can one just play thousands of games between those engines to produce a big pgn and then make Romi learn from it?Michael Sherwin wrote:It would be interesting to train RomiChess against these engines a few thousand games and see if Romi will incorporate this style or what antidotes Romi might come up with.
-
- Posts: 4556
- Joined: Tue Jul 03, 2007 4:30 am
Re: I Got youy, Norman Brando
Well, I tried! But the Shredder GUI doesn't seem to send a game result for Winboard engines, and in ChessPartner's Engine Research Tool, Romi doesn't obey "average time per move" or "fixed time per move", and when I tried a 5 minute game it lost on timeMichael Sherwin wrote:While Romi does benefit from pgn files of other engines or humans it is weak compared to Romi experiencing the games as one of the contestants and guiding those games with her accumulated experience. In short Romi benefits more from discovering what is right for it and no so much what is right for others. But one can certainly start with a merged pgn file and letting Romi learn from that point.
How can one merge a PGN file into Romi's learning? The readme.txt doesn't mention this, and typing help on the console doesn't bring anything related.
-
- Posts: 3196
- Joined: Fri May 26, 2006 3:00 am
- Location: WY, USA
- Full name: Michael Sherwin
Re: I Got youy, Norman Brando
I only have Arena and Winboard and RomiChess works fine in them. Graham Banks uses another and Romi works there also. I have no idea what other people use for an interface. I'm sorry that your prefered GUIs do not work with RomiChess.Ovyron wrote:Well, I tried! But the Shredder GUI doesn't seem to send a game result for Winboard engines, and in ChessPartner's Engine Research Tool, Romi doesn't obey "average time per move" or "fixed time per move", and when I tried a 5 minute game it lost on timeMichael Sherwin wrote:While Romi does benefit from pgn files of other engines or humans it is weak compared to Romi experiencing the games as one of the contestants and guiding those games with her accumulated experience. In short Romi benefits more from discovering what is right for it and no so much what is right for others. But one can certainly start with a merged pgn file and letting Romi learn from that point.
How can one merge a PGN file into Romi's learning? The readme.txt doesn't mention this, and typing help on the console doesn't bring anything related.
I must do better next time to recreate the detailed readme that once came with RomiChess. Two back to back hard drive failures and years of sickness meant that it was all I could do starting with P3k was to get the exe's sent out.
From the command line start RomiChess. It will look for the learn.dat file and if it does not find one then RomiChess creates one. Then type merge some.pgn and hit enter. The pgn must be in the same folder as RomiChess. Do this for as many pgn files as you like. The largest pgn file that I ever loaded was 1.5 million games and it created an 800 MB file. You also have the option of being in Book 1(default) or Book 2 mode. Just type book 1 or book 2. Book 1 type is mutable and Book 2 type is immutable. And there are the commands book_on, book_off, learn_on and learn_off. You can load as many book 2 type pgn's as you like that can never be altered by Romi's learning then switch back to book 1 and load as many book 1 type pgn's as you like. You must do book 2 first as once a record is set to immutable it cannot be made mutable. Alway type quit to flush the data buffers. IIRC and I'm not sure that I do after all these years book 2 alternative moves are purely selected randomly. Before I got sick there was more that I intended to do with the learn file. I'm not sure that I am up to the task anymore. I'll need to relearn my code first. Sorry for the ramble. My best hope for RomiChess now is that it might be an interesting example for other engine authors to explore. Too bad Marco didn't decide to improve RomiChess instead of Glaurung, .
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
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
-
- Posts: 4556
- Joined: Tue Jul 03, 2007 4:30 am
Re: I Got youy, Norman Brando
Thanks, got it!
I also wonder what would happen if I fed all the games that the top rating lists have played between engines, I may feed Romi so many games that her brain would explode
So what happens if instead of relying on the result command, every time Romi plays a game I record it as PGN and merge it to the learn file? Would that be workable or would it be fundamentally different form getting the result data?
Well, the other day I was feeling greedy and downloaded Ed Schröder's 2.2 Million game database (that day I also downloaded all the bin books I could find, including Dann Corbit's 1.7GB book, I must have gone insane), I suddenly feel the urge to feed all of it to Romi.Michael Sherwin wrote:The largest pgn file that I ever loaded was 1.5 million games and it created an 800 MB file.
I also wonder what would happen if I fed all the games that the top rating lists have played between engines, I may feed Romi so many games that her brain would explode
Well, they work, they just don't send the result data to Romi...I'm sorry that your prefered GUIs do not work with RomiChess.
So what happens if instead of relying on the result command, every time Romi plays a game I record it as PGN and merge it to the learn file? Would that be workable or would it be fundamentally different form getting the result data?
-
- Posts: 3196
- Joined: Fri May 26, 2006 3:00 am
- Location: WY, USA
- Full name: Michael Sherwin
Re: I Got youy, Norman Brando
Interesting question! It would work but to know if it were optimal I would have to study my code. I will get back to you on that. It sounds tedious though. Maybe you can do it every 100 or 1000 games.Ovyron wrote:Thanks, got it!
Well, the other day I was feeling greedy and downloaded Ed Schröder's 2.2 Million game database (that day I also downloaded all the bin books I could find, including Dann Corbit's 1.7GB book, I must have gone insane), I suddenly feel the urge to feed all of it to Romi.Michael Sherwin wrote:The largest pgn file that I ever loaded was 1.5 million games and it created an 800 MB file.
I also wonder what would happen if I fed all the games that the top rating lists have played between engines, I may feed Romi so many games that her brain would explode
Well, they work, they just don't send the result data to Romi...I'm sorry that your prefered GUIs do not work with RomiChess.
So what happens if instead of relying on the result command, every time Romi plays a game I record it as PGN and merge it to the learn file? Would that be workable or would it be fundamentally different form getting the result data?
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
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
-
- Posts: 3196
- Joined: Fri May 26, 2006 3:00 am
- Location: WY, USA
- Full name: Michael Sherwin
Re: I Got youy, Norman Brando
I looked into it. And yes my code converts a pgn game to the internal format and learns it exactly like Romi would learn one of its own games. So loading Romi's games from a pgn file has the same result!Michael Sherwin wrote:Interesting question! It would work but to know if it were optimal I would have to study my code. I will get back to you on that. It sounds tedious though. Maybe you can do it every 100 or 1000 games.Ovyron wrote:Thanks, got it!
Well, the other day I was feeling greedy and downloaded Ed Schröder's 2.2 Million game database (that day I also downloaded all the bin books I could find, including Dann Corbit's 1.7GB book, I must have gone insane), I suddenly feel the urge to feed all of it to Romi.Michael Sherwin wrote:The largest pgn file that I ever loaded was 1.5 million games and it created an 800 MB file.
I also wonder what would happen if I fed all the games that the top rating lists have played between engines, I may feed Romi so many games that her brain would explode
Well, they work, they just don't send the result data to Romi...I'm sorry that your prefered GUIs do not work with RomiChess.
So what happens if instead of relying on the result command, every time Romi plays a game I record it as PGN and merge it to the learn file? Would that be workable or would it be fundamentally different form getting the result data?
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
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
-
- Posts: 3196
- Joined: Fri May 26, 2006 3:00 am
- Location: WY, USA
- Full name: Michael Sherwin
Re: I Got youy, Norman Brando
Just an update. Actually 2,000 games was a typo. It is 3,000 games. I did not realize that 40/2 would take this long. However, 366 games have been played. RomiChessP3n1 was -200 elo against Opental but now has climbed to -182. RomiChessP3n2 must have stumbled upon some good lines early because it is only -72 elo against Opental. There are 2,634 games to go!BrendanJNorman wrote:Please do share the results (and the learn file) with us Mike - sounds very interesting.Michael Sherwin wrote:I started a training session of 2,000 total games between RomiChessP3n1, RomiChessP3n2 and Opental at 40/2 repeating. 40/2 should be roughly the same as the CCRL 40/4 standard on my computer. I will send the learn file to whomever ask for it when the training session is finished. It is from the initial opening position. I'm relying on the Opental internal opening book to provide some variance to the openings?Ovyron wrote:Is that necessary? Or can one just play thousands of games between those engines to produce a big pgn and then make Romi learn from it?Michael Sherwin wrote:It would be interesting to train RomiChess against these engines a few thousand games and see if Romi will incorporate this style or what antidotes Romi might come up with.
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
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
-
- Posts: 4556
- Joined: Tue Jul 03, 2007 4:30 am
Re: I Got youy, Norman Brando
I looked into it. And yes my code converts a pgn game to the internal format and learns it exactly like Romi would learn one of its own games. So loading Romi's games from a pgn file has the same result! [/quote]Michael Sherwin wrote:Interesting question! It would work but to know if it were optimal I would have to study my code. I will get back to you on that. It sounds tedious though. Maybe you can do it every 100 or 1000 games.
Great news! So that's what I'll be doing
As for this being tedious, back in 2008 I was applying Monkey See Monkey Do, and manual reinforcement learning with opponent modeling (play the losing move if it defeated this opponent before) for my engine tournaments before each game, called "manual book learning", so having to merge a PGN to the learn file after each game is nothing