Ruffian, the replacement to ABBA.

Introduction

For several weeks now, the chess computer community have witnessed almost unbelievable results by a Swedish chess engine. Beta-testers have reported results which give reasons to assume that Ruffian is one of the best chess engines ever published. A week ago Ruffian 1.0.0 (new version is 1.0.1) was released as freeware.

Since then, tests have been conducted world-wide to an extent which has never been seen before. Websites and fora dealing with computer chess experienced new hit-records. Within one week Ruffian became "cult".

Why? There is a simple explanation for this phenomenon: Ruffian has been made available to all as freeware by the author Per-Ola Valfridsson and has perfect support for the standard engine protocols, Winboard and UCI.

Therefore Ruffian can be used with nearly all free and commercial interfaces (GUI).

We have asked Per-Ola a few questions in order to get more information about him and his program Ruffian to satisfy the curiosity, because up to now, little is known about him nor his program Ruffian.

Interview with Per-Ola Valfridsson (Ruffian):

1. Interview team: Per-Ola, for how long have you been interested in computer chess? When did you start with the developpement of Ruffian? What made you decide on starting in the first place?
Per-Ola Valfridsson (Ruffian): It all started at the beginning of 1998. At that time I didn't realize I was going to write such a strong chess engine, I was just interested to learn more about the search algorithm used in chess programs.

2. Interview team: Are there other chess programs (commercial or freeware) that you like to work with (apart from your own, of course)? What other hobbies, if any, occupies your spare time? (Maybe equestrian sports? An author who names his program after a famous horse is rare in Computer chess ...)
Per-Ola Valfridsson (Ruffian): For the moment Ruffian is more than enough, I don't think it is possible for me to spend more time on computer chess. Other hobbies beside programming and computer chess are backgammon, I'm actually a much stronger backgammon player then chess player. Believe me, the horse has got nothing to do with it, though, the name probably comes from the nickname of a Digital Alpha Motherboard.

3. Interview team: Some people claim that only an experienced and accomplished chess player is capable of writing a strong engine. So we're interested in your rating and wonder if you play in a chess-club? If you are a member of a chess club: Do your friends know other programs apart from Ruffian?
Per-Ola Valfridsson (Ruffian): I'm not a strong player compared Ruffian, my rating is just below 2000 (guess). I don't believe you need to be a strong chess player to write a strong engine. Of course you need basic chess knowledge but I think it is more important to be a good programer. I am a member of the local chess club but I don't play very often nowadays.

4. Interview team: The webmaster of the Ruffian webpage posted some information at the CCC-forum. This famous American forum http://www.talkchess.com/ is a forum where programmers and users meet and exchange information, results and discuss themes concerning computer-chess. According to the information published, you work with Windows as well as other operating systems. Will there be a free Linux version of your program available in the near future as well? What type of OS are you interested in the most?
Per-Ola Valfridsson (Ruffian): There will be a free(beer) version for Linux and Mac OSX as soon as I have fixed some outstanding bugs in the windows version. My primary operating systems since many years are Linux and BSD. I also use Windows for chess software and for engine-engine matches.

5. Interview team: The unbelievable results of your program caused a lot of wild speculations in all chess computer fora. Some spoke of a Crafty clone while others suspected that Ruffian was a Fritz clone. After the release of your program last week the speculations have calmed down and people have stopped looking for such explanations. At least openly. Are you angry, offended or indifferent regarding such allogations (sorry to say but there have been published quite a few clones in the past) from people who cannot understand why Ruffian is so strong? Do you understand the underlying behaviour?
Per-Ola Valfridsson (Ruffian): I can understand if some people was suspicious until ruffian was released. If someone compares Ruffian with Fritz, I take that as a compliment.

6. Interview team: How do you consider Ruffian in terms of rating? You write on your website that Ruffian has a rating of approx. 2400 ELO on a Pentium 300 MHz, but most testers consider this to be a total understatement. Up to now there is an opinion that there is a difference of about 125 points between the best commercial engines and the best freeware engines. The results which were published during the last week lead to the conclusion that this gap has been reduced dramatically by your engine. With your experience in mind, is it realistic for freeware engines to keep up with or overtake commercial engines in strength?
Per-Ola Valfridsson (Ruffian): Ruffian is stronger than 2400 on faster hardware. I have played more then 10000 games on FICS with a Pentium II 300Mhz, Ruffian has a ranking around 2400 and peaked at 2478 with that hardware. It is impossible to estimate a rating unless you also specify the hardware, those who tested Ruffian compares Ruffian against other engines. I do believe we can expect stronger freeware engines in the future. There is absolutely no reason why a free engine can't be as good as a commercial engine, that has been proven for other free software.

