rewritemath's blog

rewritemath’s blog

これマシュマロ。質問も受け付ける(https://t.co/VfNWTuMqau)

コンピュータ将棋専門用語辞典【寄稿、独自解説など】(できるだけ数学抜きで解説する)

速読コンピュータ将棋用語【記事募集中】 - qhapaq’s diary

↑こちらがカパックさんの記事です。

コンピュータ将棋 レーティング

uuunuuunさんの記事

私なら違う表現をするという場合の記述ですので、基本的には補足みたいなもんだと思ってください。(段々本家より充実してきている…説明の厳密さによって分担かなぁ)

楽しんでもらえるように、茶番を含みます。ミニマリストじゃないので…

 

コンピュータ将棋開発者の方々、そしてその文化を育ててくれている方々皆さんに感謝を 

 

利用の仕方(お勧め)

  • 全部読んでもすぐ読み切れる
  • 読みたいものがあれば、ctrl+f(キーボードのショートカット)を使って検索したい文字を入れてみよう

 

floodgate

コンピュータ将棋ソフトが対局してる場所。ググると出てくる。強いソフトの棋譜を得ようと思ったらここ。まとめて一年分とかダウンロードできたりする。棋譜の管理については別のところに解説を譲る。

 

レート

強さのこと。将棋界ではイロレーティングが使われていると思ってよい。

測定の仕方は他にもある。

ソフトの場合はfloodgateのものがめやす。

個人的に、ここが一番見やすかったりするので感謝して閲覧しましょう。

コンピュータ将棋 レーティング

uuunuuunさんという方のサイトです。

 

人間と比較すると、3000以上のソフトはデスクトップのいいパソコンでは人類越えだと思っていいです。最近の上位ソフトは4000くらいあるので、人間には勝てないと思われる。人間をソフトが越えたのはいつか、というのは議論すると長くなりそう…他に譲る。将棋倶楽部24よりfloodgateの方がレートはシビアだと思われる。強さに自信がある人は、floodgateに潜ってみては?

コンピュータ将棋 レーティング

 

評価値

どちらかが、その数字分有利という目安

±150くらいまでは互角

±300で作戦勝ち

±500で有利(ミスがなければ勝ち)

±800で優勢

±1000で大優勢

±1200で勝勢

±3000で逆転不可能

(あくまでめやす)

 

Depth ~

読みの深さ。~の数字の手数まで読む。全幅探索(記事の中で説明してます)とは限らない

 

Mate~

勝敗を読み切った宣言。~のところが手数。Mate15だとしたら、どんな手を指したとしても最善で応じれば15手以内に終局があることを読み切っている。

(詰みがあるとか必死とかってことではない。連続王手で終局を長引かせても、この手数以内に収まるという宣言)

 

multiPV~

検討する手の上位~個を表示させる設定。主に、局面の検討で使用する。次善手などの分岐も検討する場合はこれを設定する。

 

Ponder=読み筋

 

Ponder hit=読み筋通り

読み筋が当たったから早指しする

 

ライブラリ

公開されていて、中身を使って改造していいよって言ってるソフト達。

(公開されていても、ライブラリに登録されていない場合は、大会などに提出するソフトに利用してはいけない)

 

チルドレン

ライブラリを使って参加したソフト達。

複数使っている場合は親が沢山いることになる

 

 

 

評価関数

局面を評価する基準となるもの。関数とは、物を入れると何か操作されて物が出てくる箱だと思ってくれればいい。コンピュータ将棋の評価関数は、局面のデータを入れると、評価値が返ってくる。人間でいえば大局観と考えていい。

仕組みのざっくりとした説明はここで

ritomath-shogi.hatenablog.com

 

 N駒関係

Nは任意の正の整数値

N駒関係とはつまり、N個の駒の位置関係が盤上にあるとき、その評価は何点、という採点をして、局面をその関係につけた点数を合わせたものとして評価するもの。これによって局面に評価値がつくことで、有利か不利かを判断し、有利な局面を選ぶように指し手を進める基準になる。

 

ボナメソ

ボナンザメソッド。Bonanzaが使った学習方法。プロの棋譜を食べさせて、一手一手次の手をソフトに答えさせる。プロと同じ手を指したらいい子いい子する。段々プロっぽい手を憶える。手筋を人間が教えたりするより、強くなった。革命。

 

二駒関係

これだけだとちょっと弱いみたい。三駒がちょうどいいのかな

 

三駒関係

ソフトちゃんが、完全に同じ局面でしか答えられないと困るので、局面を抽象化する必要がある。そこで、局面を三駒の位置関係に分解して教えた。

 

N駒+効き

効きを入れると終盤とか入玉で強くなるかも?技巧さんは効きも使ってたはず。

 

四駒関係

頑張っても、情報量が大きくなりすぎるので今のところ主流じゃない。

 

KPPT

King 王様

Piece 他の駒

Piece 他の駒

Turn 手番

 

今はこれが主流

これで分かるように、KPPは三駒関係のこと。KPは二駒。やっぱり王様は大事。

KKPの場合、二つの王様は、自分と相手の王様。

 

NN 

NeuralNetwork(ニューラルネットワーク)の略語。

人間の脳を模倣した機械学習です

 

DL

DeepLearningの略語

 

NNUE

TNKが採用する、高速に差分計算ができるニューラルネットワーク型の評価関数

ごめんなさい、難しいこと言いたかっただけです。

TNK(たぬき)はソフトの名前です。基本的にニューラルネットワークを使うと、GPUでしか高速に動かすことができないのですが、その辺りの不都合を上手く解消した天才的な発明です。(技術が高度すぎて分かりやすく説明できないので許して)

 

不利飛車

コンピュータ将棋は振り飛車しない。振り飛車は損?振り(不利)飛車って呼ばれてる

 

頑張れ(ソフトの名前)

頑張って育てたソフトには愛着が湧く。開発者と一緒に応援しよう。

 

雑巾絞り

「この局面を探索すると、将来的にはもっといい評価値が出るのよ。だから、未来は明るい。あなたはこの局面をもっと楽観視していいのよ」という感じで、局面を与えては評価して、未来の評価値を持ってきて、ということを繰り返すこと。とっても仕事量が多い。強くなるけど。絞るにつれて段々と絞れなくなってくる。

 

雑巾絞りについて、有識者の言葉

エクスカリバー最初の町で売られているけどめっちゃ高いし装備できる人は限られてる

「札束ビンタ」

「ドモホルンリンクルのように、滴ってくる(強さが上がる)」

 

elmo絞り

「我々は、未来の局面についてだけではなくて、この局面から勝利が導けるかどうかを考えます。その結果から、未来の評価値を持ってくるのです」というタイプの雑巾絞り。なんかめっちゃ強くなったみたい。

 

Rezero

elmo絞りって、評価関数がない状態からでも未来予測できるようになってるってことじゃないか!?という発想から生まれた(多分)評価関数の元として人間の棋譜を入れたり、人間の棋譜が元となっているソフトの棋譜を入れたりしなくても、ソフトが自分で強くなる。(elmoくらいまで)

人間からの独立。やねうら王の開発者、磯崎様がこれを発表して世界に衝撃が走った。あのGoogleも注目したかもしれない。やはりやねさんは天才。(ちなみに電気代…)

 

探索部

役目

  • 局面を作って、評価関数という箱に投げつける
  • 帰ってきた評価値と局面を並べて、次に投げる局面を決める(優先して読む手はどれかなぁ、ということをこの子が決める。この子によっては読みぬけとか…)
  • 次に指す手を決める

 Stockfish

チェスの探索部で、公開されているもの。参考にしているソフトが多い。

詰みルーチン

この局面が詰むかどうかしか考えないマン。でも、詰め将棋だけは素晴らしい腕前。CPUのお仕事をこの子にどんくらい割り振るかによって勝敗が決まることもある。

 

全幅探索

有効な手、考えられる手。すべてだ!全てを考えてこそ将棋の可能性に迫ることができる!という感じで全部読むよう…。読みは浅くなっちゃう。Bonanzaはこれだったけど今は、効率よく先を読む手法(Minimaxとか、下の方に…)が色々使われている。

 

モンテカルロ

専門的な内容だからこれだけで一本記事がかけてしまう

 

αβ探索とかMinimaxとか枝刈りとかrootstrapとかbootstrapとかとか

上に同じ

 

 book

定跡

 

eval 

評価関数

 

 

 

 

 

IT関係の言葉

OS

オペレーティングシステムlinux,windows,mac,android,iosなど。

OSがアプリケーションを動かす。下地といえば分かりやすいだろうか。機械と人間との対話をするために、翻訳する役目を担っている。 

 

CPU

パソコンの計算機。脳みたいな。中国語で電脳はコンピュータのことだっけ。

 

GUI

Graphical User Interface(グラフィカルユーザーインターフェース

視覚的に人間に分かりやすくするためのもの。将棋所か、将棋GUIのどちらかを使うのが一般的。

 

GPU

映像処理が得意な子。CPUの中にも少し住んでる。たまに、この子が住んでないCPUもある

 

グラボ(グラフィックボード)

GPUの親分。GPUの団体みたいな。強力なGPU。最近はやりのでーぷらーにんぐでは、CPUよりこの子が頑張る

 

コア

仕事する人。最近はマルチ(複数のって意味)コアのCPUが多いですね。沢山いると仕事が捗るけど、仕事の割り振りは大変。Xeon(じーおん)という、インテルのCPUはコアが沢山。

 

メモリ、HDD、SSD、キャッシュ、ハッシュ、64bit…etc

他に分かりやすい解説があるはずなので割愛。メモリが小さいとソフトが動かないことがあるとか、32bitだと動かないことがあるとか、割と致命的なこともあるので要望があれば記事にします

 

インテルIntel悪の枢軸) 

CPUを売る最大手の会社。Corei3,i5,i7とかいうシリーズを持つ。せろりん、セレロンCeleron)、Pentium(ぺんちあむ)とか。独占禁止法

 

