rewritemath's blog

rewritemath’s blog

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

人間で発電してみよう!

人間そもそものカロリー消費
平均して人間は1日2000kcalの食事を摂取する事が推奨されています。これを消費して幾らの熱を発生させることができるかというと、

1cal=4.184Jより
2000kcal=8368000Jです

100Wの電球を1秒点灯させると100J発生しますから、これを元にどのくらいの電力なのか計算します

1日の秒数は86400秒
1日つけっぱなしだと86400×100=8640000J

まぁ大体一緒くらいって事にしときましょう。

では、電気代だとどのくらいなのか計算します

面倒なので中部電力が計算してくれたやつを貼ります

100Wの電球を1日中つけっぱなしにすると電気料金はいくらくらいになるのですか?

ご回答

100Wの電球を1時間使用すると
100(W)×1時間(h)=100Wh
24時間使用すると
100W×24(h)=2,400Wh=2.4kWh(キロワットアワー)
これを電気料金に換算すると
2.4kWh×27円97銭=67.13円(税込)となります。

67.13円!

つまり、1日の食費を人間に渡して最高効率で発電してもらうと、67.13円分発電できるってことです

ちなみに、これ、人間が生きていくのに必要な熱量を計算してないので、これ全部電気にしたら人は死にますけどね…

 

まぁそんなこんなで、あまりに効率が悪いからやらない!ってのが結論です

 

 

結論

食べ物で発電するのは効率が悪いよ!

ソフト指しと将棋指し

ソフト指し。将棋ソフトは既に人間より強い。スマホにも勝てない。計算機とソフトウェアの進歩の結果である。ゆえに、代理指しは一人でできるようになった。(以後、ソフト指しをするプレイヤーもソフト指しと呼ぶ)。

ソフトが人より強くなった今、ソフトに勝てないことはソフト指しに勝てないことを意味する。

 

今回は3つのテーマでソフト指しについて考えていきます。

 

第一部

なぜ人はソフト指しをするのか、なぜソフト指しは無くならないか(摘発が増えているように見えるが、ソフト指しと対局した話を聞かなくなる日は来ていない)

 

第二部

ソフト指しは何が問題なのか

 

第三部

ソフト指しに対してプラットフォームが取れる解決策は何か

 

注意

これは、ソフト指しへの批判でも、ソフト指しの摘発に対する批判でも、ソフト指しが居なくならないことへの文句でも、プラットフォームへの苦情でもありません。問題がそこにあるとき、文句に言うことは解決に繋がりません。問題を引き起こしている要因を考えることが問題の解決への着実な一歩と考えます。それを理解の上でお読み下さい。ただし、よりよい解決策の提案や、議論への建設的な意見などは歓迎です。

 

開始

 

第一部

何故人は、ソフト指しをするのか

ソフト指しをする人の目的は?

仮説

  1. 負けによるストレス
  2. 承認欲求(実力を詐称する目的)
  3. ソフトのテスト運用
  4. 棋譜収集

 

1

負けることはストレスである。勝つことは心地よい。基本的に、自分の実力と同等程度の人間と指し続けていれば半分は勝てるし半分負ける。しかし、負けが続くと人はストレスを感じ、ストレスに対処するためにソフト指しに手をつける。

 

2

承認欲求を得るために将棋をプレイしているとか、将棋の強さ(客観的な評価)を自分の価値とか思っている人からすれば、実力が伸びない時にはソフトに頼ることで自分は強いということを示し、他人から褒めてもらうと喜ぶ

 

3

ソフトのテスト運用。ソフト同士で対局を続けさせるだけでは見つからないソフトの欠点が、人間(多様なプレイヤーの集団がいる環境)によって見つかることがあると期待する。floodgateや24でのソフト(電脳の称号)の運用として行われている。

 

4

棋譜収集。ソフトと人間が対局するのを観戦し、人間が直感的に間違えやすい局面を探して、自分の研究としてストックする。この研究の方法は、ある種のハメ手の探索のようなものだ。アンチコンピュータ戦略があるように、アンチ人間戦略もありうる。ただし、研究が有名になればその研究の価値は低くなる。

 

なぜソフト指しは無くならないのか

人間の行動原理は簡単である。

「メリットがデメリットを上回ると思ったら実行する」

ちなみに、自分が許せないとか、自分の信念があるからメリットを顧みないとかいう班論が予想される。対して私の意見はこうだ。「自分が道徳的ではなくなると思うのはつらいのでデメリットだ」