7. Interview team: (We hope that this question is unnecessary but we ask you anyway!) There are a lot of very strong freeware engines (Crafty, Pharaon and SOS, but also newer ones like Aristarch and Yace). Ruffian shows progress within amateur computer chess and your contribution to this developement is highly respected. People all over the world can use your engine freely without spending anything but time. We see this as a perfect realization of the FIDE motto: "Gens una sumus!" (We are one community!) Do you want to maintain Ruffian as a freeware alternative or are there any ideas of a commercial release? Have you received any offers by commercial companies?
Per-Ola Valfridsson (Ruffian): Ruffian v1.0 is a free engine. I don't have any plans for the next version, in fact, I haven't decided yet if there will be a next release. One option is to release Ruffian as a commercial engine. I would never tell anybody whether I have received a commercial offer or not (sorry).

8. Interview team: Are you interested in computer chess tournaments, eg. world championships? Will Ruffian participate in such events in the future? How about a Swedish championship as there exists quite a few engines of Swedish origin by now?
Per-Ola Valfridsson (Ruffian): It would be really interesting to participate in tournaments but I haven't decided yet as it costs a lot of time and money. If there ever will be a Swedish championship I would do my best to be there.

9. Interview team: Are you interested in chess fora? Most users consider them to be the No.1 source of information on the Internet.
Per-Ola Valfridsson (Ruffian): Most of all I am interested in static web pages and articles. Most message boards tend to be quite noisy, unstructured and repeating themself.

10. Interview team: Do you know of any good sites on the Web about chess programming worth recommending to other chess programmers? What are your favorite sites?
Per-Ola Valfridsson (Ruffian): Google is a good starting point. To name one I would say DarkThought http://supertech.lcs.mit.edu/~heinz/dt/ is an excellent site about chess programming.

11. Interview team: We assume that it takes a lot of time to write such an excellant engine like Ruffian and that you are a professional programmer. How many hours do you work on Ruffian weekly? Any tricks on how to combine family, work, etc. with the developement of such a strong engine?
Per-Ola Valfridsson (Ruffian): Ruffian has been developed for almost five years. For two of those years I worked and lived in Paris. The first year in Paris I didn't have any internet connection and TV at home, I had a lot of spare time and spent many hours every day with Ruffian. I managed to improve Ruffian from a rather weak and ugly engine to basically what it is today. Nows when I'm back in Sweden I spend less time on chess programming.

12. Interview team: Without telling us secrets about your program: What techniques do you consider to be important to write a program with an estimated rating of 2600? It is amazing to watch Ruffian searching for a move! It reaches high search depths very quickly. Do you use any aggressive pruning techniques which are already published or are the searching techniques a secret? Do you use bitboards? Any algorithms which are not yet published? If so, any plans to publish them?
Per-Ola Valfridsson (Ruffian): I spent a lot of time with Ruffians search function including null-move, pruning, extensions and move order. I do use bitboards. I switched from a 8x8 representation to bitboard after about a year. Today I use a hybrid between bitboard and 8x8. I also use well known programming techniques and proven ideas that has been used by many other engines before. PVS, bitboards, null-move, endgame tables, forward pruning to name a few of them. I have a few algorithms, or tricks, that I have not seen anywhere else. I have tried many ideas, most of them has been discarded, some of them worked. Maybe I'll publish them some day.

13. Interview team: People use very different ways to test a new chess program. Some swear by testsuites, others do a lot of engine-engine matches. Maybe you have hundreds of PCs at home which work day and night for years now? What is your favorite way to check your developement? Do you prefer analysing positions, playing against other engines (if so, what opponent engine do you prefer?) or do you use other methods?
Per-Ola Valfridsson (Ruffian): A few years ago I extensively used test suites, I don't use them anymore. Nowadays I play engine-engine matches and I also play a lot of games on FICS. Playing games on FICS has been an important part in the development of Ruffian, without games against humans I never would have been able to find some very weak spots. Normally when playing engine-engine matches I play against commercial engines but also against other free engines such as Yace and Crafty. I have four computers at home that I can use for engine-engine matches.

