将棋ソフトの構造をもう少し掘り下げてみたい

 こんにちは!カーメンこと宮澤郷介です!ミニ四駆とファミコンで育ちました!

 最近まで分子生物学の本を読んでいたわけですが、その前には小学館の植物ポケット図鑑を手に、庭の小道や公園の草を見て「んー、載ってないなぁ」と思うなどして、まあ略歴としてはコンピュータ技師なのですが、資源を使う側として昨今の原油高はもう何十年も前から「いずれそうなる」ということが分かっていた課題で、俺が何故そんな事をというと、社会問題が新書になって書店に並びサラリーマンをしながら社会問題には触れていたからです。

 んでまあCO2というと真っ先に浮かんだのは光合成。環境保持とか自然を愛するとかではなくとも、来るべき気候変動時代に先駆けて植物は研究するべきではないかと思ったものの、まあ当時は素人で「よく伸びて食えるもんが成る木スーパーウッドを遺伝子改造で作って植えたらいいんちゃうか」みたいなことを漠然と考えたわけです。

 それでも、それは笑われるではなく、青森のリンゴとか奈良の吉野杉とか林業をしている人も植物の気候などの条件による植生の違いを研究して、既に日本の森林はめいっぱい役に立つ木で埋め尽くされているのではないかという意見はいただきました。

 俺自身が専門卒でコンピュータ以外はまるで知らなかったので、友達もITとかゲームとか良くて工業止まりで、木の事を学びたいと思っても友達の輪で木を研究している大学までつながることはなく、せめて自分がかかるお医者さんと薬局から、何か新しいコンピュータをセールスで売りつけようとしているのではと勘繰られながらも、どうにか医学を頼りに分子生物学までたどり着いたのが今年のこと。

 そりゃ子供の頃から草木が好きで植物を研究するために大学を志したような人がいたら、ということでふたつほど前の朝ドラになりました「らんまん」での牧野富太郎博士の話題もその時に色々な方から聞かせてもらいました。大学で植物というと東大理科二類を真っ先に思い浮かべた俺は友達の伝で「どんなことしているんだろう」というと「見た感じ遊んでいるよね」ということで、それ以上のコンタクトは取れませんでした。

 けどまあ、そう簡単にあきらめずに図書館で図鑑を見たり、自宅で勉強していると先日高校の生物図説の光合成の欄が暗号ではなく化学式と共に光合成の生成カロリーまで含めて先んじて研究されている事に気付きました。ついでに中学の理科事典も見ると、葉っぱ1枚でも葉身、主脈、副脈など細部まで名前が付いていて学びの浅さを反省しました。

 そこへ来て、昨日のNHKでマツダのロードスター開発秘話でクルマの部品点数が1万点というキーワードが出ていて、そうさね拙作の将棋ベーシック改のソースコードが約4000行というところ、コンピュータシステムとしては仕事でやったより少ない方という認識ですが、ホビープログラムとして見たら複雑かもです。

 ともすると、将棋ソフトを知りたがるご年配もクルマくらい分かると思っていらして「どういう仕組みなんだ?」と詰められて、難しい事を言い始めたり、キッパリと答えられない事が俺にあると俺の説明が下手なのか嘘をついていると思われるのか、とかく腑に落ちない様子も、ただ相手がバカだからではなく機構なりなんなりの前提知識で頭がいっぱいで、まずコンピュータの仕組みからやらないと分からないかなと。

 ちなみに俺の小学校時代のおもちゃのミニ四駆はハンドルのない直進のクルマのラジコンのさらに子供向けのおもちゃで、その部品点数で30点は超えると思います。

 それで将棋ソフトの仕組みというと、コンピュータのメモリを81升に区切って、計算機の中に丸々将棋盤が入った形で、駒の行き先を関数で定義して、あらゆる行き先を総当たりで計算しているわけです。それで三手読みというと、行き先全部の内のひとつの行き先に相手の行き先全部、そのうちの相手の行き先全部の内のひとつの行き先に自分の三手目の行き先全部を再帰処理で求めていますので、少なくとも三手の範疇の中にはそれ以上の答えは無いわけです。

 それを踏まえて、5手以上読むとひっくり返るかという期待と共に、俺のソフトより上位のソフトはスパコンのようにコンピュータを何台か並列で使って5手や7手を事前に読み、その結果をメモリしてハッシュ法で取り出すようにしているという格好です。

 それでも負けることがある。それはその範囲での読みで駒得なりなんなりで「そうした方が合理的に良い」とした手に長い手筋で敗着となる要因がまだ将棋盤にはあるということ。

 とりあえず、人の輪に入るに際し、自分の持ち場である将棋ソフトの知見はそれも自分ひとりではなく人の輪で教えてもらった部分もあるのでこのブログで代表して発表することを手柄であるとか交換条件の提示条件とするのもどうかとは思いますが、世界的な問題である大気中のCO2増加による気候変動にどう立ち向かうかというのを科学的な観点から個々人がどうすべきか、プラスチックごみ削減とかそういう心掛けはそれはそれで大事ですが、原油消費量をバレルで見たときに代替エネルギーがそれを何%補えるか割合で見たら、本当にみみっちい取り組みが多いと思っています。

 それで行くと将棋も娯楽なので、興味のある方には最新版や勝負の成り行きに内部の仕組みまで好奇心を満たす要素はまだあるとも思いますが既に暇つぶしとして人の相手をするに十分で、そんなことやってる場合かと言われてもそんなことをしているプログラマが仲間なわけでして、まあ有り体に言うとコンピュータがそこそこ使いこなせて色々な計算式が立っても、何を計算したら良いか仕事が無いんです。

 さて次はインベーダーか遊戯王かというところで、そういやCO2問題が大問題ではなかったかという所に釘を刺して、今日の話はここまでとさせていただきます。


🄫1999-2025 id:karmen