ゆえに、対策というものは個人の道徳観念に依らない対策が求められるということである。(それでは自分で自分にデメリットを課しているではないかと思うかもしれないが、それだけではない。自分が道徳的であることで自己肯定感を高めたり、他者からよく見られたりする。不道徳は他者から嫌われたり制裁を受ける可能性もある。)また、自己救済の禁止の原則はインターネット上のプラットフォームでも適応してよいだろう。詳しくは第三部で話す。

 

第二部

ソフト指しが生み出す問題を整理する

ソフト指しをめぐる問題、つまり、ソフト指しが結果として他者に不利益や不快感を与えることについて考える。

 

  1. 負けること
  2. レート算出コストの増加、レート差マッチ
  3. ソフト指しプレイヤーが実力を詐称する(嘘をつくという不道徳)
  4. 人間と対局したかったがソフトと対局することになるというストレス
  5. マナーが守れない、ルールが守れない人間を見たという不快感

 

 

1.負けること

説明不要

 

2.レートの算出コスト

将棋に関わらず、対戦ゲームにはレートという、プレイヤーの実力を数値で表すシステムが導入されていることも多い。この時、レートの算出をすることで、同レベル帯の人間同士で戦うようにマッチングすることができるようになる。(強い人とばかり戦って負けが続くとストレスになるし、弱い人とばかり戦って勝ってもあまり価値を感じないかもしれない)

そして、そのレートの算出のコストというのは、レートが定まっていない相手と戦って、「この人はこのくらいの強さの人に勝率がどの程度です」というデータを集めることだ。一般的に、レートが定まっていない相手との対戦は、「レート差がある対戦を発生させる」これは、ストレスになりうる。

また、ソフト指しはBANされたり対局が制限されると再びアカウントを作り直してもう一度ソフト指しに手を染める場合も考えられる。アカウントの再取得というのは、レートの算出コスト(結果的にはユーザーのストレスのこと)を増大させる。

レートの算出コストと同じように、既に存在する人がソフト指しをすることでレート差マッチを引き起こすこともある。これは代理指しによる不快感と同じ意味である。

 

3.

不道徳

実力を詐称する、つまり嘘をつく人が出てきて、そしてそれが嘘だと分かりにくくなるという問題がある。これについては、ソフト指しをすることによる問題と言うには少し趣旨がずれているので、割愛させたいただく(検討した方がよいと考える人はコメントなどで教えてほしい)

 

4

人と対局したかったがソフトと対局することになるストレス。私はよく分からないが、時間の使い方としてソフトが相手だと急かされる印象が強く、これはストレスである。(私以外の意見を是非聞きたい)ソフト指しだけの問題ではないように思う。私は、Botが早指しだとイライラするのでBotくんにも少し時間を使ってほしいと思います。

また、対人と対ソフトでは微妙に指し手の選び方や時間の使い方に差があり、「大会などで人間に勝つための練習として対戦しよう」と思ってソフトと当たると、微妙に感覚がずれる(ただ、調整などしていないで実力をつけるようにすればそっちの方が勝てるという指摘には同意する他ない)

 

5.

マナーが守れない、ルールが守れない人を見た不快感

対策のしようがない

 

第二部までで長くなったので、第三部は後に執筆する。しばし待たれよ

加速するシンギュラリティ(マッハ新書にしようと思ったけど結局公開する)

皆、シンギュラリティを加速してる?私は…これからもっと頑張るよ!

 

対象読者

シンギュラリティを加速したいけどどうすればいいか分からない人、シンギュラリティを加速するってのはどういうことか分からない人、それから、世界が情報過多って人。

 

これを読んで参考にしてくれたらうれしい。感想や意見はこちらへどうぞ。マシュマロに投げてくれてもコメントしてくれても、どれでもいい。ツイートで拡散してくれても…とにかく反応は大歓迎。気に入った人はAmazonほしいものリストからお布施してくれてもいい。(作者がめっちゃ喜びます)

ritomath (@ritomath01_05) | Twitter

 

それではどうぞ。

 


加速するシンギュラリティ
 著者 ritomath

