24点法

24点法に関しては以前からたびたび取り上げている。

将棋の駒落ち戦の宣言法について - 48's diary

連盟モバイルの勝率表示の件 - 48's diary

珍しい入玉局面の話 - 48's diary

wcsc35反省会 - 48's diary

CSAで提案したこと2025 - 48's diary

連盟モバイルでは27点法の白ビールで評価値を出している点を確認した。プロの入玉ルールと異なる点も理解されていると思っている。

 

先日7月18日のCSA例会で,第38回選手権では入玉宣言法24点法に変更と決定したそうだ。個人的に休日出勤でオープンキャンパスの役目があったので全く関与していない。

31点以上ある場合は「KACHI」宣言が可能
24点以上ある場合は「HIKIWAKE」宣言が可能

と議事にある。

 

どちらかというと電竜戦で先行実験をしてから検討に上がるつもりでいたが実験前に決定事項になってしまったようだ。選手権に関しては運営側ではないがやや心配である。

また,プロトコルに関しては2025年提案では「宣言法でプレイヤーが行うのは宣言をすると言うだけ」であることを確認していたのでプロトコルの追加は不要との認識を共有していたはずなので少し違和感がある。

事実「宣言します」以外の発言はないはずである。宣言したのち点数を数え,31点以上なら勝ち,24点から30点の間なら無勝負,宣言条件を満たしていないなら負けとなるのがルールであるとの認識だ。

 

で,指し直しは無いんだろうか?

議事に詳細が無いのでちょっとよく分からない。

 

 

 

 

 

 

 

 

Go 1.27rc2のSIMD実装

1.26のSIMD実装については以前まとめた

Go 1.26のSIMD実装 - 48's diary

続Go 1.26のSIMD実装 - 48's diary

 

Zen5世代でAVX512を使った実装では結構なパフォーマンスが出ている。

といっても実験実装なので破壊的変更が行われる可能性があってなかなか手が出にくいところである。実際以下のように破壊的変更が行われている。

 

1.27では大きな変更としてx64系CPUのAVX、AVX512の他にWASMとARMでもSIMD対応する。もちろんまだまだ実験実装である。

実験的なsimd/archsimdパッケージがGo 1.27でAMD64向けAPIを改定しつつarm64(Neon)とWebAssemblyの128ビットSIMDに対応した - Go 1.27 - Go Proposal Weekly Digest

Go 1.27 Release Notes - The Go Programming Language

 

simd/archsimdとsimdの二つの実装に割れている。

 

1.26から実装されているsimd/archsimdはtype Int16x8のように固定長のSIMDレジスタの表現をもっており、たとえばこれは128ビットのレジスタである。1.26ではx64実装のみであったためAVX2ではInt16x16のような256ビット実装、AVX512ではInt16x32のような512ビット実装が使えていた。1.27実装ではARMのNeon実装に対応したが使えるのは128ビット実装のみのようである。

ということで、互換性を持ったソースを構築するのは可能であるが高速化を考えると適当ではない。各プラットフォーム向けに実装することになる。

 

比べて1.27から実装されるsimdはtype Int16sのようにSIMDレジスタを表現する。何要素か調べるLen()という関数を持っている。つまり、ソースレベルではレジスタ長を固定しない。実行環境で条件分岐される。

また、こちらのライブラリでは原則同型のSIMDレジスタ同士の演算しか行われない。同ソースで大きなベクトル演算などを処理することは可能であろう。

https://pkg.go.dev/simd@go1.27rc2

 

で、欠点といえばAI利用の内積演算などに弱いということである。ハードウェア実装されている命令も複数環境に互換性がないとなると実装されていない。Neonのdotprod非対応は残念であった。

 

ということで、少し正式リリースより早く1.27の新機能を触ってみたが有効に使えそうなものは非常に限定的であることが分かった。今後対応されると思うのでそのときを楽しみにしておこう。

 

---