AMD

安くて高性能が売りの会社。グラボも作ってるよ。スペックでIntelに勝てていなかったが、最新CPUのRyzenシリーズは破竹の勢いでIntelを追い込んでいる。頑張れ。AMDファンは熱量がある。むしろ、熱量がないとAMDを選べない程にIntelの力は強大であったと言える。

 

クラスタ

GPS将棋が東大のパソコンをたくさん使って三浦先生に勝ったのが有名。パソコンを沢山使ってみんなでお仕事すること。誰かがサボったりデータを捨てたりネットワークから居なくなったりとかとかすると途中の読み筋が消えたりするから、仕事の割り振りは大変だよ。

 

thread(スレッド)

お仕事してる人(擬人化)の数。コアが分身して、コアよりスレッドが多くなることもあります

 

拡張子

ファイルの最後についてる、.exe(実行するもの).kif棋譜データ).csa(違うタイプの棋譜データ)など。この部分を書き換えると色々まずいのであんまり推奨しない。

ちなみに、.kifとか.csaのファイルを右クリック→プログラムから開く→メモ帳とすると、文字で棋譜を見れる。このテクは覚えておいて損はないかも。

 

.NET(現在では殆ど.NET Frameworkのことを指す。読みは一般に、ドットネット)

コンピュータが使う七つ道具みたいな詰め合わせだと思ってくれると分かりやすいと思う。これが古い(又は、古いソフトを動かすのに道具が新しすぎる)とソフトが動かないことがある。

 