前書き
シンギュラリティと聞くと大層なものだと身構えたくなる人も多いだろう。社会で今何が起きているのか、把握しきれなくなっている人が多いはずだ。私も全ては把握できない。すべて把握できている人などいないはずだ。にもかかわらず、未来学者を名乗る人種は、なぜ今のことを飛び越えて未来を語るのか。未来の予測はできないとか、曖昧に言葉を濁して考えを放棄する者もいる。私が筆を執ったのは、世界で起きていることの大筋をどのように解釈すればいいかについて、皆の助けになれたらという思いからである。
シンギュラリティこと、技術的特異点という思想について、あまりに情報が多すぎる。重要なのは木の幹や根っこの部分である。枝葉末節は文字通り、後から知識をつければよい。まずは知識の幹となる部分の解釈を得ることで、これから読者が得る情報が、シンギュラリティという解釈を通すことで脳内で整理されやすくなるようにするのが本書の目的である。最後まで付き合ってくれる読者の方には感謝の気持ちとともに、この先の未来を変えていく同志として応援も送りたい。
スペシャルサンクス
この本を書くきっかけを作ってくださった皆様。バーチャルな界隈の皆様。特に、秘密結社シンギュラリティの時計の皆様には特別の感謝を。

1.技術の本質
シンギュラリティとは何か。技術的特異点と言われている。これはどういった過程を経て到達する状態なのかを、過去を振り返りながら考えよう。
どこまで遡るか。まずは控えめに、人類が技術を手に入れたところから話をしたい。
技術とは何か、そして何故大切なのか。テクニック、テクノロジーといった言葉を思い返してもらえれば少しは明瞭になるだろう。これは、便利をもたらすものであり、
「不自由を解消するもの」
である
ここでポイントとして述べておきたいのは、不自由は目に見えないことが多いというところである。例えば、我々が電気による照明の類を持たなかったころは、火が明かりであった。これは、今の我々からすればあまりに不便である。大量の燃料を必要とするし、火事も心配だ。だが、電気の存在が知られていなかったころはこれは、特に不便さを意識されなかったはずである。例えば未来の人間が、「天候も管理できないなんて…雨の日は傘をささなくてはいけないとは、当時の人は随分と不便だったんだな」と言ったとしても我々にはピンとこないだろう。確かに不便さは感じているが、これを当たり前のものとして受け入れている。
どんな時に不便さを感じますか?と聞かれて、「雨が降っているとき」と答えられる者は多くないはずだ。
さて、話を脱線させないように戻す。まとめると、

不便さは目に見えにくい。
技術は不便を解消する

ということである。我々は狩猟採集による不便さを解消して安定的に作物を供給し、子孫を増やすことを可能にし、定住し、外敵の存在から逃れた。全ては技術によって成し遂げられた。ここでもう一つポイントだ。

技術は、暇人が作る

暇人というと言葉は悪いが、食料や住む場所に困っていたら、技術を生み出す時間を確保するのは極めて難しい。食料が安定している地域に住んでこそ、技術を開発する余裕があるのだ。農耕民族の方が安定して食料を確保できるからこそ、生活に生まれた余裕は技術の開発に向けられる。また、食料の安定は技術者階層(専門家)の育成を可能にする。これは、余剰作物が発生することで、農業に参加せずとも食べていける者が出てくるからだ。他の民族との争いや戦争は、当然高度な軍備を備える側が強い。食料の確保に全人口を使わないといけないようであれば、食料を気にせず技術開発に取り組める人を有する集団に対して不利だ。無論、人口が多い方が有利に働くことは多い。人口を支えられる構造の社会であれば、という話だが。
他の社会集団に対して有利な社会集団は、生き残る。長い目で見れば、農耕民に土地を占拠されたり争いに負けたりすることで、狩猟採集民は住む場所を失って数を減らしていった。