少し距離をおいて考えてみると、SIMDに限らずNPUやGPUなどの演算器への命令もややこしい環境にある。低ビット演算も含めると具体的なここの演算を定義する言語系はまだ普及が遅れている。しかしながら、実装先行でドンドン新技術が投入されている分野でもある。少々暴走気味で先行きが分からないのが実に面白い。

Cの言語実装が多数あった時代をふと思い出す。

 

 

 

Wildcatのお話

月初のネタなので少々遅れているが

pc.watch.impress.co.jp

 

昨今メモリやストレージ高騰でどうしてもPC価格が上がっている中でのニュースである。DELLブランド内でXPSは最上位だった気がするのでブランディングのリセット時期なのかと思うが,それとは別に中身である。

インテルのWildcat Lakeが下位モデルに搭載される。

 

Wildcat Lake自体は省電力の廉価帯なのでAlder Lake-NやTwin Lakeの後継に当たる。

N100等は結構安く売ったので市場ではプチヒット商品であった。安いのもあってまとめ買いしている。

N150の件その2 - 48's diary

当時コメントしたのはこれにNPUでも搭載してCopilot+対応を名乗って薄利多売をすれば時間稼ぎの撤退戦はやれそうとの構想だったが,おそらくほぼその通りの解が今回のWildcat Lakeである。(若干性能抑え気味でCopilot+名乗れないが)

 

一点だけ想定外だったのはPコアも積んできたところで,現在ベンチマークが流れているがシングルコア性能が2倍以上と相当上がっている。つまり,一般事務用途等の低負荷であれば相当コストパフォーマンスが良いことになる。

実機が手に入る段階になったらひとつ購入したいと思っている。

 

さらに,Wildcat LakeのReflesh版も既に話題になっており,こちらはPコアを4個まで増やすそうである。ここまでは不要に思うが,これでミドルレンジまでは問題なくカバー出来そうともいえる。本来高付加価値商品をメインに売るインテルだが策を変えてきたということであろう。

 

もちろん本命はNovalakeなので,これは低価格帯の話である。

 

 

Windows on ARM環境でのPython環境構築覚書(2026/6)

以前QualcommのSnapdragon X Elite搭載Windows11機の話をしたが、やはり特殊環境ということもあって非常に面白い。トラブルを楽しめない人は開発に使わない方がいい。

 

といっても意外なくらいトラブルがなく拍子抜ける程度である。

1.エミュレータが非常に優秀。

Prismという名のエミュレータが搭載されており、ほとんどのX64バイナリがそのまま動きます。しかも、AVX2など対応のものも高速実行可能なので違和感がない違和感があります。

2.ARM向けの開発が早い。

後述のPython環境も同様だが各社ARM用のバイナリを準備していることが多い。GoogleのAntigravity IDEなど出たばかりのサービスでもARM用のバイナリが配布されており、昔の特殊環境を体験した身には結構驚くほどである。

 

で、Python環境である。

Snapdragon XのWindows on ARM環境で動くPythonはAMD64およびARM64の両方である。どちらが動いているのか確認しないと気付かないくらい自然に両方動いてしまう。

しかしながら、ややこしい事情で両方入れておく必要があり複数のPython環境を構築するのが本題である。

 

最近のWindows11下Pythonのインストール方法はStoreアプリから「Python Install Manager」を探してインストールするのが推奨らしい。Python公式サイトでも同じインストーラが配布されているがアンインストールのことを考えるとベターということだろう。

複数バージョン管理はもちろんこのインストールマネージャーを使って行う。

 

このあたりの公式ドキュメントがあまいのでこのメモ書きを残すのである。

4. Windows で Python を使う — Python 3.14.5 ドキュメント

py install 何某で各バージョンのインストールができる

py -3.13 何某で3.13版でインタプリタが起動できる

環境変数PYTHON_MANAGER_DEFAULT でデフォルト環境を設定可能

pipの方もセレクタを指定するためにpy -3.13 -m pip 何某と書く

 

他にもありそうだが加筆予定で暫定公開としておく

 

続bullet-shogiの話

前回のfloodgateの話題の続きを書こうとしたのですが、追記が伸びるのも読みにくいうえに趣旨がずれてきているので新しく立てます。

 

