Interview with Gian-Carlo Pascutto (Belgium)
Programmer of Sjeng
04th, February 2010
by Gian-Carlo Pascutto & Frank Quisinsky
Gian-Carlo Pascutto (Belgium)
Same pic, double size: Click here
(for see the AWARD in detail)
Since 11 years Sjeng is still in development. Gian-Carlo Pascutto (Belgium) started programming with 16 years. Since a while Sjeng is a commercial product. So far the programmer placed Sjeng on the market in own work, but in the past Lex Loep (Lokasoft) was the distributor. In the last 12 years, there was a lot of change in chess programming. Most of the developers are using the exchange of information by email or/and fora. Gian-Carlo is very actively in TalkChess forum and his customers and others are appreciate of it. With today 27 years only, Gian-Carlo have a glamorous call and profound knowledge.
Gian-Carlo Pascutto (Sjeng)
Let us start with basic information to the playing style of Sjeng. For me, the playing style of Sjeng isn't easy to explain. If I compare different Sjeng versions I think that the latest commercial versions of Sjeng (WC-2008, Version 3.0) made a bigger ELO jumps in strength. The playing style seems to be changed too. Sjeng plays with more positional knowledge and seems stronger in tactics as the preview versions. All in all, Sjeng 3 got a new heart?
I try an explanation from my point of view:
Sjeng is the calmest available tactical engine, with knowledge in positional middle games and it doesn't prefers aggressive / speculative moves.
Could you write a little bit about the most relevant changes from Sjeng 2.0 to Sjeng 3.0? Most interesting is your own opinion about the playing strength of Sjeng and the main improvements you made for building the planned style.
What can a programmer do, to give an engine an own individual face?
Actually, when you say that Deep Sjeng 3.0 looks like it has a new hearth, you are partly right and partly wrong: the jump in style from Deep Sjeng 2.5 to Deep Sjeng 2.7 was much more significant. In terms of playing style Deep Sjeng 1.0 to Deep Sjeng 2.5 are one family, and Deep Sjeng 2.7 until now are another.
I guess because the version numbers looked so similar, many people didn't take a closer look and didn't notice they were playing a different engine when they went from 2.5 to 2.7. With Deep Sjeng 3.0 people were more expecting big differences and they indeed noticed them at that point.
The current style dates back to the Stoofvlees experiment. I wanted to clean up many things in Deep Sjeng's evaluation, but because it was so well tuned, replacing it by something new always gave a worse program. So I tried a very ambitious approach of writing the best evaluation I could imagine and using neural networks to try tune the program fully automatically. It didn't completely work (Stoofvlees was weaker than Deep Sjeng), but the results were a very useful building block and eventually the new evaluation surpassed the old one.
From Deep Sjeng 2.7 to 3.0 I internally cleaned up many things, made the program faster and fixed many small mistakes, but the basics of the playing style are the same. It's an unfortunate truth in chess programming that if you make fundamentally good changes, you usually
can't cash in on them until you get everything debugged and well tuned. Deep Sjeng 3.0 was the result of that.
Stoffvlees is a Belgian recipe?
It's not easy for me to understand, but I believe I can.
Stoofvlees is a typical Belgian recipe (Flemish carbonnade) prepared with the help of one of our local abbey or trappist beers.
But you don't bespeak the playing-style of Sjeng from your point of view? Each time, very interesting for all of us to hear about: How do the programmer characterise the playing style from his own "baby"? Karpow was the solid positional player, Kasparov search the initiative with famous knowledge in openings each time and reach tactical positions very early. Today many people like to say: Kasparow was a great tactical player.
And Sjeng? Sjeng is comparing to Tal or perhaps comparing to Ivantschuk, to which one?
The computer chess fans demand a clear image :-)
I've never thought about comparing the playing style of an engine to a human player. It probably doesn't do justice to either side. Sjeng's style is quite unique, and it's stronger than all human players anyway :)
I am thinking on AlexS (Dutch-ch 1998). The programmer of AlexS wrote a book about Neural Networks. I forget his name, but I believe the ideas acquired from Nightmare. I don't mean the German Nightmare, the Dutch Nightmare (two Nightmare's exist in the past). Do you read the book? I never read. All what I know is that Neural Networks need a lot of time. So far I know, that an engine can learn by itself from its own played games.
I haven't read the book. Neural networks don't have any relation to the engine being able to learn from its games. You can do this without neural networks and you can use neural networks without doing it. Stoofvlees did not learn from its games, but from an "oracle". This oracle is some external source that gives a perfect evaluation of the position, or at least, an as good as possible approximation to that.
Constructing the oracle is the real secret and what can make or break an approach.
What the neural network does is to figure out the best way to map some inputs (the position or features of it) to an output (the evaluation), so that it matches the oracle as closely as possible. What makes neural networks interesting is that they do this automatically, and are able to find complex relations between the inputs to get an even better match.
I never heart about AlexS and the programmer in the years after. I've got an exemplar of this book in Leiden too and gave it to Roland Pfister, programmer of Patzer. Roland gave it Ulrich Türke, programmer of Comet. If I remember right, both programmers don't have a good opinion about Neural Networks. But perhaps, after the years, the possibilities of implementations are much better?
I don't think much has changed in terms of actual algorithms. One difference is that now computers have much more power to do floating point calculations. So you can let the learning run longer, and the engine can do more neural computations during the search, without slowing down the NPS too much.
Seven games, Gian-Carlo sent, are added in the interview! I pic up one position (FQ). Grafics created with ChessBase DeepShredder 12
The first two were older, the last few all from the latest Sjengs.
Game 1: First WCCC game, shows style & mobility play.
Game 2: Recent tournament win, mobility play, slow strangulation of opponent.
Game 3: Somewhere earlier I talked about Sjeng evaluation differing from most engines. Here Rybka disagrees and is slowly outplayed in an endgame.
Game 4: Very good manoeuvering and king attack game.
Game 5 & 6: Good understanding of king pressure - safeguard own king, use pressure against opponent king to win. (I would have liked to compare this to the game I lost against Glaurung in Mainz a few years before)
Game 7: Very good defending and avoiding making weaknesses, and the counterattack.
[Event "10th World Computer Chess Championship"]
FQ: After black move 34. ... Rf8
Now I am thinking about one of your two questions to Don Dailey. Perhaps you await information to modern learn techniques?
Interview with Don Dailey: Question 18
Do you have written engines for other games? Are there techniques, ideas or viewpoints you find out interesting for a chess engine?
I wonder if MCTS (Monte Carlo Tree Search) as used in the newer Go programs could be effectively adapted to Chess. It will be difficult to improve on modern computer chess search techniques, but I would not mind seeing some effort in this area or even looking at it myself. I did write a MCTS Go program but I know almost nothing about Go so I feel handicapped in that regard. But it might be worth a good look with Chess. This is something you could also peruse being both a great chess programmer AND a very good Go programmer.
No, this wasn't about the learning, although it's a very interesting topic. Don and I discussed on back and forth a bit about learning approaches in other forums.
I know that I was able to make good use of my experience with Sjeng when I wrote Leela, and the reverse, and I was wondering if it was the same for Don. Unfortunately Don's answer was very obvious (at least to me) and so not really revealing anything interesting.
Do you have interest to create engines for other games?
Oh, I've already done so. I wrote an engine for Bridge, and one for Bao. But there are not enough hours in a day to peruse that further.
At the first time, we can look in the "secret" Bridge program.
Same pic, original size: Click here
At the moment Pascal Tang is in my brain. Pascal and his partner Eugenio Castillo were main programmers in Chinese chess. They check out different ideas from XieXie (Chinese chess engine) in ELChinito (chess engine). Do you see serious connections between the ideas of computer chess to other strategic games?
Certainly, I would go further say that they're at a sufficient abstraction level they're all the same, just with slightly different expressions. I have this theory that state of the art UCT (with very small exploration coefficient) and state of the art alpha-beta (with heavy LMR and futility pruning) are actually searching very similar trees. Maybe in the limit these two techniques are actually the same, just like Aske Plaat proved once that best-first SSS is the same as some MTD variations. Or maybe they're not, in which case seeing the real difference would be very revealing. It would be nice to see research in that area.
Some more than two hands full of engines are commercial available. Today it’s a hard business to sell chess engines. I believe, that most of all are interesting to buy, so long as an engine has an own character and a good playing strength. Sjeng has an own character, is very strong, and has good possibilities of analyzing. Please write a little bit more about the playing style.
Which skill in playing style Sjeng have, others don't have?
A better formulation could be:
Which special playing attributes did you gave Sjeng?
Which points in Sjeng programming were most important for the playing style and what costs you most of time?
I think I can explain this best by focusing on what changed in the rewrite I talked about in your first question.
I focused specifically on some things where I thought the old Sjeng had weaknesses: mobility and blocked pieces, passed pawns, understanding exchange sacrifices and activity against the king. Particularly the latter is easily noticeable. Old Sjengs only understood that damaging the defensive structures is good (but they were extremely knowledgeable about that), but didn't understand the need to keep pressure on the enemy position. This often resulted in quite entertaining and crazy games where the engine takes extreme risks both in attack and defense. But objectively, it was not so good. And when other engines appeared that had a fair understanding of weak structures, and understanding of pressure, Deep Sjeng started getting into problems, particularly when being out searched. Now that it understands pressure itself, this no longer happens.
Another area of great focus was mobility and piece activity. I had lost some tournament games because of insufficient understanding of that, so I completely overhauled it and made it as good as I could. (There's an obvious relation here to the point above of understanding pressure!). It seems to work great, I think it's more advanced than in many other programs, and I found out during testing that I could increase the influence of this in the evaluation function. As a result, it's a defining feature of Deep Sjeng 3.0 that it fights very hard for the initiative, and is willing to make compromises to keep it. I guess one feature of Deep Sjeng 4.0 will have to be understanding when it isn't worth it!
Lastly, in terms of evaluation exchange sacrifices and passed pawns Sjeng evaluates a bit different from other programs. There is no special reason for this, I just programmed what I thought was good, tuned to what gave the best result and ended up noticing that at the end I seemed to have landed in a different place than most of my colleagues. I've tested several times more conventional evaluation and values, for example from one of the open source programs, but they always make Deep Sjeng weaker. The main effect of this that Deep Sjeng wins and loses a lot of games involving these two factors, because programs tend to play towards the position where they disagree the most. This confuses my testers to no end: they keep reporting that this area must be adjusted because they notice that Sjeng loses a lot of games where it disagrees about evaluating some passers or an exchange sac. But in fact, it always disagrees! It's just that they tend to forget the won games where everything was OK faster than the lost ones.
In the free available SWCR rating list Sjeng draws only to 35% after 720 games (relative number of draws). No other program in the same group of engines (+- 100 ELO stronger or not) has such a low Remise rate (Quota). What could be the reason?
If I would have to guess, I would say many modern programs are heavily influenced by Fruit. The design of Deep Sjeng predates Fruit and it searches and evaluates quite differently (see last question), so there are more opportunities for the engines to disagree and play for a win. The draw rates of Shredder, Junior, Hiarcs, ... might be interesting to compare.
It might also be a statistical coincidence.
Do you think that such strong free available sources like Fruit or Stockfish, are really good for our hobby? In TalkChess forum we can find a lot of threads about clones and with time it’s boring me a lot. Very dangerous to lose the most honest programmers which are pride of there own work and disappointed of so many public positive "clone-opinions" by users. The medal has two sites, but in the case of "free sources" it seems there were four sites. Three aren't positive. Sorry, personal opinion by myself.
I don't think the publishing of the open source programs is the problem, it's what is done with them. It's really weird that in so many areas people successfully cooperate on open source software, whereas in chess those are clearly exceptions. Open source chess development mostly consists of someone taking the program, changing the name, slapping their name on it, and then hacking in some ideas. They're usually quickly abandoned after this new "author" runs out of easy ideas. I can show you a really nice example of how far out the thoughts of the chess cloners are from the rest of the open source community:
Where one of the maintainers of a Linux distribution has to explain to a chess person that it's considered normal *not* to change the name of a project if you take over as maintainer of it.
The Stockfish guys on the other hand do seem to have gotten the idea right. They have a coordination development effort over a longer time, cooperating with the original author, and they have real results to show for it. If only they could have resisted the temptation to keep the Glaurung name it would have been exemplary.
If we now compare that to Ippolit...I think in such a short while there are already about 10 clones of it, all with a different name, all with other features, and all very buggy.
So basically, I think free software is a great idea, but it can only be as good as what you make of it, and most chess cloners are making it into a pile of sh*t with their name slapped on top of it. The concept that it's about cooperating seems to be too hard to grasp.
There's a second issue of open source programs, and that is that they spell out all ideas someone has very literally. This is for learning purposes not the best idea, because it biases the people who learn from them to think in a certain way. For a while, every new program that appeared looked a lot like Crafty. Then Fruit appeared, and behold, every new program suddenly looked a lot like Fruit. Now Ippolit appeared, and every new program suddenly looks a lot more like Rybka. This makes the scene quite incestuous and more boring.
On the other hand, it also makes it easier for a real new idea to take the computer chess world by storm, which I'd consider a positive flipside. Summarizing, I think open source chess programs are great idea, but that what most people have been doing with them is not so great. The solution is not to stop making open source chess engines, but getting people to cooperate on them (like with Glaurung/Stockfish and even Crafty).
[Event "28th Dutch CC"]
FQ: A dynamic game, Sjeng now with 28. Nxf6
We know that you are an honest programmer, no doubt about it. Do you're looking in the sources of the Rybka "clone codes"? Which parts of "clone codes" pushed "Rybka" to such an high ELO performance (it isn't a secret for programmers anymore). Could you explain to us, readable for users of computer chess engines in very short words?
I do not think there is any specific trick which explains the high performance. It is the same situation as when Fruit first appeared, or when Rybka 1 was reverse engineered into Strelka. The original program clearly contains all the essential techniques and is well written, well optimized, well tuned and well tested. There is no "big secret" to be found.
Is it possible for programmers to use the strong parts of the "clone-code" for their own engines?
Easy or not easy?
There are some ideas which could be tried in other engines, but I guess how much works or how easy that is, is going to vary a lot between engines. There will be things which work for the reverse engineered engine but which will be counterproductive in different, original engines. This relates to the previous answer - the sum of the parts is what counts.
I am thinking about Fruit. After the free available sources of Fruit 2.1 were published, many other engines made an high ELO jump just a little bit later. Perhaps it's possible that we have the same situation with Rybka four years after Fruit. A very complicate situation because the "clone code" of Rybka isn't GPL and it's a commercial engine. Vas Rajlich never gave his code free. I believe it can be a good solution for the community of programmers to give the Rybka sources free on an official webpage with particularly explanations. The programmer of Rybka will have his own spiritual legacy. This could make the situation clear for all, but of course a very bad solution for Vas himself. Then all the illegal "buggy clones" will be removed and after this period perhaps a new legal "Stockfish" was born.
1) I personally think that Fruit was more important because it showed that the engine should be simple and correct more than anything. This was a revolution in thinking. Because of that, in my opinion the legacy of Fruit is a magnitude bigger.
2) At the very least your solution would involve distributing code which one of the most respected programmers in the community is proclaiming to violate his copyright. So I think it's not a very good solution.
Do you recognize any special parts of "clone-codes" which can be interesting in Sjeng development or perhaps for the common future of computer chess. An almost easy way to push up an engine to 100-150 ELO more?
Do the playing style was changed after using the strong parts of "clone codes"? Easy to see what my intention is, it's clear, I like programs with their own individual character. In this times it is much more important, because nobody wants or needs 10 Fruits, Glaurungs, Rybkas.
My experience with Fruit was that some months after it appeared, suddenly many engines started beating into weaknesses of the then current Sjeng in the same manner as Fruit did. This was painful at first, but as I was able to plug the weaknesses in the months afterwards, Sjeng became quite successful. Scoring against those engines was much easier, and you could count on some of them being present in any tournament. I haven't played in many tournaments after the reverse engineered engine appeared, but it's clear that there could be tough times ahead until I can fix the holes in my engine. The lack of big differences in the opponents will help rather than hurt for that, though.
[Event "Friendly Game, 90m + 15s"]
FQ: The King go a long way to the right place.
How do you test your development versions of Sjeng? With collected positions, blitz eng-eng games, games with hints by your beta test team or perhaps an unknown interesting secret way? If so (secret way) you have to give us the ultimate hint. I'm searching for a long time and after all my eng-eng experiences it seems that I'm not found the "Stone of Wise". Perhaps the combination of all known test methods will give us a good result.
First of all, test positions are completely and utterly useless for testing a chess engine. They do not tell you anything about the strength of an engine.
My testing is as strongly as possible focused on being objectivist and scientific. It's simply hopeless for (a bunch of) humans of maybe 1500 ELO average strength to judge whether a 3000 ELO engine has gotten 5 ELO better or worse. This means that the only thing that counts is the bayeselo result, *including* the error margins it indicates.
There are some effects that one must be wary of even in this condition: the fact that some changes might not have equal effect on all time controls, and the fact that some changes might produce disproportional results against some engines. Against the second I protect by testing against enough different opponents. Against the first my protection is Jens Heerklotz, whom I send versions that do well (show improvement) in fast games for me, and who retests them at slower time controls.
Come out, Sjeng is on the way to become a giant for all other engines. You are one of the most talented programmers we can await it! Sjeng 4 will be again a new sensation? Long speech, short sense!? How many ELO points stronger is your actual development version so far?
I'll just say: quite a bit over 100 ELO better. I don't know the exact number as I didn't test against Deep Sjeng 3.0 for a while, but it's clear there's very substantial improvement. And if it depends on me, it will keep improving. If you have multiple computers, you can use the cluster mode, and then the improvement is pretty interesting :-)
Do you set a release day for Sjeng 4? Will be the price the same compare to your latest release version? Don't like such questions, but I have to ask!
You're free to ask, but I have no answer. I have no concrete plans for the release right now, so I have no idea how it's going to look. The reverse engineering of Rybka and the current, still ongoing drama about it makes me wary of putting anything out right now, and makes it "complicated" to release a commercial chess engine at this time. I'm doing this as a hobby so if the pain of making a release outweighs the gain, I'm not going to do it. But I'm not going to let the engine rot on my hard disk either, so there's hope for the fans.
In your words we can read a little disappointment about the actual situation with all the illegal "clone-codes". You know, that each other knows too, that after the new release of a commercial engine, it can be found cracked on different illegal webpage's about two day after. This is no secret. Unfortunately, I had such problems with Ktulu by Rahman Paidar in the past too. I think we have to ignore that, because there are still enough honest customers. Thanks to them! From my point of view: I don't want to loose Sjeng, one of the quite interesting developments. It has to be possible that an engine will be deleted itself if one byte is changed. Do you think that the programmers of commercial chess engines should create a new copy protection by team work?
No. Every copyright protection can be beaten. More copyright protection generally also means more hassle for honest customers. This is a real dead-end. Some good ways to reward honest people is giving many updates (meaning honest people always have better things before the pirates do), but it's also a drain on the programmer. I am curious how Vasik's rental idea turns out. There was a lot of opposition to the idea, but people are always scared of new things. The success might depend a lot on the quality of execution.
During many years I powered free projects, like Arena, free chess GUI or free winboard engines on Frank's Chess Page. You know, you send your first available version of Sjeng to me. Today, I think more and more, that each one have to pay for a strong engine. I'm very disappointed, when I look to my work I have done through about 10 years and now, what so many people are doing with it? Do you think that time is over for commercial software products in the next coming years? If so, what was incorrect in commercial marketing?
As far as I know, ChessBase and Convekta are still doing well. The importance of engines itself greatly dimished when they became so strong. Though legal and illegal ways, the knowledge of how to make a good engine became more whidespread and good free engines appeared. So the commercial possibilities to make engines are getting worse. But I think there is still loads of room for innovation in chess software. The move in all software fields is currently towards services, because forcing to interact with a central server is a good way to do copy protection. We already have tightly integrated chess playing servers, and we know engine renting will be a further step in that direction. I'm sure other ideas are possible there.
Sjeng don't get the big push with 64-Bit compare to 32-Bit, like Zappa, Rybka or Doch / Komodo. Do you work on it or isn't possible?
The current development version is about 50% faster on 64-bit compared to 32-bit. (Tested with GCC on a Phenom II, results for other compilers and systems will be different). The way you ask the question seems to imply that a bigger difference is a good thing, but I'm not sure if that's correct. It could as well mean an engine is crippled on a 32-bit system. I try to make sure Sjeng runs as well as possible on any system.
Do you think that a programmer can reach a result, that an engine will be stronger against humans only? Sorry for this question, but I'm thinking again about Neural Networks and of course about release information from different others in the past.
Even if I had a 2600 ELO grandmaster at my disposal 24/7, he would still be over 400 ELO weaker than Deep Sjeng. So I would have to play a massive amount of games to get an idea if Deep Sjeng is performing better against him or not. So maybe it's possible that the engine is stronger against humans, but there would be no way to test or verify it, even for the programmer. I think with the current engine strength, talking about "plays better against humans" makes little sense, because how on earth can you check that?
[Event "Rated game, 60m + 15s"]
FQ: Before Sjengs white move 42.Nf4
11. Frank Qusinsky
Let us now speak about different other topics. First theme I choose is Chess960. Sjeng is compatible to Chess960. Do you investigate much time in chess960? How do you split your interests between chess and chess960 in %.
Example: Frank Quisinsky
chess = 95%, chess960 = 5%
I spent most time on Chess960 before the first tournament in Mainz, which was in 2005. Chess960 was new back then and all support for it had still to be developed. I had to rewrite quite a few basic routines in Sjeng to support it. After that, it just worked and I didn't spend any further time on it.
Somewhere in 2009 I added some new things which broke Chess960 support, and so I again had to spend some time to get it working for Mainz. During the tournament it turned out that there were some bugs left. I had to switch back to an older version which was also used during the qualifier. This was rather embarassing and ruined all chances for a good tournament result. At least I can assure you that those bugs are quite well fixed now :-)
So basically, I think that in terms of total time I spend less than 1% on Chess960. I try to make all knowledge I add as generic as possible, so there is almost never a need to do something specific for Chess960, because the existing knowledge works well.
12. Frank Quisinsky
Now you are watching the computer chess events / fora / information's around chess since more than ten years. A lot of oddities were lived to see in these times. Do you remember a certain situation with chess personalities, you'll never forget in your live?
In times I was working on Arena, I got an angry mail from an Argentinean wife of a computer chess freak. She indicted a special option of 'national anthems' in Arena Chess GUI. Her husband, soldier in the Army of Argentina, never undresses his uniform off duty, when he stays at home. All what he do is sprinting to the own pc to look up for the newest engine-engine results. The guy likes it to play very fast blitz games with Arena and Gaviota (engine from Argentina). All these with the active national anthems option. He stands up and saluted in front of his monitor, each 5 minutes. With time his wife was very unhappy about it and sent me a long mail attaching a pic of her husband, I never forget. Our team has to deactivate the national anthems option, directly ... she wrote! We never done that. All in one, I think I'd produced a lot of rubbish in the past, but that's computer chess too (the national anthems idea was derived from the very fine older Winboard webpage by Thomas Mayer).
Hmm, there were quite a few memorable adventures when going to the World Championships.
Going to Graz in 2003 was probably the most chaotic. It started with just being able to get there. I was still studying and the tournament was in the middle of the year at a time when I had classes with required attendance, so I resigned to the fact that I could not attend. Jaap van den Herik did not agree, called my school in his function as Professor at Maastricht University, and explained to one of the principals that it would be a disagrace if I would not be there, etc. The next day I was called to the principal who told me that she "had had a fan of me on the phone" and that everything had been taken care of.
For the tournament I was able to get a sponsored machine from AMD, one of the first 64-bit machines at a time when it was till a novelty, but it only arrived 2 days before the tournament started. So I got in my car, to pick it up in Antwerpen (the servermachine barely fit into my miniscule car), then immediately drove further towards Veenendaal. I had agreed with Vincent Diepeveen to drive together with him to Munchen to the home of Rudolf Huber. I stayed at Vincent's place and worked throughout the night to get the 64-bit machine installed with alpha versions of 64-bit Windows which I just got from Eugene Nalimov, and to port the program to 64-bit. We then drove to Munchen the next day, and spent hours trying to find Rudolf's place (this was before the time of GPS systems, obviously!). Luckily, like Vincent's mother, Rudolf's mother cooked for us while we discussed the results from the new 64-bit machine.
One reason why we made the stop at Rudolf was that we suspected that he would have a nice, big German car to make the rest of the journey more enjoyable. It turned out that he drove a rather old Peugeot in which we and our 3 machines barely fit.
I could go on about our adventures like this for a while, but that would be a seperate story.
The tournament itself was filled with a lot of drama, and I had many interesting discussions with many people. Sjeng's performance was not so memorable, mostly because one night of programming was not enough to test the 64-bit port properly. But I had loads of fun.
The trips to Iceland in 2005 and China in 2008 were also wonderful experiences producing many stories.
The low point in memorability was Pamplona 2009. It started with the extremely silly decision regarding the 8-core rules, which unfairly advantaged some teams and disadvantaged Sjeng greatly. When Sjeng made a great performance regardless, a jealous competitor then complained that Deep Sjeng should be "promoted" to the full professionals category, requiring a huge entry fee. The ICGA granted this request (without as much as informing me until more than a month afterwards when it was way too late!) with the result that it is now no longer affordable for me to attend the World Championships. The behaviour of this "collegue" (which I now understand is very much the wrong word) and the way the ICGA handled it has disappointed me greatly and will not be forgotten soon.
[Event "Rated game, 16m + 3s"]
FQ: Now Sjeng played the nice move 23. Rf3
[Event "CCM6 - 2. Chess960 Computer Wch"]
13. Frank Quisinsky
Do you remember the "older" times, Winboard and amateur engines were in the public eye? When did you have more fun in computer chess? In these times or in the years ago?
The early years were better. Nobody really knew how to write a strong engine. Well, the professionals did, but they weren't telling anyone. So the rest of us were goofing around and everybody was trying crazy ideas and discussing them. There were no good interfaces so some people invented their own. There (understandably) was also more interest from the public.
Now we're just eating einheitswurst and nobody except harcore fans has much interest left.
But, I have hope! There will be a few more revolutions that turn things upside down, I'm sure of it. I hope I can claw my way to the top again quickly when they do.
14. Frank Quisinsky
Next theme are the graphical user interfaces. A lot of strong and very interesting GUIs are available. Sjeng got his own interface too. I' am sure, you have a lot of interfaces on your hard disk, because during all the years of your commercial Sjeng, I never read a Sjeng-Bug-Report in a computer chess forum. Sjeng engine works very fine with uci protocol and all its important possibilities (multiprocessor support, multi-variation analysis, refutation displays, chess960 and so on).
Actually, Deep Sjeng is currently missing support for searchmoves. I removed this because nobody seemed to be using it. Little did I known that Convekta would come out with Aquarium and IDeA a few months later ...
A) Which of the available interfaces is your favourite and why?
Hmm, I still use Shredder Classic most, although I'm now using Aquarium a bit too. There's no denying that ChessBase also has a good GUI, specifically for online play, but their product is usually not so innovative as the others. It would be great if they could prove me wrong at some point.
For playing, it's Shredder Mobile. It runs even on my very cheap phone and I can actually beat it, hahaha!
B) Do you have main wishes for interface programmers? Perhaps you have an idea for a new option?
Yes! But this one, I'm not telling :-)
C) Is your own interface still in development?
No. The interface of Deep Sjeng 2.x was a cooperation between myself and the people from Mayura. The idea was to make something more accessible to occassional players. I'm still happy with the result but this market is difficult because it's easy to find older Fritzes at large discounts.
15. Frank Quisinsky
Today more than 500 engines are available. Many young persons are looking for the first steps in programming. With all your knowledge in programming, it would be interesting to know, which hints you can give "our" coming soon very young talents. Perhaps a book, or interesting hints to sources for learning, interesting web pages with information of chess programming.
Well, writing a chess engine is still an excellent excerise for beginning programmers. You need to deal with many things at once. I think the main thing to understand is that you should test your code and the performance of it in a scientific manner, and write it as simple as possible. Most bugs and bad performance are created by programmers writing code that is more complex than they can understand.
The best way to learn programming is to do it!
[Event "Rated game, 30m + 0s"]
Rybka with big problems!
16. Frank Quisnsky
I think we had spoken now about a lot of topics.
Please think about all your fans and honest customers.
Perhaps it's a bad time to release a commercial engine but in the year 2010, 10 years after ... a JUBILEE ... we are very interesting in your new version.
You wrote me:
"I got interested in tree search programming (chess, checkers) in the summer of '97, first made a checkers program and moved over to chess some time later. Sjeng is a school project and was primarily designed to play crazy house and bughouse (drop-chess)."
And to your favourite program:
"Crafty. Free, source available, good positional understanding, very strong and lots of nice features."
Do you remember Gian-Carlo?
It was 15th, December, 1999 (News from Frank's Chess Page) ... the first Belgium engine, available for an Argentinean soldier, me and many others.
It's time for the Jubilee Sjeng Edition!
Your move ... I am not mate Gian-Carlo!
You are not the only one hoping a new Sjeng can appear this year :)
And I am simply mate :-)
17. Frank Quisinsky
Which is your favourite chess engine today? Crafty?
I think that Stockfish is the new Crafty, but my favorite engine is of course ... Sjeng
Have thanks for your time Gian-Carlo.
SCHACHWELT wish many success with Sjeng in the future.
Copyrights and Sources by http://www.schach-welt.de & Frank Quisinsky
Further publication of this interview is allowed and wished,
but with the permission of http://www.schach-welt.de only.
One condition is the complete casting (e.g. in printed media).
Frank Quisinsky, February 04th, 2010