home *** CD-ROM | disk | FTP | other *** search
- If you want to know all about Dabbaba, you should first read dabbaba.txt,
- that covers the january 1996 version.
- This readme.txt file gives you the updates etc. since then.
-
-
- ******************** Dabbaba version Oct. 04 1997 ************************
- ==========================================================================
-
- New things in Dabbaba
- ---------------------
- 1) Many small things have been corrected / optimized.
- 2) Time used so far can now be seen during a game.
- 3) Dabbaba is now more aware of how much time is used, but...
- 4) Dabbaba will always search at least 2 iterations (unless a mate is found),
- and on my old 486 50Mhz I have in a rare case seen this last for 6 minutes!
- So even on a Pentium 200Mhz, that is 9 times faster, a move may take more
- than a half minute even though Dabbaba is set to play faster.
- I hope to optimize the search in the future.
- This minimumsearch is used to eliminate pseudomoves in the variants.
- 5) A much better understanding of quiet positions.
- 6) Dabbaba starts with a speed-test to measure the speed of the PC that
- it is running on. The result can be seen in '6. Menu: Special options', and
- it is used to set up suiting parameters for the mate-search.
- 7) The matesearch has been slightly improved.
- (the Bc4xf7+ mate in 9 (see the matesrch-file) is now solved).
- 8) A new kind of level 'game in xx minutes' is now implemented.
- Dabbaba guesses there are 10-30 moves left in the game depending on how
- much material there are on the board.
- The remaining time is divided by that number of moves to set a timelimit
- for the next move.
- Besides it plays gradually faster in the opening when black has more
- than 5 undeveloped pieces. It is silly to use 3 minutes on 1.e2-e4.
- Dabbaba will never claim a win/loss due to timeforfeit.
- 9) An everplay function plays games forever. Black and white plays with
- a little difference in their strategy (I determine this change), and I
- use the everplay to see what strategy is best...
- Right now white has a selektive depth = 8 (which is what Dabbaba uses
- now, where a depth = 4 was used in the 1996 version), and black has
- a depth = 6.
- The random-function should ensure different openings in the games.
- If anyone runs a big number of games I would like to know the result.
- The new level 'game in x minutes' must be used.
- Don't play faster than 'game in 3 minutes' on a Pentium 200 Mhz.
- The current position and total score is instantly shown.
- A game is stopped after 80 moves. If the score is bigger than 300
- (3 pawns), the game is considered as a full win (1.00). If the score is
- fx 150, white gets 150/300 = 0.5, and the rest 300-150=150 is divided
- equal this way: 150/2=75 gives 75/300=0.25 to each player.
- So white gets 0.75 and black gets 0.25.
- This is the most fair formula I have come up with so far.
- A) An old error has been corrected: Dabbaba started to play silly
- (1.h2-h3, h7-h6 etc) after a game has ended with a mate...
- The matesearch-evaluation only considering materiel was not reset.
-
- Dabbaba wants competition
- -------------------------
- Torsten Schoop has just let Dabbaba start to play in a tournament. See
- SIBIRI.TXT if you want to see how it lost the first game!
- Whoever plays with Dabbaba with yourself, other humans or computers, I would
- be glad to get the games or the results or any comments.
- As Dabbaba can play some variants of chess, a little tournament with a new
- variant in each round could be funny...
-
- Test results on my 50 Mhz 486.
- -----------------------------
- Parameters:
- random=0.
- Compiletimeoptions TURBO-1 & TURBO-2 is turned off.
- (that means all errorchecking taking 5% of the time is turned on).
- Exit
- when Max
- Sec. right seconds
- pr. move is Seconds for
- TEST move found Solved used a move Comment
- Larsen 1-50 60 y 33/50 1450 95 (nr. 2 and 8 ARE solved)
- Larsen 51-100 60 y 38/50 1240 91
- Colditz 60 y 20/30 593 62
- bt2630 60 y 1/30 1179 62 (nr. 26 is solved!)
- lct2.txt 60 y 3/35 1522 70 (nr. 16, 28 and 30)
- matesearch 180 y 17/17 138 41 (nr. 17 IS solved)
- timetest (3,8,0) n (22) 1274 185
-
- The sourcefile
- --------------
- Dabbaba is now made of 5500 lines of C-code. It is all in one single file.
- If you want this file, send me 20 USD, 10 GBP or 30 DEM.
- (If you want it on a disc, add 50% to the price.)
- My address is Jens Baek Nielsen, Daltoften 15, 8600 Silkeborg, Denmark.
- After getting the file you can do with it whatever you want, but I just hope
- you will really do some changes of your own before you call it your own
- program.
-
- An article
- ----------
- See the word-article DABBABA.DOC to read about Dabbaba's play; how it can
- find deep combinations and play variants of chess.
-
-
- ******************** Dabbaba version Oct. 14 1996 ************************
- ==========================================================================
- Dabbaba now uses piece-lists, and this has speeded move-generation and
- pawn-evaluation up, something like 20% compared to the aug.-version.
- Dabbaba now also knows the bishop pair, know it is good to trade off when
- ahead (and not to trade off when behind), tries to get the queen close to
- the enemy king and knows much more about where to place its rooks (see
- below).
- The pawnevaluation has been improved a little.
- I have removed something bad working 'advanced' killer rules, increasing
- the speed with 20%. Don't remember killers that captures the piece that
- has just muved gave 3%. A better pre-order of moves gave 10%.
- Pawnmoves attacking pieces are now selektive moves and slows down Dabbaba
- with 12% (but makes it play better!).
- But most important a lot of quiet moves deep in the search has been removed,
- so only the very best are now tried, and this has increased the speed with
- 400%!!!
- So this version is 4-5 times faster than the august-version!
- The good, old Colditz-test gives Dabbaba (486 50 Mhz) a tactical rating
- of 1830.
-
- Some other changes are:
- rooks on open files, block c-pawns less, play more 1.e4, keep g-pawn
- on 2/3 row, kingsafety: pawn in front of king most important to be there.
-
- During gameplay the board is bigger.
-
- While running testpositions in files, it is now possible to create a file
- (dabbaba.trc) showing which moves Dabbaba found at a given time. Just answer
- 1(=yes) to the question if you want the file.
- See appendix A below.
- It is also possible to go on to the next position if the right move is found
- or to use all the allotted time on the position. Just answer the question.
-
- The main menu is now easy and light and can be turned back to extended use
- with the W (whole menu).
-
- Levels of play:
- Is now much easier for the user, as you simply can decide how many seconds
- Dabbaba should use for each move instead of deciding the search depth (brute
- force, selektiv and check-search).
- If you want to use Dabbaba the old way, give Dabbaba zero seconds pr. move,
- and the search depths appear in the menu.
- With x seconds pr. move, Dabbaba will max. use 20% of the time in the
- matesearch.
- Dabbaba will terminate the normal search if more than 90% of the time is
- used when it has finished examining a move in a given iteration.
- It may move much earlier, as Dabbaba won't start a new iteration if more
- than 30% of the time is used. This is because, that all the remaining 70% of
- the time probably will be used on the first move in the next iteration - the
- move that already is found as the best move.
- See appendix A with an extreme example, where up to iteration 4 took 30
- seconds, and the first move in iteration 5 took 333 seconds! So Dabbaba may
- also in seldom cases take longer time to move.
- Dabbaba shows how deep in the search it was when the timeout occured.
-
-
- Comments when version 1996 Aug. 20 was released
- (about errors in version 1996 july 23.)
- ===============================================
- King safety didn't work at all.
- Ghost-rooks could occur in the corners, if a rook ready for castle was
- moved.
- Chessvariants where the queen is Archbishop & Chancellor had an error, as
- the queens new value was given to the knight.
- These errors are now corrected.
-
-
- Comments when version 1996 july 23 was released.
- ===============================================
- Dabbaba is now tactically much stronger.
- It fx solves a mate in 12 moves in a special testposition in 0,63 second
- (see the mate-search demo later).
- Dabbaba also understands draws by simpel repetition of moves (see the Rg7+
- position). But only during calculating a move, not during playing a game.
- Dabbaba now has a simple knowledge of king safety. The opening tips have
- also been improved, and Dabbaba now plays 'random' in the opening.
- Selfplay don't loop now, and the board is shown the first 56 moves.
- INFO during gameplay can be turned on/off with the info-command. Turn it
- off if you don't want the information and the scrolling of the chessboard.
- You can get the help-menu by typing help or ? during the game.
-
-
- Further information in the future
- =================================
- Send your e-mail address to me (jensbaek@silkeborg.bib.dk) and you may
- receive information about Dabbaba in the future.
-
-
- Where should the rooks be moved to?
- ===================================
- This is very difficult to tell a program, because moving the rooks has
- much with long range planning to do.
- During pawn-evaluation a bonus is given, if a rook is on the same file
- as a weak opponents pawn.
- New bonus's are given for moving the rooks up the board, especially row
- 7 and 8, for having the rooks connected; especially on a file, and for
- having a rook on the same row as the opponents king.
-
-
- move-now
- ========
- If you press a key while Dabbaba is computing a move, Dabbaba will move
- when it has finished calculating its current move.
- If this is done during selfplay or running a testfile, these functions will
- be cancelled.
-
-
- menu Special Options
- ====================
- Some new information can be found here (most for my own use).
-
-
- Running testfiles
- =================
- When asked for a position number, you may now type in a negative number.
- fx. will -40 skip the first 40 positions in the file and start calculate
- from position 41.
- Dabbaba still only instantly show how 50 positions are solved, and now it
- stops after calculating 50 positions.
- You are asked if you want a file (dabbaba.trc) to be written with the moves
- Dabbaba has found at given times during the search.
- If a mate is found, the position is left immediately.
- If the right move is found after iteration 2 or later, the position is
- considered solved and no further iterations are done if you have answered
- yes to leave the position in this case.
-
-
-
- Pawn-evaluation
- ===============
- Dabbaba now knows something about isolated pawns, double pawns, passed
- pawns, weak pawns on halfopen files.
- Unfortunately this takes some time, but it is important.
- During gameplay you can press 'p' and see how each pawn is evaluated.
-
-
- Variants
- ========
- An article of Ralph Betza in Eteroscacco has inspired me to add 4 new
- variants to Dabbaba.
-
-
- Transpositions
- ==============
- This has an error, so leave tpo2 set to 99 (off) as it is when you start
- Dabbaba.
-
-
- Tester
- ======
- I have got Alastair Scott from UK as 'an official tester' of Dabbaba.
- Torben Osted has given me some games played against ArcChess.
-
-
- The old levels
- ==============
- (Before move-in-x-seconds was made, the old default was (3,3,2).)
- If the startlevel (3,3,2) is too slow, you can reduce the numbers.
- I recommend for level (a,b,c), that a+b is even, c is even and b>0. A
- little difficult to explain why, but it has something to do with the I-
- position (Nxf7??).
- I expect it is quite easy to repair, but just haven't done it yet.
- Perhaps (4,4,0) is better than (3,3,4). (4,4,2) certainly is, but it is too
- slow.
- You may change the 'selektiv search dynamic limit' from 20 to 24 which may
- increase the speed of Dabbaba at the cost of trying fewer quiet moves. Set
- to 24 it solves the ca. 80 positions in the file LARS440 at level (4,4,0)
- in ca. 25 minutes (in the new version it takes more than an hour; mainly
- because of the pawn evaluation). Many of these problems are very nice
- combinations!
-
-
- The name Dabbaba
- ================
- A few persons has asked me about the name Dabbaba.
- The program also plays variants of chess; fx where the knights are
- Nightriders (making long moves). A dabbaba is another piece that moves in
- an unusual way. The dabbaba is used in one of the variants in the Dabbaba
- program.
-
-
- The Matesearch
- ==============
- The matesearch is an important feature. Dabbaba starts its computing of a
- move by following many lines of checks and hopes to find a mate or a good
- capture.
- Do this to see what it can do in a few minutes:
- * Set the level to 180 seconds pr. move
- * choose 7: chesspositions in files.
- * choose M for matesrch file.
- * choose 0 for all positions.
- * choose 1 to pause at each position
- * choose 0 not to make a discfile
- * choose 1 to exit the position when the right move is found
- - and enjoy what Dabbaba manages to find!
-
- The matesearch is started up to 3 times; each time going deeper (8, 16 and
- 24 ply) and considering more moves.
- A maximum number of nodes are searched depending on the brute force depth
- you have chosen:
- depth 1: 10.000 nodes
- depth 2: 30.000 nodes
- depth 3: 50.000 nodes etc.
- (assuming the matesearch-factor not is changed from the value of 10).
- These number of nodes are adjusted due to the speedtest (1997).
- If more than 1/3 of this maximum number of nodes have been searched, no
- further matesearch will be started.
- * if move-in-x-seconds is used, a max. of 20% of the time is used in the
- matesearch, and the matesearch-factor only decides if a matesearch is made
- or not (set it to zero if you don't want a matesearch).
-
-
- J - magic number.
- ================
- What is this?
- Try this demo:
- Set magic number to 8
- * choose 5 for chesspositions
- * choose 5 for the mate in 12 position
- now you can see the little silly gimmick.
- * type X to return.
- * set magic number to 7.
- * choose 2 to run - and see how the black king is hunted (this is also
- funny with the Morphy-position). It takes about a minute to hunt the king.
- * set magic number to 0 again.
- * choose 2 to run again, and it is now 100 times faster without the
- gimmick.
- Other 'secret' values are used by myself while developing Dabbaba. Those
- with a text in () are intended for my own use.
-
- Magic=2 makes Dabbaba also consider promotion to bishop and rook.
-
-
- C-programming
- =============
- I'm not an expert in C-programming.
- How do I issue a 'EDIT DABBABA.TXT'?
- How do I avoid the scrolling? - and is still able to receive keyboard input
- from the user?
- How do I use the mouse?
-
- If someone has a little program that shows these things I would like to see
- it.
-
- I have a 486, but my compiler can only generate 386-code. Will Dabbaba be
- faster if it is compiled with a compiler that generates 486-code?
- Will Pentium-owners benefit even more if Dabbaba is compiled to produce
- pentium-code?
-
- Does the compiler have a special facility to tell, in which parts
- of Dabbaba the time is spent?
-
- Does tools exist, that can take the c-source and generate cross-reference
- lists or diagrams?
-
-
- known errors
- ============
- Dabbaba sometimes plays worse in a game than in testpositions.
- The file BADMOVE2 contains some positions from games, and in some of the
- positions it NEVER considers the move that was actually played...
- See also SIBIRI.TXT.
-
- Dabbaba don't recognize promotionmoves in solutions as correct moves (fx
- the Lot of knights-position (b7-b8N) in the menu and in the matesrch-file).
-
- Promotionmoves are not looking right in dabbaba.trc.
-
- I have a little problem with end-of-file of the testfiles, so so far the
- last line in the file has to start with '#x'.
-
- Dabbaba's play: it seems that the program pays too much attention to double
- pawns and it may even sacrifice a pawn to give the opponent a doublepawn; fx:
- 1.e4,Nc6 2.d4,d5 3.Bb5?,dxe4 4.Bxc6+,bxc6
-
-
-
- Appendix A:
- 2r3k1/pp4pp/4R3/2br4/P4B2/1Pp2pP1/5P1P/2R3K1/w Rc1-e1?
-
- 0.00 sec. Search to depth 0
- 0.11 sec. Search to depth 0
- 0.16 sec. Search to depth 0
- 0.22 sec. Search to depth 1
- 0.22 sec. best move so far: c1c3 score: -29996
- 0.27 sec. best move so far: h2h4 score: -129
- 0.33 sec. best move so far: g3g4 score: -128
- 0.33 sec. best move so far: a4a5 score: -125
- 0.49 sec. best move so far: h2h3 score: -120
- 0.60 sec. best move so far: e6e1 score: -106
- 0.66 sec. Search to depth 2
- 0.77 sec. best move so far: f4e3 score: -178
- 0.99 sec. best move so far: e6e1 score: -118
- 1.37 sec. best move so far: c1e1 score: -90
- 1.81 sec. Search to depth 3
- 8.30 sec. best move so far: c1e1 score: -87
- 16.21 sec. Search to depth 4
- 20.27 sec. best move so far: c1e1 score: -97
- 29.23 sec. Search to depth 5
- 362.64 sec. best move so far: c1e1 score: -91
- 362.86 sec. calculation of move ended
-