2.技術と生存
我々シンギュラリタリアンの仲間には、怪しい言説をする者が確かに多い。例えば有名なカーツワイル。「パラダイムシフトが起こるまでの時間は加速している」などと述べている。パラダイムシフトの定義もせずにである。生物が登場してから人類が登場するまでにどれほどのパラダイムシフトが起きたことか。定義できたとして、それを全て数えるなど不可能だろう。前の章で技術は不便を解消するといった。更に言えば、不便は当然生物を殺すこともある。極端な話をすれば、不便をそのままにした生物は、滅びる運命をたどるかもしれない。すくなくとも、不便を解消した者達よりは生き残りにくい。
歴史は時代が進むにつれて情報量が大きくなるので話題にするのは難しいが、世界で土地の奪い合いが起きた時に有利なのは、当然技術的に優れた国家だろう。これは過去の歴史が物語ってくれていると思う。
我々の生きる現代にこれを照らしてみると、日本という国はあまりいい状況にないことがわかる。無論、欧州やアメリカも一定程度不安要素を抱えている。しかし中でも日本は危険だ。科学技術に投資する金額は年々減っているし、その結果世界に影響を与える論文の数も減っている。研究者の間ではそれは共通の認識であると思う。これは、結果として今後何をもたらすだろうか。おそらく、日本の抱える不便は海外のそれと比べて相対的に多くなり、世界に置いて行かれることだろう。技術で置いていかれた集団のめぐる運命は先に述べた通りである。今は経済という形で戦争が起こっているが、日本が経済や軍事の面で弱くなった時、中国から侵略されるかもしれないという恐ろしさは常に、抱えていてほしい。技術の発展を抑制するような措置はもってのほかである。一国がそういう措置に走ったら、他国に研究者が流れてそこで技術が発展するだけだ。今は言語の壁が存在することでなんとか耐えているが、仮に言語の壁がなくなればどうなるか。地方都市と東京圏の関係を見ればある程度危機感は理解いただけるだろうか。それが世界の縮図になる可能性がある。技術の発展は止まらない。時には技術の発展や普及を止める人間が居るかもしれないが、彼らはその結果生まれる不便さによって淘汰される運命である。また、新しい技術に対して嫌悪感を抱く者もいるだろう。しかしそういう人間も、いずれ死ぬ。生まれた時から当たり前に存在するような便利なものを放り投げて、不便な生活を求める者はほとんどいない。テレビっ子はよくない、と言われた時代があった。そんな話はもう聞かない。ゲームは脳を駄目にするということをいう人がいた。ゲームは世界に残った。スマホは駄目だ、という人もいる。自動運転は駄目だという人もいる。どうなるだろうか。計算を仕事にしていた人がいた。計算機が普及した現在、計算を仕事にしていた時代に戻って職業を復活させる動きはあるだろうか。
繰り返す。技術発展は止まらない。
おいて行かれないように生きよう。
そして、技術を味方につける者は強い。


3.シンギュラリティと、前シンギュラリティ
私は以前から、前シンギュラリティを提唱してきた。

シンギュラリティは汎用人工知能が出てくることでその先の技術が加速する未来を考えている。

しかし、シンギュラリティ以前から、

先に述べた通り、「技術の発展は人を不便から解放する」、「暇人が技術を作る」、「技術の発展は止まらない」のである。前シンギュラリティは、技術の発展がずっと加速しているという思想と関係が深い。技術は今までも人の不便を解消してきた。不便が解消されると、その分人は暇になる。暇になると、技術を作る時間ができる。人口の増加と技術の発展により、人類の歴史の中で、人類全体の暇な時間は増加してきた。これからもそれは続くだろう。シンギュラリティは急激に訪れるかのように考えられているかもしれないが、今もシンギュラリティの途上であると言えるのではないだろうか。汎用人工知能が出現した先も、汎用人工知能の数が増えたり計算速度が増したりすることで、段々と汎用人工知能の暇な時間は伸びていく。指数関数に特異点は存在しない。今この瞬間も、シンギュラリティの時計は加速しているのだ。


4.何がシンギュラリティを加速させるか


