17/Feb/2006 Version Proto Romi 3a
  Version p2k was and still is my last source code release (I have relented on this -- 7/Mar/2006). Included with p2k is a zip file called early work that contains four move generator examples. The one named Carnivor can even play chess under Arena or Winboard at about 1400 strength. I will continue to make p2k availible, because, of the interest shown in the sources. 

  Version p3 is a departure from safty -- not that Romi played very safe to begin with -- but, selective search was added. This means that after so many moves at  certain depths Romi just stops looking and returns the best value so far. Test at the fast time limits that I test at showed a 100 point increase in strength. People that run tournaments at fast time limits especially ones that use opening books seem to have confirmed this. For example, in Karl-Heinz Soentges tournaments Romi p2i was stuck at his bundeslinga 5 for several months. Romi p3 managed  "with a big bag of fully luck" to promote to his bundeslinga 4, and then with amazement Romi managed to stay in b4. Karl-Heinz uses a different book each time, so, Romi p3 may have just liked the books that were used. In other tournaments a 100 point decrease in strength was the result.

  Version p3a, I was not ready to release yet, but because of recent interest in my early sources, I am rushing it a bit. The change is in the way that Romi does selective search. History tables were added and used as a verification method. Also the number of moves before selective search was increased. Before that limit is reached history table reduction is used and is quite agressive as a two ply reduction is used. This reduction/pruning is only used in the last move generation phase, where I order the moves using the results of a shallow search. Not only must a move pass the history test, its' score must also be less than alpha or it is searched at full remaining depth anyway. So, what I have ended up with is history reduction and history prunning. A destiction must now be made between theese two terms. Also Romis' learning has been reduced to one thread instead of two. It was two, a white thread and a black thread, because, I wanted to add a white book and a black book. Since, I have not done this yet (lazy, lazy, lazy) I decided that it would be better to have only one thread so that Romi will begin to play moves that were sucessfully play against her. Old learn files are no longer valid.

24/Feb/2006  Version Proto Romi 3b
  About Face. Backward march. Let the enemy think we are retreating! Too complicated, history reduction code was. Much simpler now is. Is gone, hard prunning, for now. Variable reduction based on remaining depth, now used.
  Oh, yea, Romi now uses her learn file as a book. In effect Romi creates her own book over time from her own experiance. Romi can play book for 160 ply!

7/Mar/2006 Version Proto Romi 3c
  I added the ability to enter a pgn file into the learn file. This was to enhance using the learn file as an opening book. I concider this now as a failed experiment. However, I am releasing this anyway, because, I told someone that I would. This feature will probably be removed in the next version. It is clear to me now that tree learning and an opening book should not be mixed. One reason is it complicates matters too much and another is that there are scores saved for each node of the learn tree and there are no scores brought in from most pgn files. Also a conflict of interest exist between the two systems. The learn tree is designed to home into the best moves over time like a truth seaking missle, although it seems to be more like a truth seeking snail. It does however, learn how to beat programs that it normally does not. An opening book seeks truth on creation and adds variety. Maybe some tuning of the book is done, with the use of book learning, to make it suit the program better. Opening books are really a faith based system, while the learn tree tries to remove the need for faith.

  If you are a tournament organizer please do not utilize this feature as it could lead to bad play by Romi. This is mainly because, there are bad moves in even the best pgn files. And if a player played a really bad move and managed to win anyway, this could cause Romi to play the move because, it has a good percentage. On the other hand if you are willing to keep the learn file over many tournaments, Romi will eventually weed out these bad moves. Or if you use a pgn file with very few bad moves in it...? I just do not know! An idea just occured to me. Maybe a pgn file made from the championship sections of long time control events, such as the WBEC series would rehabilitate this idea. I will download some and see if it makes a differance. Anyway, if you want to use this feature then thats okay to.

  There are two ways to do this. First, before running Romi for the first time (i.e. no learn file present), copy a pgn file into the same directory as the exe and RENAME the file BaseLine.pgn (notice the capital letters) and Romi will bring in BaseLine.pgn on creation of the learn file. Do this from windows and not an interface. Second, copy a pgn file to the same directory as Romi and DO NOT CHANGE THE NAME, start Romi and then type, merge filename.pgn (as in, merge gm2600.pgn). If you want to try a particular opening such as the Ruy Lopez then just merge a pgn file with only Ruy Lopez openings. A pgn file of 30,000 games will fill up a little over half of the learn file. Be carefull not to exceede the learn file. Due to my lazyness there is no facility for preventing this. As always any comments or suggestions are welcome. The next version will have a seperate opening book.

  If someone prepares a pgn file with scores such as {1.60} after each move or if a suitable one already exist then I will add the ability to bring those scores into the learn file. Maybe I will do that anyway!

  Also note that the chess program Carnivor in the early work zip file does run okay in Arena and does not lock up like I thought it did. This is a very interesting program. I should add some pawn structure code to see just how well it really could play!

11/Mar/2006 Version Proto Romi 3d
  Okay, nothing ever goes according to plans. This version is merely to correct some deficincies. The learn file now starts out small and grows unlimited. I do not know how big a file can be on a hard drive, but I have put 1.5 million games into the learn file that grew the file to 825 mb(it will be a little more now, as the number of ply saved was increased from 40 to 60). Romi can choose moves to play with some random variation, just like an opening book. Romi P3c was only parsing correctly data like this 1. e4 e5 now Romi accepts 1.e4 e5 as well. These changes were made to make Romi more useful. Romi still can not parse out variations. Use a data base program to load a pgn file and then save it back with out the variations. I use Scid--wich is free--that I downloaded from the internet. I want to see what happens with this version, before I decide what to do next. I am thinking two seperate files, one for learn.dat and the other for opening.dat. Romi's games will go in both and pgn files will just go in opening.dat.      

THANKS,
Mike
msher18987@aol.com