margin(マージン)

余白のこと。時間切れにならないように、手を少し早く出力する設定をするときもある。

 

.db

拡張子の一つ、データベース。単にデータベースとだけ言う場合は、整理された情報の集まりのことを指す。特にコンピュータ将棋の時は主に定跡で使われる。

 

エラーメッセージ

出たらとりあえずググろう。英語なら訳そう。

 

システム

しすてむ。ものを構成する仕組みの全体

システム - Wikipedia

 

互換性

システムの部品の一部を入れ替えても、動作する状態のことを、互換性があるという。

特に、部品Aと部品Bを置き換えることができる時、互換性があるという。

 

処理

計算すること、お仕事すること。CPUは社畜さん。

 

電気代

CPUはお仕事する時に電気を食べます。おっきい仕事だと一杯食べます。将棋ソフト開発者さんは、大食漢のCPU(値段高い)を買ってきて、沢山乗るお皿とかまな板とか冷蔵庫を買ってきて(メモリ、HDD、SSD。高い)お仕事してもらってます。

家賃より高いこともあるとか。

やねさんは赤字と日々戦っている

 

暖房

沢山仕事したCPUやGPUは熱を持ちます。冷やさないといけません。冬は暖房代わりになります。夏は冷房をガンガンかけないとCPU達も夏バテします。

 

団体とか大会とか

CSA

Computer Shogi Association。コンピュータ将棋協会

 

SDT

Shogi Denou Tournament。将棋電王トーナメントドワンゴ主催、コンピュータのスペックは固定。トーナメント方式は決勝リーグだけ。

 

WCSC

World Computer Shogi Championship

世界コンピュータ将棋選手権。PCのスペック制限なし。クラスタと金の力がものをいう…

 

追記予定アル

加筆するかもしれないワード

次元下げ、rootstrap、やきなまし、線形、嵌め手、ルーチン、GUI、回帰、キメラ、高速化とか枝刈り、Githubフリーソフト、ライセンス、教師、強化学習、時間攻め、局所解、サチる、発散、まふ定跡、ベンチマークUbuntu、Bitboard、AVX、64bit、バイナリ、ソースコードオープンソース、Stockfish、合法手、合議、αβ、MiniMax、ゲーム木、過学習、bitboad

 

and more...?難しい用語専用の上級者向け解説記事を執筆する予定があるかも…?