これは本質的な話から少しずれてしまうように思われるかもしれないが、しかし大切なところである。詳細な技術たる枝葉末節は各自で調べていただいて、やはりここでは確実に重要な幹の部分を話す。技術発展とその加速は、三つの段階で進む。
「基礎が整備される」
「自動化と効率化がされる」
「自動化と効率化によって生まれた余剰を再投資する」
まず基礎の整備だが、人間の場合は死なない環境に居ることが大切である。自動化や効率化に専念できるように、それを制約する部分をなくしていくところがここに当たる。法的な制約、必要な資源や電力の制約、食料の制約などである。しかしここは一旦システム全体が整備されて動き出せば、後は問題ない。効率化や自動化の対象として、そのシステムは維持される。農業の効率化は、技術者の職を支え、技術者はさらに農業を効率化する。そうしたサイクルが生まれるからだ。これは、投機的な実行という意味でも大切なところである。余剰を投資すれば失敗してもなんとかなるが、余剰なく投資すれば、残る借金に苦しめられて終わりだ。基礎の整備は見落とされがちであるが、重要な部分である。
次に、自動化と効率化が成される。ここについては説明するまでもないと思う。まずは自動化する。これによって、他の自動化や効率化作業に取り掛かれる。まず最初に自動化するというのは、ある意味では基礎を固める部分である。自動化がなぜ優先されるかと言えば、理由は簡単だ。職人の後継者不足によって技術が途絶えるというような部分を危惧している。自動化は言い換えれば、システム化と言ってもいい。ノウハウを残すのだ。研究であれば、教科書を作ることで後継が自動的に生まれてくるようにするなどである。一度自動化に成功したら、次は効率化に取り掛かれる。自動化は効率が悪くてもいいのだ。これから効率がよくなるのだから。人より計算が遅いからといって計算機を作るのをやめたりしたら、今日のコンピュータは存在しなかっただろう。効率がわるいなら、これから改善すればよいのである。
最後に、効率化が済むと、人の手はほとんどいらなくなる。今まで行っていたことが減り、時間に余裕ができる。すると、次の自動化や効率化にむけてそれを使うことができる。

では、シンギュラリティに向かって世界が進んでいるとして、ここからさらにこの動きを加速させるにはどうすればよいのだろうか。ここまで読み進めてくれた読者の中には、もう答えが出ている優秀な読者もいるかもしれない。
「人類の暇な時間の総量を増やそう」
これに尽きる。暇な時間を生むには、どうすればいい?
発展途上国の抱える膨大な人口が直面する病気や飢餓、水不足の解消は、人類の暇な時間をどれだけ増やすだろうか。
人間は体を洗うのにまだ手を使っている。汗を流すのにどれだけ時間をかけているだろうか。
不健康で、寝不足で、仕事の効率が上がらない?何ができるだろうか。
健康のために栄養バランスのいい食事を考える?もっと短い時間で健康的な食事はとれないか?食材をいちいち買いに行くのか?食器を人の手で洗うのか?
人間はこの先もずっと、洗濯物を自分で畳むのか?
教育は、分かる人はもっと早く、分からない人にも丁寧に、個人に合わせた教育ができたら、子供はどれほど時間を得るだろう?遊べる時間が増えたらストレスも減るだろう。勉強が楽しくなるかもしれない。
身体に障害がある?なるほど。目があまりに悪い人は眼鏡によってどれだけ生産性を手にしているだろうか?では義手は?義足は?もっといい手段はないか?
物を運ぶ?分別する?画像認識でできないか?
電気はもっと安くならないか?バスは効率よく運用できないか?

シンギュラリティを加速させることのできるテーマは無数にある。誰もが世界に参加できる可能性を秘めているのだ。


5.今、人工知能の世界で起きていること
人工知能。それは人類の夢の一つだ。
永久機関は無限のエネルギーを生むとされて研究された。素晴らしい夢であり理想だった。研究の結果、存在しないことがわかってしまったけれど。
しかし人工知能は実現が可能である。これは、人間は原子が集まって出来ていることを理由にできる。人間は今日と昨日では全く違う原子でできている。毎日食べたものは取り込まれ、排せつによって入れ替わる。それでも思考ができる。70億以上の人類がこの世界には存在している。それらは全て違うパターンでできているし、いままで生まれてきた人物、これから生まれてくる人物もそうだ。今の君と三秒後の君は原子の並びがちがうはずだが、君が三秒後から来た君と入れ替わったとしてもきっと、同じ君として何一つ問題なく生きていけるだろう。これほど思考とは自由なのである。では、仮に原子レベルの動きをシミュレーションできるコンピュータが存在したら、それは人の思考をできるだろうか。出来ないはずがないだろう。ここまで聞いてできないと思う人はいない。
さて、では現在、汎用人工知能はどこまで来ているのか。気になるところだと思うが、まずは汎用人工知能の存在意義から説明していこう。汎用人工知能は、人と同じかそれ以上のレベルの思考が可能であると考えられる。君が隣にいる友人に、自分の仕事を任せるとしよう。その友人以上の働きをしてくれる物があったらどうか?これは、きっと君の暇な時間を多く生み出すだろう。そして、人類全体に多くの暇な時間をもたらすだろう。そして彼ら人工知能の暇な時間もまた、技術を生み出す。こうして人類は暇な時間をさらに取得していく。結果として技術はどんどん発展していく。
機械は自動化のツールとして、もっとも象徴的な存在だ。計算の自動化、人間の動きの自動化、人間が考えることの補助、とにかくなんでも、できるところから自動化が進んでいる。
では、現在流行っている人工知能は、つまりいわゆる深層学習(Deeplearning)は、どの段階にあるのかを少し話して、この著書の終わりとしたいと思う。
今までの人工知能は、与えるデータが基本的にすべて意味を持っていた。数値化してあって、そしておそらくそのデータは求める数値と関係がある。そんな関係性の中から、統計を用いて計算式が模索され、それが使われた。しかし深層学習のすごいところは、関係ないデータまでひっくるめて全部渡してしまってもなんとかなるし、しかも意味のないデータを渡しても大丈夫になったというところだ。そしてやはり一番のポイントは、画像認識が上手くなったというところだろう。今までのコンピュータには目が無かったが、深層学習によって人工知能は目を手に入れた。目があれば、今まで手探りだったり物がある場所を教えてもらってそこに手を出していたロボットも、どこに何があるのかを把握してアームを伸ばせるようになったということなのだ。これがどれほどの進歩であるか、そしてこの技術はどこまでのことができるのか。ここはこれからの時代が示してくれることとなるだろう。自動化は止まらない。技術の進歩は止まらない。効率化は止まらない。
君は、どうやって世界を加速させるのか。

