I am new to this list, and apologise in advance if the topics below have already been discussed to death before. Before posting, I spent some time browsing the archives and couldn't find any such discussions, but I may have missed something.
私は、このリスト(shogi-lメーリングリスト 訳者註)に入ったばかりです。そしてあらかじめ、この話題が既に議論しつくされているのであれば、あらかじめ申し訳なく思います。投稿する前に、アーカイブを幾度か探しましたが、もしかすると見逃したものがあるかもしれません。
I know very little about Shogi, but I have some experience with computer chess. I am the author of Glaurung, one of the stronger opensource chess engines (it is stronger than Crafty, but weaker than Fruit). In the near future, I will get an enthusiastic Shogi playeras my colleague (hi, Oluf!), I have therefore decided to stop doing chess programming for a while, and spend some time working on computer Shogi instead.
私は、ほとんど将棋を知りません。ですが、コンピューターチェスについてはいささかの経験があります。私は Glaurung の開発者です(Glaurungはオープンソースのチェスエンジンで、Crafty より強く、Fruit より弱いです。)近い将来、私は熱心な将棋プレーヤーを同僚として迎えます。(ハイ、オルフ)。そこで、私はしばらくチェスのプログラミングを中止して、コンピューター将棋のために時間を使おうと決めました。
There is no doubt that computer Shogi is currently quite far behind computer chess, in the sense that the strongest chess programs are almost certainly stronger than the best humans, while the top shogi programs have no chance against professional players. To a big extent, this is without a doubt because Shogi is a more difficult game to program. But I don't think this is the only reason. This brings me to the topic of this e-mail.
最強のチェスプグラムは最強の人間よりほとんど確実に強くなっているのに対し、トップの将棋プログラムは、プロ棋士に対してノーチャンスである、という意味において、コンピューター将棋は、現在、コンピューターチェスよりもかなり遅れていることは疑問の余地がありません。このことは将棋のほうがプログラミングがより難しいゲームであることがその理由の大部分を占めるのは疑いようがありません。ただし、私はそれだけが理由だとは思いません。これこそが私がこの話題を提起する理由です。
One of the most striking things about computer Shogi, from the perspective of a chess programmer, is the lack of "technical infrastructure". In chess, there are two wide-spread chess engine protocols (the XBoard and UCI protocols) for communication between a chess engine and the GUI, and almost all of the about 400 publicly available chess engines support one or both of these protocols. GUIs with support for these protocols exist for all major operating systems.
1人のチェスプログラマーの目から見て、コンピューター将棋に関して最も驚いたことのひとつは、「技術インフラ」の不足です。チェスでは、チェスエンジンとグラフィックユーザーインターフェースの間を取り持つ広く知られたプロトコルが2つ存在します(XBoard と UCI プロトコル)。そしておよそ400本の公開されて使えるようなっているチェスエンジンが、そのプロトコルの片方ないし両方をサポートしています。これらのプロトコルをサポートする GUI は、すべての主要なOS用に存在しています。
The existence and ubiqutouness of these protocols gives several benefits: It makes it much easier for the programmer to make a chess program, because he can write a simple text-mode program instead of writing a full-featured GUI app. Because the engines are running in console mode, they are usually very easy to port to different OSes. From the user perspective, it is nice to be able to run all chess engines from a single GUI, instead of having to start a new GUI every time he wants to switch to another program.
これらのプロトコルが存在し、いつでもどこでも使える様になっていることは、いくつかの利点をもたらしていいます。プログラマーがチェスプログラムを作るのは非常に簡単です。というのは、彼は、単純なテキストモードのプログラムを書けばよく、ごてごてした GUI アプリケーションを書く必要はないからです。また、チェスエンジンはコンソールモードで走るので、異なるOSにポートするのが非常にたやすいのが普通です。ユーザー側の目で見ても、すべてのチェスエンジンがひとつの GUI で動き、別のエンジンを走らせようとするたびに新しい GUIを立ち上げる必要がないのは良いことです。
The most important advantage of all, however, is that it is very easy to run automated matches and tournaments between chess engines. There is a huge crowd of enthusiasts who run tournaments and produce rating lists with all the programs. Have a look at the CCRL and CEGT ratinglists, for instance (and note in particular the immense number ofgames played with every single engine):
http://computerchess.org.uk/ccrl/404/
http://www.husvankempen.de/nunn/
しかしながら最も重要な利点は、チェスエンジン同士で自動的に試合やトーナメントを組むことが非常に簡単になることです。非常に多くの熱心な方々が、トーナメントを行い、あらゆるプログラムでレーティングリストを作成してます。ちょっと CCRL とか CEGT とかのレーティングリストをご覧になってください。(そして、とりわけ、莫大な量の試合があらゆるエンジン同士で行われていることに注目してください)
(リンク先は上記リンクと同じなので省略 - 訳者)
The big community is one of the main attractions of computer chess, and probably also the most important reason why computer chess has progressed so much in recent years. Needless to say, I would like to see something similar in computer Shogi.
大きなコミュニティがあることが、コンピューターチェスの主要な魅力のひとつであり、また、おそらく、コンピューターチェスが近年長足の進歩を遂げたことはそれなしには考えられません。いうまでもないことですが、私はコンピュータ将棋の世界でそれと類似のことが起こるのを見たいのです。
Another problem with computer Shogi seems to be that there is no really strong open source program. Of course there is GNU Shogi, but I've been told that it is rather old and no longer close to the top programs (please correct me if I am wrong). I think strong open source programs are an important resource for beginners.
コンピューター将棋のもうひとつの問題は、強いオープンソースのプログラムが見当たらないことです。もちろん、GNU Shogi というのがあります。が、GNU Shogiは、やや古く、トップのプログラムにはもはや全然及ばないと聞いています(もし間違いであれば教えてください)強いオープンソースのプログラムは、初心者にとっての重要なリソースとなると私は考えています。
My ambition is to work on these two problems. I want to design an engine communication protocol for shogi engines, and to write a strong open source shogi program (the latter goal will take some time to achieve, of course). But evidently, I cannot do this without support from the community. An engine communication protocol is worthless ifit only works with my own engine and GUI. It is necessary that asmany shogi programmers as possible add support for the protocol to their engines, and that someone is willing to do the work of writing GUIs for Windows and Linux (I'll write a Mac OS X GUI myself). Before I start programming I therefore would like to hear some opinions from the rest of you.
私の望むところは以下の2つの問題に取り組むことです。私は将棋エンジ
ンのためのエンジンコミュニケーションプロトコルを設計し、強いオープンソ
ースの将棋プログラムを書いてみたい(後者のゴールはもちろん時間がかかるでしょう)。明らかに、これはコミュニティのサポート無しには、実現できないことです。エンジンコミュニケーションプロトコルが、自分のエンジンとGUI でしか動かないとしたら、全く価値はありません。できるだけ多くの将棋プログラマーがそのプロトコルのサポートを彼らのエンジンに追加することが必要です。また、誰かが、Windows と Linux で動く GUI を書いてくれることが必要です(私自身は、Mac OS で動く GUI を書きます)。プログラミングを始める前に、皆さんから意見を伺いたいです。
My suggestion is that we use the UCI ("Universal Chess Interface")
protocol as the basis for a shogi engine protocol (USI?):
http://download.shredderchess.com/div/uci.zip
私の提案は、将棋のエンジンプロトコル(USI?)のための基礎として、UCI を
利用することです。
(リンク先は上記と同じなので省略 - 訳者)
As far as I can see, it should be possible to adapt the UCI protocol to shogi with just a handful of small changes, but beging a computer shogi beginner, I might be missing something obvious. I would appreciate if the programmers among you could have a look at the UCI specification and let me know what we should change in order to make it work for shogi.
私の見る限りでは、UCI プロトコルを将棋に適用するのは、小さな変更をちょっと積み重ねればできるはずです。しかし、コンピューター将棋の初心者なので、明らかな点を見逃しているかもしれません。皆さんのうちのプログラマーの方が UCIの仕様を見て、将棋で使える様にするための変更点を教えてくれるとありがたく思います。
最近のコメント