14. Interview team: We would like to get a short charactarization of Ruffian. Where do you see the strong points, and where do you feel that there is room for improvement? Do you think that Ruffian prefers longer time controls or do you think it does a better job at blitz? How do you assess its value for long-time-analysis like some correspondance chess players use. Does Ruffian need large hashtables? Maybe you can give some suggestions about the optimum hashsizes when using Ruffian for the different time controls?
Per-Ola Valfridsson (Ruffian): As you have noticed, Ruffian is a "fast searcher" I also estimate ruffians endgame as quite strong. Ruffian also has some weak spots for example: no knowledge about pawn storms, opposite castle or center control. The opening book could also be improved. There is no optimal hash size, use as mush memory you can. I don't see any problem as long as you avoid swapping. I have no reason to believe that Ruffian will do any worth or better at longer time controls. I havn't done any test, I'm too impatient.

15. Interview team: What programming language have you used to write Ruffian? C++ or is most of the code in Assembler?
Per-Ola Valfridsson (Ruffian): Ruffian is written in C with portability and performance in mind. The intel version is boosted with some inline assembler.

16. Interview team: We are surprised that a lot of fascinating things come from Sweden! Abba, Björn Borg, Pippi Langstrumpf; just to name a few. But we also think about the royal stables (Ruffian seems to be escaped from there as it is has also a royal touch) and - as Computer chess freaks - the famous SSDF-list and a lot of strong engines. Why do you think that the influence of Sweden in computer chess becomes stronger and stronger each year? Would you like Ruffian to be tested by the SSDF?
Per-Ola Valfridsson (Ruffian): Well Abba, Björn Borg and Pippi is rather old these days and I hope that Ruffian can take their place :-) There is a lot of skilled programmers here in Sweden so I think you can expect more chess programs from this end of the world in the future. Besides, we have a very long and dark winter here, very well suited for chess programming. If SSDF are interested to test ruffian they are more then welcome.

17. Interview team: At the present time a lot of people talk about FullChess (Fisher Random Chess, Chess960, Shuffle Chess) which has gained a lot of popularity. In Mainz (Germany) a big GM-match was played this year using it. The freeware-GUI "Arena" supports the possibilities to play FullChess but at the moment no engine supports the special castling-rules at FullChess. Do you plan to implement FullChess to Ruffian? Ben Bursik (DGT projects), Martin Blume (Arena), Reinhard Scharnagl (Smirf) and Eric van Reem (CSVN) work on FullChess for a longer time already. Do you think that FullChess will give new aspects to computer chess programming because of the new possibilities to test engines without the influence of an opening book etc.? We expect that there is a big interest in users as well for FullChess.
Per-Ola Valfridsson (Ruffian): I have plans to implement Fisher Random Chess. As far as I understand, the only difference is the castling rules.

18. Interview team: About the opening book Ruffian uses: While some people are full of praise, others seems to think that your book is more of a handicap than a help for Ruffian. Do you do a lot of work on the opening book or do you have a friend who works as a "book cooker" (book author)? Has the opening book been created in conjunction with the engine or is it a seperate working process?
Per-Ola Valfridsson (Ruffian): I haven't spent any time to create an opening book for Ruffian. The opening book is automatically generated from a rather small pgn file. It has not been customized for Ruffian. I wouldn't mind if someone with interest in opening books created a Ruffian book. I have received some offers since Ruffian was released.

19. Interview team: You released Ruffian as freeware. Maybe other programmers, who have not yet released their strong engines, will follow your example So in the future we might expect other strong freeware engines to be released as well. Considering this developement, what's your assessment of the situation? Will commercial chess programming be a thing of the past or how do you expect the commercials to react to this challenge?
Per-Ola Valfridsson (Ruffian): I don't think commercials have to fear anything from free engines because it is so much more then just a strong engine. I do own copies of some commercial packages and I am always impressed of how they are packed with high quality games, opening books, documentation and so on. It doesn't mean that I'm less impressed by free engines and free GUIs.

Per-Ola, on behalf of all computer chess fans we want to thank you very much for the release of your program Ruffian and we wish you all the best for the future! We hope for a lot of exciting news from Ruffian and maybe for updates. We also hope that the feedback users send you helps to improve even this engine, which is already very, very strong. Your new version 1.0.1 already fixes a little problem with the permanent brain.
Thank you very much for answering our questions, Frank, Peter and Mogens ...

Per-Ola
Copyright © 1984-2007 Ed Schröder Mail Me