2018春、将棋ソフト情報表(仮)

フリー将棋ソフト最強はどれだ!?(2018春)

 

少し話をここでしておきますと、評価関数の型で現在主力なのは、KPPT型というものです

太字について分からない方や詳しく知りたい方はこちらの記事にどうぞ

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

 

なんか、検索エンジン最適化の関係でこの記事の方が人を呼ぶみたいなんですが、「もっとスリムな情報がほしい」、「解説は分かってるからいらない」みたいな人向けのやつもあるんで、その場合はこっちで

http://ritomath-shogi.hatenablog.com/entry/2018/05/30/094742

 

 

そして、現在確認されている将棋ソフトの強さ順で、記事公開現在、上からこうなります。尚、今年の5月頭に発表された最新バージョンです。

 

QQR(カパックとクジラちゃんの融合)

妖怪惑星Qhapaq(ようかいわくせい-カパック)

くじらちゃん

Apery

TNK(たぬき、NNUEとも呼ばれる)

elmo

名人コブラ

説明がややこしいので省略

HoneyWaffle

 

 

番外

Novice(HoneyWaffleより強い?)

野生のTNK(tttakさんが作成した。データ不足だが現在最強は実はこれかもしれない)

 

 

各ソフトを少し解説

 

QQR

キメラ。

現在最強の称号はこのソフトが持っている。

 

Qhapaq

QQRにも使われている。強豪ソフトであったが、大会では成績が振るわない下積み時代を長く経験している。

 

くじらちゃん

WCSCで活躍した、大合神くじらちゃんのクラスタの一部。単体でも強い。

 

Apery

強豪。優勝経験もある。将棋ソフト界でオープンソースの波を作った立役者。

 

TNK

凄腕プログラマの技術の粋が詰まっている。新型のNNUE評価関数を実装。ニューラルネットワークを使いながらCPUでの計算に最適化している。

 

elmo

昨年のWCSC優勝ソフト。Ponanzaを破って優勝した華やかさと、その直後に全てを公開し、将棋ソフト界に衝撃が走った。しかし、今年は昨年のelmoより強いソフトを持ってきていながら、WCSC決勝(ベスト8)に進むことができず。この世界は進化が早すぎる。

 

名人コブラ

流行りのキメラの最先端(?)数多くのパーツを混ぜて混ぜて作り上げられたソフト。真綿で絞殺すような棋風らしい。

 

HoneyWaffle

居飛車しか居ないコンピュータ将棋界で、数少ない振り飛車を使う者。

 

Novice

既に新米ではなくベテランなのではないかと思わせる。今大会成長が一番見られたソフトだと思っている。

 

ttak/NNUE(野生のたぬき)

最強??未知数。振り飛車バージョンもあるので、少なくとも、振り飛車界最強はこれで間違いないと思う

 

 

 

 ここで紹介したソフトは、フリーでレートの高いソフトの上位です。探索部による強弱は一旦抜きにして話していますので、若干正確性は劣りますが。

WCSCでの成績順はこちら

