2024年6月10日月曜日

大きな桁の円周率を求める y-cruncher ツール使い方(Windows11編)

 ふと、下記が目に入ったときに、利用されていた y-cruncher というツールを使ってみたいなぁと思いました。このツールは、http://www.numberworld.org/y-cruncher/ にあるわけですが、2010年8月の 5兆桁を皮切りに、2019年3月にはGoogle社員の方が 31.4兆を、同Google社員の方が2022年6月には100兆超えをして、そして2024年2月には105兆桁を実現したようですね。

WindowsとLinux OSのみサポートしているので、ちょっと試すぐらいなら Windows OS で十分かなと思います。で、日本語での使い方を探しますが、意外と探せない。まぁ  http://www.numberworld.org/y-cruncher/ をみたら一目瞭然でしょとは思いますが、そこはまぁ、見てもわからない人でも試せる使い方あったほうが楽しいじゃないですか。

ということで試してみることにしました。

なお、M1 MAX MacBookPro の macOS Sonoma 14.5 上に仮想環境 Parallels Desktop をインストールして、そこに Windows11 OS(英語版)をインストールして試しているので、パフォーマンスは悪いかなぁとは思います。体験できたらよし!なので気にしないでおきましょう。

STEP 1. ツールのダウンロードと ZIPファイルの展開


http://www.numberworld.org/y-cruncher/  よりダウンロードして、ダウンロードしたZIP圧縮ファイルを展開します(ファイルで右クリックして「すべてを展開」を選択)。
ここについての詳しい説明は割愛しておきます。

STEP 2. ツールを起動する


下記のプログラムを開きます。

すると、下記のようなコマンドプロンプトで起動します。
*途中で処理を強制的に終了したい場合には、Ctrl を押しながら cボタンを押してください(Ctrl + c)。これで処理が強制終了してコマンドプロンプトも閉じます。


さて基本的には、数字を入力して、Enter を押すことで次に進みます。

まずはこのツールが端末情報をどのように認識しているかみてみましょう。

1 を入力して Enterを押してみてください。

下記のように、端末で利用可能な CPU のコア数やメモリなどの情報がでてきます。
私の場合には仮想環境に対して 8GB のメモリ(うち4GBをグラフィックメモリ)を割り当ててます。

確認できたら、Ctrl を押しながら cボタンを押してください(Ctrl + c)。これで処理が強制終了させて、再度 y-cruncher を起動してみましょう。

STEP 3. 円周率を求めてみる

下記において、0 を入力して Enterを押します。



下記のようにシングルスレッドかマルチスレッドがでてきますので、とりあえずマルチスレッドである 1 を入力して Enterを押します。



そして、最初は軽めにするということで 2500万桁を求める 1 を入力して Enterを押してみましょう。下記のように計算がスタートします。


そしてわずか4秒で終了しました。



さすがにこれでは味気なさすぎます。

次は、10億桁をやってみましょう! 下記にあるように目安として必要なメモリ情報が書かれてます。下記の選択になったら 6を押して Enterを押します。
*なお 7 を選択すると、メモリ不足と怒られました。さすがに明らかにメモリ不足だと動作させないようにしているのでしょう。手持ちは 64GBの物理メモリがあるので、やろうと思えば仮想環境に50GBほど割り当てることができますから、9 まではいけそうですね (^^;



さすがに数秒とはいかず、7分少し掛かりました。



とまぁ、このように円周率を10億桁求めてみたぜ!ぐらいなら、まぁメモリ 8GBぐらい搭載している端末はわりと一般的ですから、誰でもできるんじゃないでしょうか。

2024年6月10日 @kimipooh

2024年6月4日火曜日

ChatGPT無料版 (GPT-4o) でテトリスを実装してみた。

以前、ChatGPT Plus (GPT-4) でテトリスを実装してみたのですが(2023年4月21日)、最近でてきた GPT-4o は返答も速く、かなりの精度がありそうに思います。ならば、いまこそ再度テトリスのコードを少ない工程で出してくれるはず!ということでやってみました。

過去の実装

生成AIは毎回同じ答えになるわけじゃないので、下記の方法で皆ができるかどうかわかりません。

わずか1文だけ

今回はこれだけで動くレベルのものが実装されました。前回の苦労はなんだったのでしょうか。下記のように、左右移動、下矢印で落ちる速度アップ、QとWで回転。そしてスコアまで出してくれますね!

どのような操作や表示されたコードをどうすればいいのかは、最低限ファイルの作成方法とデータのコピー&ペーストは知っておく必要があります。


と続けて打つと、操作方法のヘルプに加えて、


表示されたコードをどのようなファイルに保存すべきかが出てきます。素晴らしい。



もちろん、テトリスの色が赤色しかないとか、細かいところの実装は必要でしょうが、一発でテトリスが遊べるレベルになるのはすごいですね!

2024年6月4日 @kimipooh