前回はfloodgateのデザイン変更やbullet-shogiの習作を放り込んだ話

bleu48.hatenablog.com

 

このbullet-shogiの習作ですが、WCSC36決勝入りしていた奏乗のアピール文にある教師データを768-16-64のモデルで学習させただけのものです。

https://www.apply.computer-shogi.org/wcsc36/appeal/sojo/sojo_WCSC36_appeal.pdf

https://huggingface.co/datasets/washiun/Knowledge_distilled_dataset_by_DLSuisho15b_unique

(サイズが大きいので注意)

 

AobaNNUEが約二週間程度学習させたとのことに対して、bullet-shogiでノートPC一晩です。正確には1ステップ80~90秒の500ステップで12時間弱。20時に仕掛けて翌朝終わっている感じですね。

AobaNNUEが強い - 48's diary

bullet-shogiの話 - 48's diary

 

教師データ作成の計算コストが莫大なのでこれだけで喜んではいけないのですが、モデルの形を様々テストするには十分な環境が整ってきた感じですね。

 

あ、重要な物的証拠です。同じN150マシンで100戦以上行いほぼ有意差なしの範囲かと思います。実行バイナリはVisualStudioの通常ビルドなので少々甘いかもしれません。

 

お試しにしては案外強いなぁといったところ。

これは計算機次第で決勝狙えますね。

 

今のfloodgateの上位について

以前,下位の話を書いた

bleu48.hatenablog.com

 

floodgateは随分とデザインが様変わりして以下のようなレート表記になっている。

 

この上位層にいるtest768が短期レートで突出したグラフになっているが,手持ちの空いたマシンでbullet-shogiの習作を放り込んだもので,CPUとしてRyzenの9900X程度である。12コアなので特段ハイエンドと言うほどでもない。23勝1敗でレート4400といった体であるが,負けるまでレートが付かないルール上の形式的なもので正確な数字と言うわけではない。

 

NNUEの構成をAobaNNUEと同じ768-16-64にしている実験である。

同じものをN150でも放り込んでいるが現状AobaNNUEにやや劣っているようである。もう少し様子をみる。

 

ということで,現状floodgateにそれほど高スペックのマシンは居ないようである。

AI界隈ではこの程度の連勝記録に意味は無いので貴重なZen5は撤退するが,N150は放置しておくので対戦相手になって頂ければ幸いである。

---

 

その後、対戦数のカウントが上がっていた。

恐らく対戦相手の方のレート計算が対象になるかならないかで変動がある模様。

正確な扱い方は良く分からない。

 

というのは、長期レートの方が随分挙動がおかしくなっており、うちの上記エンジン群もあり得ないくらい低いレートの扱いになっている。

計算式に問題があるのかもしれないが、個々のデータを再集計する気になれないUIになっているのでとりあえず放置。

 

川崎観光

世界選手権の決勝を二年も逃すと連休の川崎で微妙に時間があまります。

ということで記録しておきます。

 

川崎と言えば旧東海道の川崎宿です。

品川についで2番目の宿場町となります。JR東海道線だと一駅ですね。

以前決勝まで残った際にはこの近くのホテルでしたが博物館に入る余裕はなかったのでした。

 

江戸上りの特別展がありました。

 

 

川崎宿と琉球は交流があったというのを随分とネタにしてイベントをやっているようでした。

 

 
川崎駅地下にクラフトビールのスタンドがありました。

東海道ビールという名で自社タップ9に他社9という凄いことに

 
締めは飲食店。

川崎産業振興会館の裏手にあるインドカレー屋です。

なんやかんやで選手権に来るたびに行っています。

はじめてチーズナンを頼んでみました。

危険です。食べ過ぎてしまいます。

 

最後にここ結構有名店ですよね。駅ロッカーに荷物を預けて少し歩いて公園の隣。

随分前からチャンスを伺っていました。最終日新幹線で帰る直前の最後のランチでした。

チキンビリヤニとマンゴーラッシー

 

懇親会の中華料理店は毎年なので割愛します。