f:id:rewritemath:20180529234749p:plain

http://www2.computer-shogi.org/wcsc28/

1.たぬき(NNUE)

2.Hefeweizen(KPPT型であり、現在将棋倶楽部24で対局が可能。公開されていない)

3.Apery(KPPT型。公開されていて利用可能)

4.PAL(未公開)

5.くじらちゃん(KPPT型、ソフト名Godwhale、公開されている)

6.名人コブラ(KPPT型。公開されていて利用可能)

7.妖怪惑星Qhapaq(KPPT型。公開されていて利用可能)

8.HoneyWaffle(KPPT型。公開されていて利用可能)

 

なぜこれほどまでにKPPT型について記述するかといえば、KPPT型の評価関数は基本的に同じ方法を使えば利用できるからです。という訳で記事を書きます

 

フリー将棋ソフト最強の使い方!~KPPT型評価関数群利用の手引き~(執筆中)

 

たぬき、野生のたぬきはKPPT型ではないので、それについては別記します

 

 

キメラ評価関数は局所解や過学習を是正するから強いのだと思います

キメラ評価関数、局所解、過学習とは何なのかそれぞれ説明しますね。

 

キメラ評価関数というのは、三駒関係の同じ型でのみ使えるキメラコマンドを使った、評価関数を合成することによって生まれた評価関数です。

 

何を言っているのか分からない人のために追加解説します

キメラというのは、合成生物のことを一般的にそう呼びます。鳥の羽が生えた蛇が有名でしょうか。ギリシア神話に登場する生物の「キマイラ」に由来する言葉で、ライオンの頭と山羊の胴体、毒蛇の尻尾を持つらしいです(wikiより)

伝説上の生物がキマイラになるという話は結構ありまして、色々くっつけてミイラとして化け物が展示されている場合もあります。日本では獏(貘)(バク)が有名でしょうか。

コンピュータ将棋では、生き物の名前をソフトにつけることがなぜかそこそこ多く、大合神くじらちゃん(Qzillaの名前のバージョンはゴジラ意識?他にも、魔女)、Apery(猿真似)、tanuki(表記ブレが激しい。ハクビシンの名前だった時も)、Qhapaq(通称、河童?)などが居ます。(追記、名人コブラ

人名も含めますと、nozomi、なのは、もそうですね

(人間も動物だぞ!神格化して分けるんじゃない!(`~´))

 

評価関数の合成というのは三駒関係の少し細かい話になるのですが、三駒関係では、三駒の関係に点数が付いていますね。その点数を複数の評価関数で比べて、点数の間を取るという訳です。この手法を極端なほどに使っているソフトがWCSC28にいましたね。名人コブラっていうんですけど。あ、こいつも生き物だ。もしかしてこの蛇には羽が生えているのかもしれませんね。

ところでこのキメラ評価関数、素人でも簡単に独自の強い評価関数が作れてしまうのです。混ぜると強くなることが多いみたいなので。

 

配合する割合も自分で決めることができますし、混ぜたものをさらに混ぜることもできるという優れもの。ただし、混ぜることができるのはKPPT型の評価関数だけ(多分)です。混ぜることができて、強くなる(可能性が高い)評価関数の一覧を挙げますと、

 

クジラ、河童、猿、読み太、rezero、elmo、コブラ辺りでしょうか。漏れもあるでしょうけれど。

 

WCSC28直前の話ではApery-Qhapaqの合成関数が強いと話題になりましたね。

 

キメラの話を長々としたところで、局所解の話に移ります。

まず、局所解とは何かという話をすると、最速降下法でローカルミニマムに陥りやすいとかなんとかいう声が聞こえてきそうですね。

簡単に言うと、「狭い範囲では最適解なんだけどそこに最適解があると思ってしまって遠いところにある最適解を見つけられなくなってる状態。」です。

過学習というのも似ていて、「同じようなことばっかりしていたらそのことをするのは得意になったけど他のことができなくなっちゃった状態」です。

 

局所解の簡単な例を挙げると、

水がほしいとします。水のある場所を探します。湖を見つけます。

「近くに湖がある!ここが我々の求めていた場所だ!」

↑これが局所解です。湖を見つけた途端、探索をやめてしまうのです。もっと探せば遠くに海があるのに。一応探すつもりで近場を見て回りますが、水のある場所がなかったらずっとそこにとどまり続けてしまうでしょう。この状態が、局所解に陥っている状態です。

 

過学習の例を挙げます。

普段に日曜大工でのこぎりをよく使う人がいます。のこぎりをよく使うので、のこぎりは木を切るのに素晴らしい道具だと思っています。ある日木材を調達するために木を伐りに出かけました。本当は斧を使った方がいいのに、同じ木だからと言ってのこぎりを頑なに使います。効率の悪いことといったら!これが過学習です。

 

 

将棋ソフトも同じように、局面を学習する時に自己対戦だと、好みの戦形を選んでしまいがちです。このままでは、他の戦形のことを知らないままになってしまいます。定跡を与えても好きな形に戻そうとしたりと頑なです。これをなんとかするために、ランダムムーブ(ランダムに駒を動かしてその状態を使って教師局面を作る)を加えたりするわけですが、それでもソフトに癖は出てきてしまいます。また、探索の段階で枝刈りをしたり(学習させるためには沢山局面が必要なので、探索は浅くなりがち。)すると、局所解に陥りやすくなりますね。

 

これを解消したら強くなると思いませんか?そう。きっと強くなる。どうやればいいのかというと、キメラという話になるわけです。別の評価関数は、別の戦形ばっかり指しているかもしれません。情報を交換しましょう。混ぜましょう。遠くに海があることを知っているかもしれません。

 

とまぁ、キメラ関数が強くなるのはこういう理由からではないかという仮説、理屈の話でした。

 

 

ここから雑談

もう少しだけ話すと、実は居飛車ばっかり採用されているのは、プロ棋士居飛車党うが多い)の棋譜ばっかり使っているからでは?

とか、振り飛車は対局が長くなるから評価値の推移がゆっくりになるので、近場の湖である居飛車に飛びつきがちなのでは?

とか色々推測できますね。答えは知りません。完全解明できたらとか、人間の棋譜がない状態から学習させたソフトなら?とか色々憶測はできますけどね。

 

私の意見としては、結局人間も居飛車の方が勝ちやすいんじゃないの?(定跡を覚える量が少ないという意味では振り飛車にも有利はあるけど。しかも知ってる人が少ないというアドバンテージもあるかも)

しかも、居飛車をする人の方が多かったら、研究がより進むのは居飛車の側に決まってるやん。

将棋が長くなるのはできるだけ避けた方(振り飛車は避けた方が)が勝ちやすいのでは?(異常に早い場合は研究勝負になっちゃうけど)

 

 

と思っています。不利飛車がなくなると将棋の自由度が制限されて面白くなくなる部分もあるかもしれませんが、そういう宿命はゲームにはつきものですしね。最適解以外は淘汰されていくのです。

最善かどうかは分からないしおそらく勝ちにくいけど、振り飛車も戦法選択の自由のために頑張ってほしいですね。

たぬきの第28回コンピュータ選手権(略称WCSC28)バージョンの使い方

導入方法を伝えるまでもなく、評価関数とバイナリと定跡がセットで配布されているので、誰にでもすぐに使用できるようになっている。

『the end of genesis T.N.K.evolution turbo type D』(tanuki- 第28回世界コンピュータ将棋選手権バージョン)のバイナリ・評価関数ファイル・定跡データベースです。

 (リンク先から引用)

リンクはこちらhttps://github.com/nodchip/tanuki-/releases/tag/wcsc28

f:id:rewritemath:20180508133815p:plain

 

一番上のものをクリックするとダウンロードが始まります。

↓分からない人は気にしなくてもよい

(評価関数がいままでのものと違うので、とても軽量です。また、探索部は同封されているものでしか動きません)

 

解凍すると中身は以下画像のようになります。解凍が上手くいかない場合はこちらの解凍ソフトをお勧めします

ダブルクリックだけで圧縮ファイルを解凍できるソフト「Lhaplus」 - Windowsにまず入れる定番無料アプリ -2018年版- - 窓の杜

f:id:rewritemath:20180508134136p:plain

SSEとAVX版があるので、ご利用のパソコンに合わせてお選びください。

古いものから順に、

sse2,sse41,sse42,avx2となっています。

tournamentやevallearnの名前のexeは使わない方が多いでしょうから、

新しいほど動作は早いはずです。新しいcpuなら古いものでも動かせます。

 

エンジン登録をすれば動作します。

将棋所はこちらから。エンジン管理の説明を参照していただければ。

将棋所:将棋所の使い方