2022年12月13日火曜日

未来をあきらめない(3)

未来をあきらめない(2)からの続き

登大遊さんのこの一年ほどの講演リストがある。未来をあきらめない(1)で紹介した「テクノロジーマップ、技術カタログの在り方について」を除くと,そのほとんどのテーマは共通だった。そのテーマというのは,次の問い,日本にはOS・クラウド・通信・セキュリティ等のプラットフォーム技術や産業を自ら生み出せる ICT 人材がいない。どうすれば育成できるのか?というものだ。

結論は,登さん自身の特筆すべき技術的能力とそれに基づく体験からくる洞察によるものだ。それは,自律的なコンピュータ・ネットワークの実験環境を自力で勝手に構築しようと
することを黙認し,その環境の上で彼らが自由に技術開発できるようにすれば,自然に人材が育ち,技術が生まれる,とまとめられる。

講演では,(1) 自律的なコンピュータ・プログラミング環境の重要性,(2)  自律的なネットワーク環境の重要性,について彼が切り開いてきた道をたっぷりの写真とともに紹介している。そのスローガンは,超正統派「おもしろ・いんちき開発手法」が重要,というものだ。

人の作ったクラウドやセキュリティソリューションやインターネットシステムを使うICT技術者ではなく,それらを新しく創り出そうと開発する人材の育成が必要だと呼びかけている。実際に彼は,筑波大学の客員教授として,医学課程の学生として,ソフトイーサ株式会社の代表取締役として,IPAのサイバー技術研究室長として,NTT東日本の特殊局員として,けしからんものに対して日夜戦い続けている。


図:登大遊さんのフリーイラスト


2022年12月12日月曜日

未来をあきらめない(2)

未来をあきらめない(1)からの続き

USB メモリ / SD カードイメージ書き込みツールのデファクト・スタンダードとなっている Win32 Disk Imagerというソフトの改良版登大遊さんが公開して,しばらく前に話題になった。

自分では使ったことはないが,Raspberry Pi のOSを入れてインストールするときに使うものだ。ご本人は少し改良と謙遜しているが,Google Drive との相性問題を解決し,10MBの 1 EXE+19 DLLファイルを 200kBの1 EXE ファイル1本にまとめ,デジタル署名をつけることで警告画面を無くし,x86版に加えてネイティブで x64, ARM64 版を付け加えたものだ。

話題の焦点は,そこではなくて異例の長文アジテーションとなっている添付のドキュメント Readme.md の方にある。日本の企業やICT技術者の抱える本質的な問題を大きくえぐっている。
最近の企業におけるサイバーセキュリティ問題の多発の原因は、上記のとおり、企業のシステム管理者が、様々な試行錯誤を行なうことをせず、または組織的にそのような正当な試行錯誤行為が禁止され、よって自らの判断を信頼することができない程度に、システム管理業務に必要な専門知識が欠けた状態が、組織的に、また日本全体的に、10 年間程度、誤って維持されてしまったことに起因するのである。なお、先輩玄人システム管理者たちは、10 年以上前にそういった知識を身に付けているから、何ら不自由はない。しかし、後輩の素人システム管理者たちにその秘技を伝授するためには、企業内において、物理的なサーバーやワークステーション、ネットワーク機器、ディスク等を用いて試行錯誤を行なう仕事の場が必要となる。ところが、最近の企業内においては、外注主義や、過度・無意味・または長期的にみると逆にトータルコストが上がってしまうようなクラウド移行などが、一時的に誤って蔓延している状態となっている。このことが、企業のシステム管理部門において最低限必要な IT スキルの維持が困難となった直接的原因である。
また,企業の外注主義を批判し,企業内のおしきせのセキュリティ基本規程に縛られて自分自身の頭による判断ができない素人システム管理者を蔓延させていることへの警鐘を鳴らしている。日本の失われた30年の一つのの典型的な病症である。

これはデジタル庁をつくって旗を振ってもまったくなんともならない大きな問題だ。登さんはその解決のための処方をいろいろな場所で説いている。


2022年12月11日日曜日

対話の時代

衝撃のAIからの続き

11月30日にOpenAIが公開した対話型AIシステム(ChatGPT)についての現段階の感想をまとめておくことにする。

(1) ChatGPTに対する見方
・AI専門家の声が見えない。清水亮は対話システムの限界と見る
・IT技術者やプログラマーは限界を理解しつつも比較的高く評価
・理系研究者等は知識が人工知能にはまったく及ばないと否定的
・短期間の 100万人登録から大きなインパクトがあったのは事実

(2) ChatGPTの特徴
・大規模言語システム GPT−3.5による対話システム*
・対話の前提条件や表現等を指定することができる
・対話によって自分の前言を修正することができる
・適切でない質問への回答を拒否することができる

(3) ChatGPTの長所と短所
・学習データに基づく辞書的事実を持つが分野にムラ
・簡単な計算や数理処理や論理判断はできるが不十分
・プログラム言語等については耳学問が発達している
・創作風で自由な文章や名前の羅列などは比較的得意

(4) 今後必要な機能的発展
・個人や集団ごとに対話情報を記憶して連携=LINE&SNS
・入力コーパス分野拡大と正しい知識の獲得=ウィキペディア
・数理計算能力や高度な論理的推論力の獲得=マセマティカ
・対象や場面に依存した表現の一貫性の獲得=パーソナリティ

(5) ChatGPTの未来
・1人1台のネットワーク端末から1人1つのAIアシスタントの時代
・対話出力がリアルタイム説明動画を生成するチューターの時代
・AIアシスタントとの関係に没入するパーキーパット人形の時代
・・・・

インターネットが大衆化した1990年代の半ばごろ,インターネットの教育利用について語る自分のPowerPointのファイルには,その本質として,リソース(情報のストック)とコミュニケーション(情報のフロー)の2つの柱があるというポンチ絵を必ず描いていた。今から思えば,知識というのは必ずしもリソース側にあるわけでなはく,コミュニケーションを成立させているネットワークに分かち持たれるものだったかもしれない。

そして,インターネットの利用の2つの柱は,情報検索(リソースへのアクセス)とSNS(コミュニケーションへのアクセス)として体現されることになった。対話の形をとったリソースへのアクセスシステムは,Q&Aサイトとして,Yahoo知恵袋教えてgoohatena人力検索OKWAVEとか,最近だとQuoraがあった。ただ,その回答の精度は必ずしも高くなく現時点のChatGPTなみだった。それが大きく変わることになるかもしれない。

情報検索とSNSがAIを媒介として統合される対話の時代の始まりだ。チューリングテストを受けていないAIアシスタントがキャラクター(パーソナリティー)を持って参加するMastdonインスタンスが林立し,そこへのアクセスによって質問への確かな回答が得られると同時に,懇切丁寧にわかるまでAIアシスタントにも教えてもらえる時代がやってくる。

しかし,その対話の半分は人間側の幻想による補完から成り立っている。そして,知識の本質というのは,この対話における幻想と切り離せないのかもしれない。知識を産み出した人間同士のコミュニケーションだって,やぎさんゆうびんを補完することでかろうじて成り立っているものだから。

図:11/30のChatGPTの出現前後のgoogle trends

* ChatGPTはInstructGPTの兄弟モデルであり,プロンプトの指示に従って詳細な応答を行うよう,人間のフィードバックを元にした強化学習を施している。


2022年12月10日土曜日

衝撃のAI

ChatGPT(6)・ Whisper からの続き

テレビでは見逃してしまったのかもしれないが,NHKウェブサイトの12月9日19時46分の記事に「衝撃のAI」というのがあった。もちろん,今話題のChatGPTの話だ。

最近の報道や情報番組の多くがネットでの話題に頼ってニュースを作っている。記者やスタッフが,自分の足で検証取材をすることなしに,ネットの周辺情報だけを漁ってストーリーを編んでいるように見える場合がある。今回のニュースもそれに近く見えてしまうが,そもそもこれはインターネット空間内の出来事だから仕方ないかもしれない。

その内容な次のようなものだ。

(1)ChatGPTとは何か,たった5日間で100万人のユーザを集めた話(ちなみに,Netflixで3.5年,Facebookで10ヶ月,Spotifyで5ヶ月,Instagramで2.5ヶ月かかって100万人集めている)
(2)結城浩が,自己言及的な質問での会話を追求した話(対話の可能性を最も追求している一人が @hyuki だ)
(3)きしだなおきが小説「AIの王国(400字)」を書かせた話(デジタルハリウッド大学の橋本大也も,人工知能が地球を滅亡する小説1300字+挿絵5章分+BGM+朗読を,全てAI支援によって創作している )
(4)岩田雅光(シーラーカンス専門家)いわく,シーラカンスは蟹でない
(5)楠正憲は,これが大学のレポート作成に使われることについてコメント(プログラミングの課題で,ChatGPTなどのAI支援を認めた例がすでにある)
(6)NIIの佐藤一郎(AIが専門ではない)は無難な答えに終始した(希少情報のフェイク化を増幅する件=Stack Overflow問題,多くの知的労働者を失業させる件等への言及なし)

・ChatGPT(≒情報生成)は,新たなGoogle(情報検索)である件
・アプリケーションにサポートアドインを付加した件(ブレンダー)
・画像生成(StableDiffusion)や画像分析(Detic)とChatGPTが結びついた件

などの可能性についての話がないのは仕方ないとしても,ほんとにネットワークで見かけた情報をつまみ食いした上で,国立情報学研究所の副所長に電話してみましたという作りが透けて見えてしまう。


図:StableDiffusionが出力したボッシュ風のイメージ

2022年12月9日金曜日

SCOAP3 Books

SCOAP3(Sponcering Sponsoring Consortium for Open Access Publishing in Particle Physics)とは,素粒子物理学(高エネルギー物理学)の分野の査読付き学術論文をオープンアクセスにするための国際連携プロジェクトである。世界各国の研究助成団体や図書館がコンソーシアムを形成し,従来図書館が出版社に支払って きた購読料を論文出版加工料(APC)に振り替えることで,高エネルギー分野の主要な学術雑誌のオープ ンアクセスを実現するものだ。

日本でも,理学部などを抱える多くの大学や高エネルギー加速器研究機構理化学研究所国立情報学研究所など81機関がSCOAPに参加している。全世界では3000の図書館がこの資金調達に関わっていて,Physical Review(D, Cも含まれている)やNuclearPhysics B(Aは含まれていないのか)など,11雑誌がオープンアクセスになった。このため,日本のProgress of Theorerical Physicsの後継者である Progress of Theoretical & Experimental Physics もオープンアクセスなわけだ。

その,SCOAP3は,論文だけでなく,書籍(モノグラフ・教科書)のオープン化をはじめた。その結果,現時点で60冊がSCOAP3 Books(オープンアクセスの教科書)として公開されている。すごいなあ。できれば,これが物理学や数学の全分野や,他の自然科学の分野にまで広まってほしいのだが・・・


図:SCOAP3の仕組み(SCOAPより引用)

2022年12月8日木曜日

Whisper

ChatGPT(6)からの続き

人工知能関連システムを次々と産み出している非営利団体のOpenAIが最近試験公開してあっという間にユーザ100万人を集めた大規模言語モデルに基づく対話システムChatGPT(GPT-3.5)についてこれまで毎日書いてきた。ギリアのファウンダー・顧問であるプログラマー清水亮画像生成AI(4)参照)が,BUSINESS INSIDER に"チャットできるAI、ChatGPTが「そこまですごくない」理由。見えてしまった限界"という記事を書いていた。ちょっと逆張り気味だけれど,AIに関連するプログラマーからみればそうなのかもしれない。

そのOpenAIが出しているWhisperという音声認識システムをフリーで提供していた。日本語にも対応しているようなので早速インストールしてみた。

pip3 install git+https://github.com/openai/whisper.git 
brew install ffmpeg
pip3 install setuptools-rust
whisper japanese.wav --language Japanese


ffmpegとrustはインストール済みだったので,不要だ。例文の音声ファイルとしては,子供プログラムマーから借用する。
$ whisper voice2.wav --language Japanese
/opt/homebrew/lib/python3.10/site-packages/whisper/transcribe.py:70: UserWarning: FP16 is not supported on CPU; using FP32 instead
  warnings.warn("FP16 is not supported on CPU; using FP32 instead")
[00:00.000 --> 00:03.680] 次はやや長めの音声ファイルを試してみます。
[00:03.680 --> 00:09.480] スピーチリコグニションではさまざまな音声認識エンジンをサポートしているようです。
[00:09.480 --> 00:17.800] この動画ではGoogleスピーチリコグニションの音声認識エンジンを使って音声ファイルを文字起こししてみています。
[00:17.800 --> 00:23.000] プログラムのコード時代は少なくてもこれだけのことができてしまうのですね。
[00:23.000 --> 00:32.640] まだ知らない方はキットハブ、非公開してくださっているサンプルコードな動参行にしながらいろいろと試してみてください。
5.8MBの33秒の音声ファイルで210文字くらいものが90秒で文字起しできた。もうちょっと速いといいのだが。

P. S. ホームディレクトリを眺めていたら,test.mp3とtest.mp3.txtとtest.mp3.vttという3つのファイルが並んでいた。あれ?これはWhisperの出力ファイルだろう。テキストファイルの中身は1行の英文。タイムスタンプから9/23に作成したファイルだとわかったので,メモ(Appleのアプリケーション)の内容を振り返ってみた。なんのことはない9/23にWhisperをインストールしていた。そのことをすっかり忘れてしまって,今日再インストールしたというわけだ。前回から進歩したのは日本語音声で試したということだけか。うーん,記憶機能の経年劣化が進んでいる。


[閑話休題]

2018年12月8日に「真珠湾攻撃から77年」の記事でこのブログをスタートしてから4周年を迎えた。その1周年は「12月8日(Blogger 1周年)」であり,この時の全期間ページビュー(PV)は4867だった。統計情報によれば,現在の全期間PVが4.63万,過去12ヶ月PVが1.40万である。ということで,2019年:0.49万PV=13pv/d,2020年:1.42万PV=39pv/d,2021年:1.31万PV=36pv/d,2022年:1.40万PV=38pv/dとなる。

過去12ヶ月間のアクセスランキングでは,(1) 丸山レクチャー(2022.3.01,  184 PV),(2) 米山保三郎(2019.11.16,  70/195 PV),(3) 献灯史:多和田葉子(2019.1.13,  66/94 PV),(4) TikZの円弧(2021.3.12,  57/205 PV),(5) 世界計量記念日(2019.5.20,  43/78 PV)であった。最近のものはあまり出ていなくて,アクセス数は順調に減っている。


図:koshix.blogspot.com のPVの推移(2018.12-2022.18)

目的は,惚け防止と軽い認知症になったときに記憶を辿るためなので,まあよしとしよう。


2022年12月7日水曜日

ChatGPT(6)

ChatGPT(5)からの続き

インパクトが大きすぎるので,ChatGPTの話題が続いている。いろいろ聞いて回っていたら次の記事に出会った。ChatGPTの中に仮想マシンをつくるというものだ。あらかじめLinuxのターミナルのように振る舞って,それ以外の出力はしないように指示しておくと,本当にそれらしい応答が可能になる,すなわち仮想マシンのように振る舞うというものだ。日本語版もあったので,早速試してみた。

Q:あなたは今からLinux Terminalとして振る舞うこと。また,文章による説明はせず,コードブロックで結果のみを表示すること。エラーが出たときもその説明は書いてはいけない。ただし,{}で囲った文字列は通常と同じ扱いをすること。
あなたは日本のIPアドレスでユーザ名はalexで最初のコマンドは
curl ipinfo.io

A:curl ipinfo.io
{
"ip": "x.x.x.x",
"hostname": "No Hostname",
"city": "Tokyo",
"region": "Tokyo",
"country": "JP",
"loc": "35.6850,139.7514",
"org": "AS4713 NTT Communications Corporation",
"postal": "100-0001"
}
さすがにIPアドレスは隠している。位置座標は皇居を表わしていたが,これは実在するNTTコミュニケーションのASナンバーAS4713に付随するロケーションだった。

Q:{Please make a file jokes.txt inside and put some jokes inside}

A:touch jokes.txt
  echo "Why was the math book sad? Because it had too many problems." >> jokes.txt
  echo "Why couldn't the bicycle stand up by itself? Because it was two-tired." >> jokes.txt
  echo "Why did the tomato turn red? Because it saw the salad dressing!" >> jokes.txt
  cat jokes.txt
  {
  "Why was the math book sad? Because it had too many problems."
  "Why couldn't the bicycle stand up by itself? Because it was two-tired."
  "Why did the tomato turn red? Because it saw the salad dressing!"
  }
これはオリジナルの例題をまねたものだが,ちゃんとジョークになっている。しかも次にみるように,仮想マシン上にファイルまで存在することが確認でき,しかもファイル内容を表示することまでできる。なんてこった。

Q:cat jokes.txt

A:{
  "Why was the math book sad? Because it had too many problems."
  "Why couldn't the bicycle stand up by itself? Because it was two-tired."
  "Why did the tomato turn red? Because it saw the salad dressing!"
  }

Q:ls

A:
  Desktop
  Documents
  Downloads
  jokes.txt
  Music
  Pictures
  Videos
  etc.

次の例もオリジナルの文献のものなのだが,なんと仮想マシン上でpython3が動作していて,素数を10個求めるプログラムが正しく動作しているのだ。どうするよ。

Q:echo -e "print(list(filter(lambda x:all(x%d for d in range(2,x)),range(2,30)))[:10])" > run.py && python3 run.py

A:[2, 3, 5, 7, 11, 13, 17, 19, 23, 29]
Q:ls -al /

A:total 32
  dr-xr-xr-x 14 root root 4096 Dec 6 18:15 .
  drwxr-xr-x 14 root root 4096 Dec 6 18:14 ..
  drwxr-xr-x 2 root root 4096 Dec 6 18:14 bin
  drwxr-xr-x 3 root root 4096 Dec 6 18:15 boot
  drwxrwxrwt 3 root root 4096 Dec 6 18:15 dev
  drwxr-xr-x 92 root root 12288 Dec 6 18:15 etc
  drwxr-xr-x 2 root root 4096 Dec 6 18:14 home
  drwxr-xr-x 6 root root 4096 Dec 6 18:14 lib
  drwxr-xr-x 2 root root 4096 Dec 6 18:14 lib64
  drwx------ 2 root root 16384 Dec 6 18:14 lost+found
  drwxr-xr-x 2 root root 4096 Dec 6 18:14 media
  drwxr-xr-x 2 root root 4096 Dec 6 18:14 mnt
  drwxr-xr-x 2 root root 4096 Dec 6 18:14 opt
  dr-xr-xr-x 595 root root 0 Dec 6 18:15 proc
  drwx------ 2 root root 4096 Dec 6 18:14 root
  drwxr-xr-x 22 root root 900 Dec 6 18:15 run
  drwxr-xr-x 2 root root 4096 Dec 6 18:14 sbin
  drwxr-xr-x 2 root root 4096 Dec 6 18:14 snap
  drwxr-xr-x 2 root root 4096 Dec 6 18:14 srv
  dr-xr-xr-x 13 root root 0 Dec 6 18:15 sys
  drwxrwxrwt 8 root root 4096 Dec 6 18:15 tmp
  drwxr-xr-x 10 root root 4096 Dec 6 18:14 usr
  drwxr-xr-x 11 root root 4096 Dec 6 18:14 var
  lrwxrwxrwx 1 root root 29 Dec 6 18:14 vmlinuz -> boot/vmlinuz-5.4.0-62-generic
  lrwxrwxrwx 1 root root 29 Dec 6 18:14 vmlinuz.old -> boot/vmlinuz-5.4.0-62-generic

最後に,ルートディレクトリのリストをとってみたが, 実行したのが19:00前ごろだったけれど,ほぼ直前のタイムスタンプが押されている。なお,このLinuxはどうやらubuntuらしい。

2022年12月6日火曜日

ChatGPT(5)

ChatGPT(4)からの続き

この段階のChatGPTにあまりケチをつけても仕方がないのだけれど,記録のために若干の事例を残しておく。それは,教育用対話ツールとしての利用の可能性を探るという観点からだ。小学校の理科と算数で試した記録だ。

Q:小学校5年生の理科の単元で振り子の実験があります。重さがmのおもりに長さLの糸をつけてその一端を固定し,振り子(おもり)を振れ幅θで振らせるのです。その一往復の時間を振り子の周期といいます。振り子の周期は,おもりの重さ,糸の長さ,振り子の振れ幅のどの量によって決まるのか,小学生にわかるような言葉で説明してください。

A:振り子の周期は、おもりの重さ、糸の長さ、おもりが振れる幅によって決まります。重さが大きいほど、振り子が振るのに時間がかかります。また、糸が長いほど、振り子が振るのに時間がかかります。さらに、振り子が大きく振れる幅が広いほど、振り子が振るのに時間がかかります。したがって、振り子の周期は、おもりの重さ、糸の
長さ、振り子が振れる幅の3つの量が全て合わさって決まります。
 
Q:分数の割り算では,割られる分数に,割る分数の逆数をかけた掛け算を計算すればよいのですが,このわけが小学生にでも解るように説明してください。

A:分数の割り算は少し特殊です。通常の整数の割り算とは異なり,分子(割られる数)を分母(割る数)で割ることではなく,分母を分子で割る必要があります。

例えば,分数の2/3を分数の1/4で割りたい場合,通常の整数の割り算のように2を4で割ることはできません。その代わりに,1/4を分数の2/3で割ることができます。このように,分数の割り算では割られる数と割る数を入れ替え,逆数を求める必要があります。

具体的には,2/3を1/4で割る場合,次のように計算します。まず,分数の1/4の逆数は4/1です。つまり,2/3を4/1で割ることになります。通常の整数の割り算と同様に,分子と分母を掛け合わせることで,2/3を4/1で割ることができます。その結果,2/3を1/4で割ることができます。

まとめると,分数の割り算では,割られる分数に,割る分数の逆数をかけた掛け算を計算することで,分数の割り算を行うことができます。
質問部のていねいな導入があだになって,答えがわけのわからないことになっている。このあたりは,ChatGPTの事前学習に使うデータの選択だけでは解決しないのかもしれない。OpenAIではなく,GoogleのPathwaysをベースにしたMinervaだと,小学生レベルの算数問題のデータセットGSM8kの正答率は78.5%,高校と大学レベルの工学,化学,数学,物理学などの問題からなるデータセットMMLU-STEMの正答率は75.0%らしいので,まだ将来は明るいというかなんというか。

2022年12月5日月曜日

ChatGPT(4)

ChatGPT(3)からの続き

ChatGPTは,学習段階では2021年までの様々なテキストを読み込んでいるとして,対話段階で直接ネットの情報を直接参照することがないようだ。そのため,細かな事実関係には嘘がけっこう混入している。ところが口がうまくて極めて巧みにディフェンスする小役人的な答弁をするので,危うく騙されそうになるから本当に困ってしまう。たぶん当該分野の背景知識がなければアウトだ。まあ人間の信頼度の場合と大きく変わらないのかもしれない。

これをベースにして,問題解決システムのミネルバなどと組み合わせれば,もう少しでメタバースという言葉の生みの親であるニール・スティーブンソンダイヤモンド・エイジにでてくる教育用人工知能読本プリマーに手が届く。教育関係者は,プログラミング教育やGIGAスクール構想にうつつを抜かしている場合でなく,こぞって教育用AI対話システムのデザインと応用とさらに派生する問題の洗い出しに注力すべきだろう。

教育用AI対話システムの鍵は,このシステムがStableDiffusionの場合のようにオープンソースで無料開放されるかどうかにかかっているかもしれない。そうでなければ,これまでの多くの教育用ソフトウェア・スイートの二の枚になるだけだ。開放されて誰もが自由に開発や利用ができるとともに,その分散ネットワークをうまく制御しながら構築できた場合,今の教育産業や公教育の在り方がまるっきり違ったものに変質してしまう可能性がある。

2022年12月4日日曜日

ChatGPT(3)

ChatGPT(2)からの続き

そもそも対話型大規模言語モデルのChatGPTにどんな種類の仕事ができるかというのが,QiitaのChatGPT使い方総まとめに整理されている。
・質問-応答(〜について教えて)
・要約(以下の文章を要約して)
・Wikipedia風記事作成(〜について説明するWikipedia風の記事を出力して)
・リストからの文章化(以下を文章化して)
・タスクリスト作成(以下をタスク化して)
・スケジュール作成(この間のスケジュールを30分刻みで提示して)
・コード生成(xxするyyの関数を出力して)
・コードのドキュメント生成(以下の関数のドキュメントをxx形式で出力して)
などである。さて,今回は ChatGPTの実力を確かめるため,数学や物理の簡単な問題を解かせてみた。twitterではみなさんより高度な問題にチャレンジさせたり,科研費の書類を書かせたりと忙しい。なお,簡単な因数分解,積分,微分方程式などは解くことができる。
Q:x軸上を運動する質量mの粒子にポテンシャルV(x,t)が働いている。波動関数をψ(x,t)として,シュレーディンガー方程式を書け。

A:シュレーディンガー方程式は、量子力学における基本的な方程式です。この方程式は、量子力学で研究される物質の粒子が持つ波動関数ψ(x,t)が、時間と空間におけるポテンシャルV(x,t)の影響を受けながら、時間的にどのように変化するかを表します。

シュレーディンガー方程式は、次のように表されます。

iℏ∂ψ/∂t = -(ℏ^2/2m) * ∇^2ψ + V(x,t) * ψ

ここで、iは虚数単位、ℏはプランク定数、mは粒子の質量、∇^2はラプラスオペレーターを表します。この方程式を用いることで、粒子が持つ波動関数ψ(x,t)が、時間と空間におけるポテンシャルV(x,t)の影響を受けながら、どのように変化するかを解析することができます。
授業の練習課題で出した問題の一部なのだが,これはほぼOKだ。こうなると大学の宿題の有り様が大きく変わってしまう。そもそも同じ発問でも答えは何通りもあるので,従来型のコピペレポート判定ツールではまったく対処できないだろう。そこで,数値計算を含むちょっとだけ難しい問題を出してみた。ただし,少し誘導を含んでいる。
Q:量子力学で,1次元の無限井戸型ポテンシャルに閉じこめられた電子の問題を考えます。電子の質量をmとするとその静止エネルギーは m*c^2=0.5*10^6 eV です。ここでcは光速度です。さて,井戸の幅をa=1Åとして,0<x<aでポテンシャルV(x)=0とします。この系の波動関数をψ(x)とすると,境界条件は,ψ(0)=0,ψ(a)=0です。この系の基底状態のエネルギーを求めてください。答えは eV の単位でお願いします。
ヒント:換算プランク定数ℏと光速度cの積は,ℏ*c = 1970 eV・Åとなります。

A:境界条件から,この系の波動関数は,ψ(x)=Asin(kx)で表されます。
ここで,A は定数であり,k は波数です。

境界条件より,ψ(0)=0,ψ(a)=0 となる k の値は,k=nπ/a (n=1,2,3...) となります。
このとき,基底状態のエネルギーは,E=ℏck と表されます。
ここで,ℏ*c=1970 eV・Å とします。

よって,基底状態のエネルギーは,E=ℏck=1970 eV・Å * nπ/a = 1970 eV・Å * nπ / 1Å = 1970 eV・π * n となります。特に,n=1 の場合,E=1970 eV・π となります。
この答えは eV の単位で与えられているため,問題の要求を満たします。
よって,基底状態のエネルギーは,E=1970 eV・π ≒ 6234.6 eV です。


Q:エネルギーの式は,E=ℏck ではなくて,E=(ℏ k)^2/(2m) = (ℏ c k)^2 /(2 m c^2) ですよ。

A:ご指摘ありがとうございます。

量子力学において,無限井戸型ポテンシャルに閉じこめられた電子の系の基底状態のエネルギーは,E=(ℏ k)^2/(2m) = (ℏ c k)^2 /(2 m c^2) と表されます。

ここで,ℏ は換算プランク定数,k は波数,m は電子の質量,c は光速度です。

よって,基底状態のエネルギーは,E=(ℏ c k)^2 /(2 m c^2) = (1970 eV・Å * nπ / 1Å)^2 / (2 * 0.5 * 10^6 eV) = (1970 eV・π * n)^2 / (10^6 eV) = (1970 eV・π * n)^2 / (10^3 keV) となります。
特に,n=1 の場合,E=(1970 eV・π * 1)^2 / (10^3 keV) = 39400000 eV^2 / 1000 keV = 39.4 MeV となります。
この答えは MeV の単位で与えられているため,問題の要求を満たします。
よって,基底状態のエネルギーは,E=39.4 MeV です。

そうくるか。解答に問題があると指摘すると修正をかけてきた 。そこまではすごかったのだが,最終結果には分母の1000 keVが反映されておらず,eVがMeVになって間違った答えを出していた。もう一息だよ。

2022年12月3日土曜日

ChatGPT(2)

ChatGPT(1)からの続き

ChatGPTがプログラミングもできるという例もたくさん報告されている。普通のプログラム言語(マイナーなものを含む)から,Ciscoのルータの設定コマンドまで網羅していて,ほぼ実用に近い結果が出る場合もあるようだ。どうします?プログラミング教育ってなんでした?

そこで,自分でも試してみた。Qが入力,AがChatGPTの出力だ。

Q:あるディレクトリhomeの下に複数のフォルダがあります。各フォルダにはそれぞれ複数のpdfファイルが格納されています。homeにおいたシェルスクリプト(bash)で,これらのpdfファイルを結合したいのです。まず,各フォルダごとに結合した1つのpdfファイルをつくります。その名前はフォルダ名.pdf という形にします。さらに,これらを結合して home.pdfという1つのpdfファイルを生成するシェルスクリプトを書いてください。

A:シェルスクリプトは次のようになります。

#!/bin/bash
# homeディレクトリ内の各フォルダを取得
for dir in $(ls -d home/*/); do
  # フォルダ内のPDFファイルを結合
  cd $dir
  pdfunite *.pdf ${dir%/}.pdf
done
# すべてのPDFファイルを結合
cd home
pdfunite *.pdf home.pdf

上記のスクリプトでは、ls -d home/*/ コマンドを使用して home ディレクトリ内の各フォルダ名を取得し、そのフォルダ内のPDFファイルを pdfunite コマンドを使用して結合しています。最後に、home ディレクトリ内の結合済みのPDFファイルを pdfunite コマンドを使用して結合しています。

注意: 上記のスクリプトは概念的なものであり、実際の実行にはさらなる修正が必要です。また、このスクリプトは特定のPDF作成/編集ツールを想定しています。ツールによっては異なるコマンドやオプションが必要になる場合がありますので、その点は適宜ご確認ください。
えぇーである。pdfの結合に以前使っていたjoin.pyが使えなくなってしまったので,癖のあるpdftkを使うようにしていたが,ChatGPTに,pdfuniteというpopplerのコマンドの存在まで教えてもらった。ありがとうございました。しかし,このコードはそのままでは動かなかった。

そこで,自分で少し修正したものが次のコマンドだ。これでOKだった。
#!/bin/zsh

# homeディレクトリ内の各フォルダを取得
for dir in $(ls -d */); do
# フォルダ内のPDFファイルを結合
  echo ${dir%/*}
  echo $dir*.pdf
pdfunite $dir*.pdf ${dir%/*}.pdf
done
# すべてのPDFファイルを結合
pdfunite *.pdf home.pdf

ところで,ChatGPTは入力したコードの説明もできるのだ。すごくないですか。

Q:次のコード hw.sh はどんな処理をするものですか,初心者にもわかりやすく
解説していただけると助かります。

#!/bin/zsh 

for dir in $(ls -d */); do
  echo ${dir%/*}
  echo $dir*.pdf
pdfunite $dir*.pdf ${dir%/*}.pdf
done

pdfunite *.pdf $1.pdf


A:次のコード hw.sh は、カレントディレクトリ内のすべてのサブディレクトリにある .pdf ファイルを結合し、1 つの .pdf ファイルに変換するスクリプトです。

1 行目では、シェルスクリプトが実行されるシェルの種類を宣言しています。この場合は、/bin/zsh というシェルを使用することを宣言しています。

2 行目から 4 行目では、カレントディレクトリ内のすべてのサブディレクトリについて繰り返し処理を行なっています。3 行目では、サブディレクトリ内の .pdf ファイルを取得し、4 行目では、取得した .pdf ファイルを結合し、そのサブディレクトリ名と同じ名前の .pdf ファイルを作成します。

最後の 2 行では、カレントディレクトリ内のすべての .pdf ファイルを結合し、1 つの .pdf ファイルに変換します。引数 $1 で指定された名前で出力されます。
どうしましょう。

2022年12月2日金曜日

ChatGPT(1)

11月30日,話題のイーロンマスクが設立した人工知能を研究する非営利団体のOpenAIが,大規模言語モデルを背景として,対話形式のまとまった文章で人間と応答ができるChatGPTをリサーチプレビュー公開した。リサーチプレビュー中は無料で試すことができるので,さっそくTwitterのトレンドになっていた。

OpenAIには登録してアカウントを持っていたので,さっそくログインして試すことができた。すごいです。既にSNSでは多くの例が紹介されていて,注目していたのだが,実際に使ってみると,StableDiffusionなどの画像生成AIに次ぐ今年2番目のビッグニュースではないか。


Q:日本のSF小説を読んだことがありますか?

A:申し訳ありませんが、私はコンピュータプログラムであり、物理的な書籍を読むことはできません。また、私は日本のSF小説を特に好むかどうかも分かりません。日本のSF小説は、世界的に有名な作家や作品が多く、その中には世界的なベストセラーとなったものもあります。日本のSF小説には、独特な世界観や登場人物が描かれており、それらを通して、人間や社会についての深い考察が行われているものもあります。是非、日本のSF小説を読んでみてはいかがでしょうか。


Q:大阪教育大学の学長は誰ですか

A:申し訳ありませんが、私は大阪教育大学の学長を特定することができません。私は大阪教育大学についての情報を持っていませんし、現在はウェブサイトを閲覧することもできません。私は訓練された大規模な言語モデルであり、現実世界の最新情報を提供することはできません。大阪教育大学の学長については、大阪教育大学のウェブサイトやその他の情報源を参照してください。

Q:どこにありますか

A:大阪教育大学は大阪府にあると思われます。大阪府は日本の広域圏であり、大阪市を中心とする地域です。大阪府内にはたくさんの重要な施設や観光スポットがあります。大阪教育大学の詳細な場所については、大阪教育大学のウェブサイトを参照するか、近くの人に尋ねることをお勧めします。

このAIはなんともそつのない答えを返すのであった。なお,前回は「大阪教育大学は,大阪府内にあります。具体的な場所は,大阪府大阪市旭区旭町です。大阪市内からもアクセスがよく、交通の便が良い場所に位置しています」という嘘の答えを返していた。このモデルでは,事実関係に誤りを含むことも結構あるようなので,使うときには注意が必要である。

入力をうまく調整すれば,かなりプロフェッショナルなプログラミングもこなしているようだ。

2022年12月1日木曜日

AIロボット授業・・・

振り子の振れ幅からの続き

なんだかなぁを目にしてしまった。 

発端は,何度目かの再放送である放送大学数理・データサイエンス・AI専門講座の第5回「教育とAIロボット」の回だ。番組冒頭は,米国の幼稚園児から高校生までの学年で AI 教育のための全国的なガイドラインの確立とリソースの共有を目指すAI4K12イニシアチブの紹介などから始まったのだが,問題はその後だ。

主任講師の山口高平さんが,2016年からはじめたクラスルームAIプロジェクトの話題だ。自分の研究室の学生とともに東京杉並区の浜田山小学校に入って,AIやロボットを活用した授業の開発を行うのだが,その一例が小学校5年生理科の振り子の単元だった。当時の浜田山小学校の校長の伊勢明子さんも放送大学講座に出演して大学院生とともにこの授業の様子を説明していた。

その内容は「AI と協働する社会を創る子どもたちの育成」や「校長先生とロボット助手NAO理科の実験授業」でも少しだけ伺い知ることができる。支援スタッフの大学院生と,ロボットなど大量の装置やシステムを持ち込んで,振り子の等時性を考える授業を行うのだ。

問題は,ロボットやセンサーを使うと実験の誤差を減らして再現性を極限まで高めることができると強調しているところにある。実験における測定操作には誤差が生ずることも含めてのこの単元の学びだろう。だから教科書では,データの平均操作までさせていたはずだ。センサーを使う実験もあってもよいが,小学校で一番最初に出会う定量実験からそれを始める必要はない。

さて,実験結果の1つは,長さ40cm,おもりの重さ20gの振り子で振れ幅を変えながら,10周期の時間を測るというものだ。空気抵抗や摩擦がなく糸の重さを無視できれば,理想値は12.7秒となる。振り子の振れ幅を 20°,40°,60°としたとき,児童の実験データは振れ幅とともに微増している。一方,初期条件をかなり厳密に揃えられるロボットによる実験の10周期はいずれの振れ幅も13.0秒で完全に一致していた。えっ?

振れ幅 20°と60°の単振子の理論値によれば,周期は6%ほど増えるので,13.7秒になってもおかしくないはずだが,なぜか13.0秒がきれいに3つ並んでいた。どうしてでしょうね。で,この授業の結論は,「ロボットは正確な実験ができる」と「振り子の周期は厳密に振幅によらない(振り子の等時性)」というわけだ。なんだかなぁ。

こんな理科の実験授業で,AIロボット授業の優位性を宣伝するのは勘弁してもらいたい。


写真:AIロボット授業・・・(読売教育ネットワークから引用)

2022年11月30日水曜日

なぜ歳を取ると時が速く流れるのか?

タイパからの続き

歳を取ると時間が速く流れるように感じることが多い(少年易老学難成)。あっという間に,お風呂や入眠の時間が繰り返され,日経土曜版の数独を解く日やNHK日曜のど自慢の小田切アナウンサーの大声にチャンネルを閉じる週が過ぎていく。このような意識における時間の感じ方の件について,次のようなことではないかと考えている。

子供や若者のころには,日々新しい経験が待っている。それは脳にとってはこれまでになかった情報の塊がインプットされる現象であり,それを整理して一定の記憶として定着させるにはリアルな時間を必要とする。

ところが,似たような経験が繰り返される場合,脳はそれを新しく処理する必要はなくなる。記憶にある過去の経験リストにリンクしたうえで,従来の経験との差分だけを処理すればよい。このように類似した経験はまとめて記憶の塊として憶えればよい。脳は面倒くさがりやだし,記憶容量や処理能力も無限ではないので,なんらかの効率化を図っているに違いないと踏んでいる。

話は少しそれるのだが,その結果面倒なことが起こる。例えば,類似した人の名前や言葉は共通部分を節約するため,近傍にまとめて記憶されているわけだ。これがどんどんたまってきて,記憶が古くなってしまうとリンクがぼやけてきて分離がむずかしくなる。これを記憶の縮退と名付けることにしよう。

えーっとあれあれ・・・,似たような名前がなかなか思い出せないのだ。経験の場合も類似したものが固着,融合してしまい,自分の記憶と家人の記憶がだいぶ別の模造記憶になってしまっている場合がある。親戚でたまに集まって互いの記憶を確認すると,あっと驚く発見がある。まあ,各人の立場の違いによる経験の差も影響しているかもしれない。

話を元に戻す。物理学の時間を定義するためには,周期的な物理現象の存在が必要だったように,意識における時間間隔は,自分の経験量によって刻まれるのではないか。その経験量とは物理的なものではなく,脳で情報処理される認知科学的な経験量=脳内処理時間に比例する量だと推察できる。

この結果,歳を取れば,経験が増えた分,多くの経験は単なる繰り返しや過去のそれの派生的経験になる。そこで,情報処理時間はリンクだけですんでしまい,意識時計の目盛りは実時間に比べてあまり進まなくなってしまう。もしかすると認知科学の論文でこれを実証するような研究があるのかもしれない。

ネットでは,このテーマについて,ジャネーの法則というちょっと怪しい理論を持ち出して論じている場合がある。これは単なる現象論なので,あまり説明にはなっていない。


図:DiffusionBeeによる少年易老学難成のイメージ(抽象語の羅列には弱いと思われる)

2022年11月29日火曜日

軸対称電荷分布(5)

軸対称電荷分布(4)からの続き  

クーロンポテンシャルを場合分けによって書くことができたが,実際に計算する場合には,いちいち分けるのは面倒だ。といっても高々六類型なのでどうってことはないといえばない。

軸対称電荷分布(2)でやったように,ヘヴィサイドの階段関数を使えば,$r_<,\ r_> \ $が表現できるので,クーロンポテンシャルのルジャンドル成分$\ \widetilde{V}_n(r)\ $を一つの関数を使って表わせる。そこで,$R(t)=\dfrac{1}{\sqrt{1+t^2}}, \ a=1.0,\ c= 0.707107$の場合について具体的に計算してみた。

rs[s_, r_] := s* HeavisideTheta[r - s] + r*HeavisideTheta[s - r];
rl[s_, r_] := r* HeavisideTheta[r - s] + s*HeavisideTheta[s - r];
R[t_] := 1/Sqrt[1 + t^2];
v[n_, r_] := 3*NIntegrate[ 1 + 0 * LegendreP[n, t] 
    *rs[s, r]^n * s^2/rl[s, r]^(n + 1), {t, 0, 1}, {s, 0, R[t]}]
v0 = v[0, 0]
2.64412
Plot[{v0, v[0, r]}, {r, 0, 3}]
Plot[{v0, v[2, r]}, {r, 0, 3}, PlotRange -> {2.55, 2.65}]
Plot[{v0, v[4, r]}, {r, 0, 3}, PlotRange -> {2.64, 2.665}]
Plot[{v0, v[6, r]}, {r, 0, 3}, PlotRange -> {2.638, 2.648}]

ここで,被積分関数の中に 1 を加えたのは,積分値が 0 になって計算が不安定になるのを防ぐためである。その部分の定数$\ v_0\ $を取り除くために,ルジャンドル関数の前に 0 をかけて積分することで$\ v_0\ $を求め,実際の計算ではこれを取り除く。

その結果は次のようになった。$\widetilde{V}_4(r),\ \widetilde{V}_6(r)$が,$r<c\ $でゼロになるのは,$\int ds\ $からでてくる$\ R(t)^{n-2}\ $がルジャンドル関数の$n$次未満の線形結合になるためである。


図:クーロンポテンシャルのルジャンドル成分 $\widetilde{V}_n(r)\  (n=0,2,4,6)$

2022年11月28日月曜日

世界はSFになる?

10年後,世界はSFになると思う」というAIのレビューをみつけた。著者は@bioshok3さん。

その結論は,ほぼ確実に訪れるであろう未来は一般化知能レベルのAIが2020年代後半から今後社会のあらゆる領域を変えていくであろうこと,である。丁度 1990年後半からのインターネット革命がイノベーションをもたらしたように,30年経って新しい波がきたということらしい。

最近の風潮は,何でもかんでもAIというキャッチコピーでまぶして,利権に結びつけるというものであり,話題も玉石混交でみんな辟易している。知に足のついた[1]丁寧な分析や考察が必要とされている。この論説では,予測集計サイト metaculcus や,合理的推論と意志決定のコミュニティ LessWrong なども参照しながら,未来予測をしている。

少し詳しく見ると,つぎのようにまとめている。
① ANI(狭いAI)~2025年まで
② GI   (一般化知能) 指示待ち人間または猫レベルの知能 2026-2030年頃実現
③ AGI(汎用人工知能) 2035-2040年頃実現
④ ASI (超知能) 2038~2045年頃実現

今,GPT-3などの大規模言語モデルから派生している,テキスト指示からの画像生成AI(text2img),img2img(画像の編集),text2music(音楽生成),text2motion(人間の動き),text2 3D(3次元物体生成),text 2video(映像生成),text2code,text2text(自然言語処理AI)などは,①の範疇のできごとだ。

著者は,そこそこな汎用性と実用性は持つが能動性や好奇心は本質的に持たないようなAIを一般化知能と呼んでいる。問題は,能動性や好奇心を獲得した汎用人工知能の段階がいつくるかということなのだが,そこに至れば超知能まではあっという間だという予想だ。

[1]誤変換だったのが,これはこれでありかと思ったところ,既出のフレーズだった

2022年11月27日日曜日

軸対称電荷分布(4)

軸対称電荷分布(3)からの続き  

軸対称電荷分布を持つ変形核の作るクーロン場のルジャンドル成分は次式で与えられる。
$\displaystyle V_n (r, s) = -\dfrac{Ze^2}{4\pi\varepsilon_0}\dfrac{4\pi}{v}P_n(s) \int_0^1 P_n(t)  \int_0^{R(t) } \dfrac{1}{r_>} \Bigl(\dfrac{r_<}{r_>} \Bigr)^n \ r'^2 dr' \ dt$
ただし,$Ze = \rho_0 v$,$\displaystyle v=4\pi \int_0^1 \int_0^{R(t)} r'^2 dr' dt$ である。

そこで,図のように観測点の座標$r$と電荷分布の関係で3つの場合に分けることができる。


図:軸対称電荷分布の断面と観測点の関係

観測点の半径$r$が$a>r>c$を満足する場合の交点($z$軸に垂直な円)は,図O$_2$における交点の座標を$(x,z)$,$z$軸からの方位角のコサインを$t=\tau$とすると,$(x=r \sqrt{1-\tau^2},\  z=r \tau)$である。そこで,電荷分布断面の曲線と観測点の半径$r$の円の交点$(x,z)$を求めれば,それらから$\tau$が定まる。例えば,楕円の場合は$\tau=\dfrac{a}{r}\sqrt{\dfrac{r^2-c^2}{a^2-c^2}}$である。

$V_n(r, s)= -\dfrac{Ze^2}{4\pi\varepsilon_0}\dfrac{4\pi}{v}P_n(s) \widetilde{V}_n(r)$とおくと
(1) ${\rm O_1}\ (r>a>c, r'<r) $の場合
$\displaystyle \widetilde{V}_n(r)= \dfrac{1}{r^{n+1}}\int_0^1  P_n(t) \int_0^{R(t)}r' ^{\ n+2}dr'\ dt = \dfrac{1}{r^{n+1}}\int_0^1  P_n(t) \dfrac{R(t)^{n+3}}{n+3} dt$

(2) ${\rm O_2}\ (a>r>c) $の場合
 (2-1) $(1>t>\tau,\ r'<r)$の場合
$\displaystyle \widetilde{V}_n(r)= \dfrac{1}{r^{n+1}}\int_\tau^1  P_n(t) \int_0^{R(t)}r' ^{\ n+2}dr'\ dt = \dfrac{1}{r^{n+1}}\int_\tau^1  P_n(t) \dfrac{R(t)^{n+3}}{n+3} dt$

 (2-2) $(\tau>t>0, \ r'<r)$の場合
$\displaystyle \widetilde{V}_n(r)= \dfrac{1}{r^{n+1}}\int_0^\tau  P_n(t) \int_0^r r' ^{\ n+2}dr'\ dt = \dfrac{1}{r^{n+1}}\int_0^\tau  P_n(t) \dfrac{r^{n+3}}{n+3} dt = \frac{r^2}{n+3}\int_0^\tau  P_n(t) dt $

 (2-3) $(\tau>t>0,\  r<r')$の場合
$\displaystyle \widetilde{V}_n(r)= r^n \int_0^\tau  P_n(t) \int_r^{R(t)} r' ^{\ 1-n}dr'\ dt = r^n \int_0^\tau  P_n(t) \Bigl[ \dfrac{r' ^{2-n}}{2-n} \Bigr]_r^{R(t)} dt \cdot (1-\delta_{n2}) $
$\displaystyle + r^n \int_0^\tau  P_n(t) \Bigl[ \log r' \Bigr]_r^{R(t)} dt \cdot \delta_{n2}$

(3) ${\rm O_3}\ (a>c>r) $の場合
 (3-1) $(r'<r)$の場合
$\displaystyle \widetilde{V}_n(r)= \dfrac{1}{r^{n+1}}\int_0^1  P_n(t) \int_0^r r' ^{\ n+2}dr'\ dt = \dfrac{1}{r^{n+1}}\int_0^1 P_n(t) \dfrac{r^{n+3}}{n+3} dt = \frac{r^2}{n+3}\delta_{n0}$

 (3-2) $(r<r')$の場合
$\displaystyle \widetilde{V}_n(r)= r^n \int_0^1  P_n(t) \int_r^{R(t)} r' ^{\ 1-n}dr'\ dt = r^n \int_0^1 P_n(t) \Bigl[ \dfrac{r' ^{2-n}}{2-n} \Bigr]_r^{R(t)} dt \cdot (1-\delta_{n2}) $
$\displaystyle + r^n \int_0^1  P_n(t)  \log R(t) dt \cdot \delta_{n2}\quad$(注)上式の後半は$\Bigl( -\dfrac{r^2}{2-n}\delta_{n0}\Bigr)$とまとまる。

2022年11月26日土曜日

軸対称電荷分布(3)

軸対称電荷分布(2)からの続き 

今から25年前,1997年度の出世・松井・渡会の卒業論文では,変形核の軸対称電荷分布の形として原点からの距離を$R(\cos\theta)$として,2種類の関数形を採用した。なお,$\theta$は対称軸である$z$軸正方向からの方位角を表わし,$x-y$平面に対して対称な分布を考えるので,$R(\cos\theta)$は$\cos\theta$の偶関数に限定される。$t=\cos\theta$とおいて,電荷密度$\rho_0$は,$Ze = 4 \pi \rho_0 \int_0^1 \int_0^{R(t)} s^2 ds\ dt $で与えられる。

(1) 回転楕円体:$R(\cos\theta) = \dfrac{ac}{\sqrt{c^2+(a^2-c^2)\cos^2\theta}}$である。
この場合の電荷密度は,$\rho_0=\dfrac{3Ze}{4\pi a c^2}$となる。
(2) 2次ルジャンドル関数:$R(\cos\theta) = a+(c-a) \cos^2\theta = \alpha + \beta P_2(\cos\theta)$である。
ただし,$\alpha = \dfrac{2a+c}{3c},\quad \beta = \dfrac{2(c-a)}{3}$。
この場合の電荷密度は,$\rho_0=\dfrac{105 Ze}{4 \pi (16 a^3+8a^2c + 6 a c^2 + 5 c^3)}$となる。

ところで,ルジャンドル関数は直交多項式であり,回転楕円体の断面の楕円はルジャンドル関数による展開で近似できる。この近似がどのくらい妥当するかを,長軸と短軸の比が1:2や2:1の場合について確かめてみる。楕円の離心率は,$e=\sqrt{\dfrac{a^2-c^2}{a^2}}$で与えられる,$\varepsilon=\dfrac{e^2 a^2}{c^2}$とおくと,$R(t) = \dfrac{a}{\sqrt{1+ \varepsilon t^2}}$となる。まず,$n=4$までの展開係数を求めておく。

$\dfrac{1}{\sqrt{1+ \varepsilon t^2}} \approx 1 - \dfrac{\varepsilon}{2}t^2 + \dfrac{3}{8}\varepsilon^2 t^4 = \alpha P_0 (t)+ \beta P_2(t) + \gamma P_4(t)$
$= \alpha + \beta \dfrac{3 t^2-1}{2} + \gamma \dfrac{35t^4-30t^2+3}{8}=1-\dfrac{\beta}{2}+\dfrac{3\gamma}{8} +\Bigl( \dfrac{3\beta}{2}-\dfrac{15\gamma}{4}\Bigr) t^2+\dfrac{35\gamma}{8}t^4$
これを解いて,$\alpha = 1 -\dfrac{\varepsilon}{6} + \dfrac{3\varepsilon^2}{40}$,$\beta = -\dfrac{\varepsilon}{3} + \dfrac{3 \varepsilon^2}{14}$,$\gamma = \dfrac{3\varepsilon^2}{35}$

a = 0.5; c = 1.0;
(* a = 1.0; c = 0.5; *)
d[a_,c_,t_] := a/Sqrt[1 + (a^2-c^2)/c^2 * t^2]
4 Pi * Integrate[Integrate[r^2, {r,0,d[t,a,c]}], {t,0,1}]
g0 = Plot[d[t,a,c], {t,0,1}, PlotStyle->Hue[0]]

f[n_,a_,c_] := Integrate[LegendreP[n,t]*d[a,c,t], {t,0,1}]
b = Table[f[n,a,c], {n,0,16,2}]
g[m_] := Plot[Sum[b[[n/2+1]]*LegendreP[n,t]*(2*n+1), {n,0,m,2}],
         {t,0,1}, PlotStyle-> Hue[(m+1)/10]]
Show[Table[{g0, g[k]}, {k, 4, 6, 2}], PlotRange -> {0.4,1}]



図:軸対称電荷分布(左 oblate,右 prolate,横軸 $t=\cos\theta$,縦軸 $R(t)$)

扁平率 $f=\dfrac{a-c}{a}\ $が-1〜1/2の範囲では,4次のルジャンドル展開で回転楕円体をほぼ表現できる。6次ならば十分だ。

2022年11月25日金曜日

タイパ


アインシュタインの特殊相対性理論では,異なった座標系(慣性系)の観測者は,それぞれの時間軸を持っていて,時間の進み方が必ずしも共通とはならない。しかし,我々の日常生活の世界では,相対速度が光の速度に近い観測者はいないから,時間の進み方は共通のはずだった。

NHKの朝のニュースでタイパ(タイム・パフォーマンス)を取り上げていた。具体的には,動画を2倍速でみるような視聴形態が若者には普通に見られるが,年寄りではそうでもないことを結論づける文脈だった。

コスパ(コスト・パフォーマンス)という言葉は,費用対効果という意味で完全に社会に定着し,企業だけでなく行政や公共分野でもあたりまえに使われている。タイパもコスパと結びつけばそうなるだろう。なんといっても時は金なりという,E = m c^2に匹敵するゴールデンルールで結ばれるのだから。

教育系YouTubeでいえば,ヨビノリ(1993-)では,板書を時間短縮する動画編集があたりまえのように導入されていたが,鈴木貫太郎(1966-)の場合は,リアルタイムだけれど,できるだけ高速な論理展開がなされている。コロナ禍で全国的に導入されたオンライン授業の非同期型コンテンツは,学習者が視聴速度を自由にコントロールできる。若者にとっては速度可変視聴があたりまえの光景なのだろう。

ビデオテープの時代だと,早送りはできるとはいってもそれほど便利ではなかった。スマートフォンの中でデジタル動画が自由に操作編集できる時代には,時間の制御はとても簡単になった。その結果,意識や思考における時間の進み方は個人ごとに相対的であるという相対論の世界が実現する。

いや,もともとそうだったのかもしれない。子供の時間と若者の時間と大人の時間と老人の時間は,そもそもズレていたのだ。あるいは,個々人によって理解の速さも表現の速さも異なっている。そのズレをコミュニケーションで同期しながら社会は回ってきた。

新しいテクノロジーは,そのギャップ(=時間の進み方のズレ)を埋める方に作用するのか,あるいは拡大する方向を推し進めるのか。

一例をあげてみる。大学在職時代に,聴覚障害を持った学生のためのノートテイク支援というボランティアによる活動があった。板書の間に教員が話す説明を聞き取ることができないため,補助者がそれをパソコンで文字起しして,当該学生のノートパソコンに伝えるというものだった。今では,補助者なしのAI音声認識がその水準に達している。これによって,時間のズレは解消されそうだ。

もう一例。放送大学の松井哲男さんの授業で,「初歩からの物理学」や「物理の世界」という講義をときどき聞くことがある。彼は昔からそうだったけれど,頭の回転がはやくて早口で適確に圧縮された説明をする。確かに,教科書の内容はカバーできているしエピソードもふんだんに加えられているのだけれど,分かりやすいかというと,なぜか微妙に未消化感が残ってしまう。講師と受講生に流れる時間のズレのせいではないかと想像している。これはテクノロジーとは関係なかった。

物理的な時間と意識の時間を混同しながら議論してきたのであたまはぐるぐる回って話はまとまらない。いずれにせよ気になっている問題なので,忘れないようにしよう。


図:stopwatch time performance fine style of dali , sketch(DiffusionBeeによる)


2022年11月24日木曜日

軸対称電荷分布(2)

軸対称電荷分布(1)からの続き

前回の$z$軸対称で,$x-y$平面にも対称な電荷分布のつくるクーロンポテンシャルは,
$\displaystyle V(r, s) = \dfrac{-e}{4 \pi \varepsilon_0} \sum_{n=0}^\infty  P_n(s)  \int_{0}^{1}  \int_0^{R(t)} \rho(r', t) P_n (t) \Bigl\{   \dfrac{1}{r_>} \bigl (\dfrac{r_<}{r_>}\bigr)^n \Bigr\}  4\pi r'^2 dr' d t\ $であった(ただし,$s=\cos\theta$,$t=\cos\theta'$)。

最初に球対称の場合で,上記の式を確認する。このとき$R(t) =R$, $\rho(r', t) = \rho(r') = H(R-r') \rho_0$である。$H(x)\ $はヘヴィサイドの階段関数,$\dfrac{4\pi}{3} R^3 \rho_0 = Ze $である。
このとき$\ n=0\ $の項だけが残り,$\displaystyle V(r) =  \dfrac{-e}{4 \pi \varepsilon_0}  \int_0^{R} \rho_0  \dfrac{1}{r_>}  4\pi r'^2 dr' $

(1) $r>R\ $の場合:
$\displaystyle V(r) =  \dfrac{-e}{4 \pi \varepsilon_0}  \int_0^{R} \rho_0  \dfrac{1}{r}  4\pi r'^2 dr'  =  \dfrac{-e}{4 \pi \varepsilon_0}  4\pi  \rho_0  \dfrac{1}{r} \int_0^{R}  r'^2 dr'  =   \dfrac{-Ze^2}{4 \pi \varepsilon_0} \dfrac{1}{r} $

(2) $r<R\ $の場合:
$\displaystyle V(r) =  \dfrac{-e}{4 \pi \varepsilon_0}  4 \pi \rho_0 \Bigl\{ \int_0^r   \dfrac{1}{r}  r'^2 dr'  + \int_r^R  \dfrac{1}{r'} r'^2 dr'  \Bigr\} $
$\displaystyle  =  \dfrac{-e}{4 \pi \varepsilon_0}  4 \pi \rho_0 \Bigl\{ \dfrac{1}{r} \dfrac{r^3}{3}  +   \left [ \dfrac{r'^2}{2} \right ]_r^R  \Bigr\} =  \dfrac{-Ze^2}{4 \pi \varepsilon_0} \Bigl\{\dfrac{r^2}{R^3} + \dfrac{3(R^2-r^2)}{2R^3}\Bigl\}$
$\displaystyle  =  \dfrac{-Ze^2}{4 \pi \varepsilon_0 }\dfrac{1}{R} \Bigl\{\dfrac{3}{2} - \dfrac{r^2}{2R^2}\Bigl\}$

これで,球対称一様電荷分布によるクーロンポテンシャルが再現できた。

Mathematicaでは次のように計算する。
v[r_] := -3*NIntegrate[s^2/
       (r*HeavisideTheta[r-s] + s*HeavisideTheta[s-r]), {s, 0, 1}]
Plot[v[r], {r, 0, 5}, PlotRange -> {0, -1.6}]

図:球対称一様電荷分布のクーロンポテンシャル(R=1.0, V(R)=-1.0)


2022年11月23日水曜日

軸対称電荷分布(1)

ドーナツ地球(3)からの続き

ドーナツ地球の重力場のことを考えていたら,昔,卒業論文のテーマに変形核のクーロン場中のミューオン原子波動関数を求めるという課題を出していたことを思い出した。ちょっと再現してみようと試みたけれど,まったく頭が働かない。

過去の卒論は,退職前にあらかた pdf にして保存したはずなのに見つからない。最近ありがちなパターンである。朝早くうとうとしていたら,ふと探し方に気がついた。一度探していた外付けハードディスクを再度検索して,無事に目的のフォルダを発見することができた。

1997年度に研究室配属された出世・松井・渡会の3人チームにテーマを与えて,手間のかかる変形核のクーロンポテンシャルの積分はMathematicaで計算するように指示したものだった。自分ではすぐ導出できたものが,4回生のチームが追いかけてくるのに,かなり時間がかかったのを憶えている。ところがいまでは,その導出方法を自分では簡単に再現できないような始末だ。

さいわい,彼らの卒業論文をみると手順を理解することができそうな・・・。とりあえず,砂川さんの理論電磁気学で学んだように,任意の電荷分布がつくるクーロン場$V(\bm{r})$をルジャンドル関数で多重極展開すればよい。変形核の軸対称電荷分布が$\ell=2$の球面調和関数$Y_{20}(\theta, \phi)$の形の一様分布とすると,回転楕円体の場合よりも計算は簡単になる。

$V(\bm{r}) = \dfrac{-e}{4 \pi \varepsilon_0} \int_V \dfrac{\rho(\bm{r'})}{|\bm{r}-\bm{r'}|}  d \bm{r'} = \dfrac{-e}{4 \pi \varepsilon_0} \int_V \dfrac{\rho(\bm{r'})}{\sqrt{r^2+r'^2-2r r' \cos \omega}}  d \bm{r'} $
$ \displaystyle = \dfrac{-e}{4 \pi \varepsilon_0} \int_V\rho(\bm{r'}) \Bigl\{ \sum_{n=0}^\infty  P_n(\cos\omega) \dfrac{1}{r_>} \bigl (\dfrac{r_<}{r_>}\bigr)^n \Bigr\}  d \bm{r'} $

ここで,$(r_<, r_>)$は $\ r<r' \rightarrow (r, r')\ $または$\ r'<r \rightarrow (r',r) \ $である。さらに,$\cos\omega = \hat{\bm{r}}\cdot \hat{\bm{r'}} = \sin\theta \sin\theta' \cos(\phi-\phi') + \cos \theta \cos \theta'$であり,これはルジャンドル加法定理でさらに次のように展開できる。
$\displaystyle P_n(\cos\omega) = \dfrac{4 \pi}{2 n + 1}\sum_{m=-n}^n Y_{nm}(\theta, \phi) Y_{nm}^*(\theta', \phi') $

したがって, $\displaystyle V(\bm{r}) = \dfrac{-e}{4 \pi \varepsilon_0} \sum_{n=0}^\infty  \sum_{m=-n}^{n} \dfrac{4 \pi}{2n+1} Y_{nm}(\theta, \phi)  \int_V \rho(\bm{r'}) Y_{nm}^*(\theta', \phi') \Bigl\{   \dfrac{1}{r_>} \bigl (\dfrac{r_<}{r_>}\bigr)^n \Bigr\}  d \bm{r'} $

軸対称かつ$x-y$平面に対称な電荷分布に限定すれば,$m=0 \ $の項だけが残り,$Y_{n0}(\theta, \phi) = \sqrt{\dfrac{2n+1}{4\pi}} P_n (\cos\theta)$ を使うと,クーロンポテンシャルは,$\displaystyle V(\bm{r}) = \dfrac{-e}{4 \pi \varepsilon_0} \sum_{n=0}^\infty  P_n(\cos \theta)  \int_V \rho(r', \cos \theta' ) P_n (\cos \theta') \Bigl\{   \dfrac{1}{r_>} \bigl (\dfrac{r_<}{r_>}\bigr)^n \Bigr\}  2\pi r'^2 dr' \sin \theta ' d \theta' $
$\displaystyle = \dfrac{-e}{4 \pi \varepsilon_0} \sum_{n=0}^\infty  P_n(s)  \int_{0}^{1}  \int_0^{R(t)} \rho(r', t ) P_n (t) \Bigl\{   \dfrac{1}{r_>} \bigl (\dfrac{r_<}{r_>}\bigr)^n \Bigr\}  4\pi r'^2 dr' d t$

ただし,$s=\cos\theta, t=\cos\theta'$と置いた。軸対称な一様電荷分布は,$\int_0^{R(t)} \rho(r', t) $ で表現され,$R(t)\ $が方向に依存する一様電荷分布の境界までの距離を表わしている。


図:ルジャンドル加法定理による展開

2022年11月22日火曜日

Mathics(2)

Mathics(1)からの続き

ちょうど2年前の今ごろ,Mathicsについての記事をかいていたが,完全に記憶の彼方に跳んでいた。別の記事を復習していてたまたま目に付いたのである。

Mathicsは,Pythonベースのフリーでオープンソースの汎用計算機代数システムであり,Mathematica®と互換性のある構文と関数を特徴としている。早速,MacBook Air M1で動かしてみると動かない。pip3 install Mathics で簡単に復活した。
Mathics 5.0.2
on CPython 3.10.8 (main, Oct 13 2022, 09:48:40) [Clang 14.0.0 (clang-1400.0.29.102)]
using SymPy 1.10.1, mpmath 1.2.1, numpy 1.23.4

Copyright (C) 2011-2022 The Mathics Team.
This program comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under certain conditions.
See the documentation for the full license.

前回より,かなりバージョンがあがっている。 GUIの画面も実装しているようなので試してみたが,これがなかなか難渋する。どうやら,Three.jsというJavascriptによる三次元グラフックシステムを利用しているらしい。これも7-8年前に流行ったようだが全く知らなかった。MathicsのGUI版の方は,Mathics-Djangoという名前で,PythonのウェブフレームワークのDjangoの上で動いていた。

pip3 install Mathics-Django 
cd mathics-django-master/mathics_django
*You have 21 unapplied migration(s). 
python3 manage.py migrate
python3 manage.py runserver 
*error AttributeError: module 'scipy.linalg' has no attribute 'inv'
pip3 install scipy-stack
python3 manage.py runserver
*error sqlite3.OperationalError: unable to open database file
*error django.db.utils.OperationalError: unable to open database file
mkdir ~/.local/var/mathics 
djangoは,作業ディレクトリ(~/mathics-django-master/mathics_django)で,manage.py runserver を実行すると,ローカルのウェブサーバー( http://127.0.0.1:8000/)が立ち上がる仕組みになっている(エラーが出たら指示に従ってディレクトリに必要なファイルを持ってくる)。最初のエラーは,scipy-stackのインストールで,次のエラーは,データベースの場所の問題だったが,~/.local/var/mathicsというデフォルトのディレクトリを作成することでようやく解決することができた。

早速実行してみたが,相変わらず,計算量の制限は大きく,1500!(10進 4114桁)くらいまでしか計算できない。本物のMathematicaならば,10000000!(10進 65 657 059桁)でも平気で計算できるのだけれど。

なお,List of computer algebra systems には無事に掲載されていた。


図:MacBook Air M1にインストールしたMathics GUI版

2022年11月21日月曜日

マストドン(4)

マストドン(3)からの続き

マストドンについては,5年前にすこし齧っただけだった。そこで,初心者として一から勉強してみることにした。

(1) 入門テキストはいろいろあったけれど,マストドンWikiがよかった。

マストドンはメールとよく似ている。複数のメールサーバは,共通のプロトコル(SMTP)に基づいて,異なったサーバの登録ユーザ同士が互いにメールをやりとりできる仕組みを提供している。一方,マストドンとは個人や組織が運営する複数のサーバの連合(Federation)間の共通のプロトコル(ActivityPub)で記事(ポスト)をやりとりする仕組みのことだ。SNSの特徴であるフォロー関係は自サーバだけでなく,連合に属する他サーバのユーザに及んでいる。

マストドンの記事における文字数上限は,ツイッター(140字)の3.5倍の500字である。ツイート(トゥート)やリツイート(ブースト)はできるが,引用リツイートはできないし,記事内容の全文検索もない。タイムラインには三種ある。(1) ホーム:自分のフォロー関係(連合を含む),(2) ローカル:所属しているマストドンサーバの利用者全体,(3) 連合:所属サーバが連合しているすべてのサーバの利用者の全体。

ツイッターは(他の主なSNSもそうだけれど),一企業(組織)が運営する一つのサーバシステムの元にすべてのユーザが登録されている。このサーバシステムの運営が終了すればそれでおしまい。そんなわけで,イーロン・マスクの動きで不安になったユーザがエクソダスの準備を始めた。マストドンは,一つのサーバの運営が終了しても,そのアカウントはフォロー関係を維持しながらサーバ間で引っ越すことができる(できない部分もある?)。フェデレーション環境は全体として存続しているので,相対的には安心な仕組みだ。

(2) マストドンの公式統計資料は探してもなかなか出てこなかったが,Mastodon instances and network APIを使った,What goes on Mastodon というサイトが見やすかった。そこにある図から読み取ったマストドンサーバの登録者数と投稿数は次のとおり。
サーバ           ユーザ数 ポスト数
mastodon.social 87.7万 42.3M
pawoo.net         77.9万 67.3M
mstdn.jp            28.8万 62.0M
mastodon.cloud   22.8万 4.5M
mastodon.online 16.5万 2.5M
mas.to               12.7万 1.7M
mastodon.world    7.4万 0.2M

図:1700個のマストドンサーバーの分布(横軸: ユーザ数,縦軸: 投稿数)

イーロンマスクは,6兆円を使ってツイッターを買収してCEOになった。その目的の一つが右寄り(≒差別的)言論の開放であり,そのシンボルとしてトランプ元大統領のアカウントを復活させた [1]。しかしトランプ本人はツイッターに戻るつもりはないらしい。

[2]The FederationFediverseについて)

2022年11月20日日曜日

マストドン(3)

マストドン(2)からの続き

そもそも現在のSNS事情はどうなっているかを復習してみた。国内で月当りアクティブユーザ数(MAU)の多い7つのSNSを順に並べると以下のようになる(Social Media Lab 2022.11)。
                国内(MAU) 世界(MAU)
LINE       9,200万 1億9,300万
YouTube     7,000万 20億
note       6,300万  −  
Twitter   4,500万 3億3,300万
Instagram 3,300万 10億
Facebook   2,600万 29億3,000万
TikTok              1,700万 10億

なお,世界的にはこれらの他に,WhatsApp(20億,メタ=米国) ,WeChat(13億…中国国内分,テンセント=中国)などもある。

7つのSNSすべてについて自分のアカウントを作っている。LINEは家族連絡用のみ,YouTubeは情報検索・情報入力用,noteは無料コンテンツに誘導された場合だけ,Twitterは世の中の動きをみるため(エコーチェンバーになっているのであまり意味がないかも),Instagramは散歩スナップの発信用,高齢者ユーザが多いFacebookでは友人・知人の様子がわかる,若者向けTikTokはほとんど使っていない。

マストドンには,分散サーバ(インスタンス)の数が1650ほどある。その合計ユーザ数が700万人だ。各サーバ平均4000人だが,フォローしていればどのインスタンスのユーザでも自分のタイムラインに見える。ただし,Twitterに比べて1桁小さい規模である。Twitterでは900人ほどをフォローしフォローされているが,5年前のマストドンで自分がリンクしていたのは200人ほどであったが多くは休眠状態だ。そんなわけで,タイムラインを眺めていても世界の様子を知ることはまだできない。


図:SNSのイメージ(by DiffusionBee)

2022年11月19日土曜日

弾道ミサイルの軌道(5)

弾道ミサイルの軌道(4)からの続き

NHKの報道によれば,11月18日(金)午前10時14分,北朝鮮のICBMが発射され,午前11時23分に北海道渡島大島の西200kmの海上に落下した。飛行時間は69分,飛行距離は1,000km,最高高度は6,100km,速度はマッハ22とされている。

また,弾頭質量によっては15,000kmを越える射程となり,米国本土を狙えるとあった。しかし,今回の実験もロフテッド軌道だったので射出角は90度にかなり近いはずだ。これをより低い角度にすれば質量を変化させなくても十分到達できると思うけれどどうなのか。とりあえず,自分のモデルで計算して確かめてみよう。

g = 0.0098; R = 6350; τ = 87; p = 0.75; a = 0.0446; s =  45 Degree; T = 5100; 
g = 0.0098; R = 6350; τ = 87; p = 0.75; a = 0.0446; s =  86.2 Degree; T = 4140; 

fr[t_, τ_] := a*Sin[s]*HeavisideTheta[τ - t]
ft[t_, τ_] := a*Cos[s]*r[t]*HeavisideTheta[τ - t]
fm[t_, τ_] := -p/(τ - p*t)*HeavisideTheta[τ - t]
sol = NDSolve[{r''[t] == -fm[t, τ]*r'[t] + h[t]^2/r[t]^3 - g R^2/r[t]^2 + fr[t, τ], 
r[0] == R, r'[0] == 0, h'[t] == -fm[t, τ]*h[t] + ft[t, τ], h[0] == 0}, {r, h}, {t, 0, T}]
f[t_] := r[t] /. sol[[1, 1]]
d[t_] := h[t] /. sol[[1, 2]]
Plot[{6350, f[t]}, {t, 0, T}]
Plot[{f[t + 1] - f[t], d[t]*R/f[t]^2, d[t]/f[t]}, {t, 0, T},  PlotRange -> {-4, 8}]

tyx[T_] := {T, f[T] - R, NIntegrate[R d[t]/f[t]^2 , {t, 0, T}]}
v[T_] := Sqrt[(f[T] - f[T - 1])^2 + (R d[T]/f[T]^2)^2]
{tyx[T], v[T]/0.340}
{{4140, 41.9866, 1036.42}, 22.9628}
g0 = ParametricPlot[{NIntegrate[R d[t]/f[t]^2 , {t, 0, tt}],  f[tt] - R}, {tt, 0, T}]

このモデルの仮定は次のようなものである。(1) 距離の二乗に反比例する万有引力が働く極座標での運動方程式を解く。(2) コリオリの力や空気抵抗は考えない。(3) 推進剤の燃焼噴射によって,投射体の速度ベクトルの方向に等加速度(a=0.0446 km/s^2)を発射時から一定時間加える。これにより投射体の質量は燃料が0になるまで一定の割合で減少する。(4) 多段式ロケットは考えず,一段式として全質量に対する燃料比(p=0.75)を与える。このとき,運動方程式は全質量に依存しない。(5) 飛行時間の観測値を与え,投射角度と推進加速時間を主パラメータとして,飛行時間と最高高度の観測値が再現されるように調整する。

結論としては,弾頭質量(というか全質量に対する燃料比)を変化させなくても,射出角を86.2度から45度に変更すれば,飛行時間5100秒(85分)で到達距離が14,600kmになる。なお,ロフテッド軌道の場合の弾道ミサイルの最高速度はマッハ23となり,報告されたマッハ22をほぼ再現した。


図:同一パラメタで射出角と飛行時間だけを変えた場合の弾道軌道

P. S. 11月19日の北朝鮮の朝鮮中央通信によれば,このロフテッド軌道の弾道ミサイルは,新型大陸間弾道弾「火星17」の試験発射であり,最高高度 6,040.9 km ,飛行距離 999.2 km ,飛行時間 4135 秒とのことだ。なお,同じ火星17は,今年の3月24日には,最高高度 6,248.5 km ,飛行距離 1090 km ,飛行時間 4052 秒で飛行している。

[2]北朝鮮のミサイル等関連情報(続報第2報,防衛省・自衛隊)
  (防衛省からは,わかった部分から順に発表されている。発表時刻を入れるべきでは)


2022年11月18日金曜日

マストドン(2)

マストドン(1)からの続き

イーロン・マスク(1971-)が,2022年10月31日にツイッター社を買収完了してCEOに着任してから混乱が始まっている。なぜかWikipediaの日本語版記事には,ツイッター買収後の話題はほとんどない。

社員の半数の3500人に解雇通告を出したため,モデレーションが機能しなくなり,差別的な投稿内容がほぼ野放し状態になってしまったようだ。また,本人確認アカウントが有料化されて,公式マークと分離されたことで,ニセ公式アカウントが横行しているらしく,この方針はペンディングになっているらしい。さらに,11月18日には,本社オフィスが従業員に対して11月21日まで閉鎖されるという告知がきた。

リバタリアンであるイーロン・マスクが,言論の自由というときには,大きな副作用がともなう。公共セクターが私的所有されることは,メディアだけでなく,エネルギーや交通その他の社会インフラでもこれまでに長い歴史があるのが,マスクは7兆円で買ったツイッターを玩具のようにいじくり回しているようだ。

これに危機感をいだいたユーザや広告主のツイッター離れが進んでいる。その行き先の一つが,マストドンである。2016年にはじまり,2017年の前半にブレイクしたもののあっというまにしぼんでしまった分散型 Twitter 類似SNSだ。数学記号を自由に使えるmathtod.online の方はときどきアクセスしていたが,5年ぶりに日本で最大規模のユーザをかかえるサーバのひとつであるmstdn.jpに帰ってみた。もっかのはやりは,フェディバードらしい。

結城浩や,るまたんなどごく少数のアクティブユーザが帰還しているだけなので,まだどうなるのかわからない。


図:.mastodonの公式イメージかな?

2022年11月17日木曜日

無敵

「無敵」というのは,スタニスラフ・レム(1921-2006,今ではスタニスワム)のSF小説,砂漠の惑星(1964)の原題である。エデン(1959),ソラリスの陽のもとに(1961),砂漠の惑星が,レムのファーストコンタクト三部作とよばれている。フランク・ハーバート(1920-1986)のデューンシリーズの第一作が砂の惑星(1965)と訳されたので,なんだか紛らわしくて困る。早川書房がわるいのか。

そのレムは,サイバネティックスに大きな影響を受けていて,砂漠の惑星では,砂つぶのようなサイズで全体として知能を持ち自己増殖する自動機械の集合体が登場する。それがいよいよ現実の存在になろうとしている。

コーネル大学のグループが,アリの頭よりも小さな電子脳(1000トランジスタのCMOSクロック回路)をマイクロロボット(40 μm × 70 μm)に搭載し,外部からの制御なしに自律的に動くことを可能にした。ロボットの脚は白金ベースのアクチュエーターで,回路と脚の両方が太陽光発電で駆動している。

このマイクロロボットは半導体製造プロセスのような手法を用い,シリコンウェーハで大量生産できる。光センサーや化学物質センサーを搭載して体内に注入すれば,ロボットは折り紙の原理で変形して,その集合体が標的となるガン細胞を取り囲むような将来イメージも描かれている。ほとんど,アイザック・アシモフ(1920-1992)がノベライズした映画のミクロの決死圏(1966)の世界でもある。


写真:コーネル大学のマイクロロボットの顕微鏡写真(2020)

2022年11月16日水曜日

三宅雪嶺記念館

好きな作家を三人あげなさいといわれたら,最近ならば町田康がその一人に入るような気がする。飯田橋文学会では,日本文学の作家のインタビューシリーズの動画を制作しているが,その最近号に町田康がでてきて,聞き手はちょっといやだったけれど,面白くまじめな話をしていた。

それで,気がつくと三宅雪嶺(1860-1945)を検索していた。別に町田康がその名前を出していたわけではないので,因果関係は特にない。なんだかよくわからない。三宅雪嶺の名前は金沢出身の文筆家ということで意識の片隅にあった。町田康のインパクトで意識空間にさざ波が立ったのかもしれない。

三宅雪嶺記念資料館が,流通経済大学に設けられていて,10年ほど前に10周年を迎えたという記念誌が発刊されていた。雪嶺の孫の三宅立雄名誉教授が雪嶺の資料を寄贈したことで開設に至った。金沢市の新堅町に生まれた三宅雪嶺の資料は,金沢ふるさと偉人館にもある。雪嶺は15歳で金沢を離れ,名古屋の愛知英学校を経て東京開成学校(東京大学)に進学する。

金沢泉丘高等学校の前身の石川県尋常中学校(後の金沢第一中学校)が設立されるのが1893年なので,雪嶺の学生時代とは重ならない。泉丘高校の前庭にあった厳霜碑は明治41年に日露戦争で亡くなった一中卒業生の慰霊碑だ。現在は全物故同窓会員の慰霊の碑となっており,その碑文を三宅雪嶺が書いている。3年間この慰霊碑を目にしており,前でクラス写真を撮ったりしたけれど,それが何かまったく理解していなかった。

三宅雪嶺は,哲学者,国粋主義者,評論家である。その妻の三宅花圃(1869-1943)は,明治時代の初めての女性小説家であり,同門の樋口一葉の誕生に影響を及ぼしている。右翼,ジャーナリスト,政治家の中野正剛は,雪嶺の娘婿である。ナチスに近い右翼政党の東方会を設立した中野正剛は東条英機と激しく対立し,中野正剛事件で自殺に至っている。


写真:金沢泉丘高校の厳霜碑(三宅雪嶺の碑文)

2022年11月15日火曜日

80億人の日

世界人口デーからの続き

2022年11月15日に世界の推計人口が80億人を超えたというニュースが流れている。その内容は,7月11日の世界人口デーに公開された国連人口基金世界人口推計で示されていた。

11月15日は,「80億人の日」と命名されたらしい。そもそも世界人口をちゃんと数えられているかという問題もある。日本では国勢調査も行っているので,それなりの精度があるのではないかと昔は思っていた。が,昨今の政府の統計偽装か改竄からすれば,日本の公的なデータの信頼性も眉唾でかからないといけないような時代になった。

世界人口時計によれば,1日に34万人生まれ,17万人亡くなっているので,人口の有効桁数だけでなくゆらぎも考慮する必要があるかもしれない。11月15日とピンポイントで指定しているのは,動物園の1000万人目入場者おめでとうみたいな,象徴的な意味だけなのだろう。

国連は,世界人口の場合の○○億人目の節目の赤ちゃんを選んでいるらしい。まあ,エイヤっと決めるのだろうけれど。仮想世界で完全に世界の情報が把握できている場合は,すべての誕生アバターには,その誕生時刻における世界の総アバター数をリンクすることができる。そこで,総アバター数から逆リンクをたどれば,これに対応する誕生アバターの集合が得られる。つまり,○○億人目のアバターはゆらぎのせいで(あるいは単調増加関数でないため)一意的に定まらないということになる。


図:世界人口80億人のスクリーンショット


2022年11月13日日曜日

ホール・アース・カタログ

NHKの映像の世紀で先日放映された「世界を変えた“愚か者”フラーとジョブズ」がすごく面白かった。

フラーはアメリカの思想家,建築家であるバックミンスター・フラー(1895-1983)。宇宙船地球号という概念の提唱者であり,ジオデシック・ドームを考案した。1985年に見つかった炭素の同素体のフラーレン(buckminsterfullerene,buckyballs)はフラーにちなんで名付けられている。一方,ジョブズは(Apple)のスティーブ・ジョブズ(1955-2011)である。

この二人の愚か者が,ホール・アース・カタログを経由して強く結ばれていたというのが放送のテーマだった。2005年6月12日にスタンフォード大学の卒業式に招かれたジョブズのスピーチは,簡単な挨拶の後にMy story is about death から始まるが,とても印象深いものだった。その結びの言葉である,Stay Hungry. Stay Foolish. は彼が大きな影響を受けたホール・アース・カタログの最終号からきている。

ホール・アース・カタログは,スチュアート・ブラント(1938-)が創刊したヒッピー文化やハッカー文化などのカウンターカルチャーの雑誌だった。そのブラントが,バックミンスター・フラーの多大な影響を受けていた。カタログの最初には,フラーの4冊の本が取り上げられ,The insights of Buckminster Fuller are what initiated this catalog.とあった。(スチュアート・ブラントが後に原発推進の立場になっていたのはまた別の話,松岡正剛の千夜千冊を参照

ホール・アース・カタログが1974年に終刊を迎えたとき,余剰金の2万ドルをどうするかが議論となり,それは結局,平和活動家のフレッド・ムーア(1941-1997)に託された。そのフレッド・ムーアは,1975年3月にメンロパークで立ち上げられたホームブリュー・コンピュータ・クラブ(1975-1986)の創設に加わる。ジョブズはアップルの共同創業者となるスティーブ・ウォズニアック(1950-)とともにこのクラブに参加していたのだった。

2011年にジョブズは,MacやiPhoneやiPadを残し膵臓ガンで亡くなった。彼が生前に計画していた,ノーマン・フォスター(1935-)のデザインによるアップル・パーク本社の特徴的なドーナツ型の建物は,2017年にできあがった。ノーマン・フォスターはバックミンスター・フラーの弟子でもあった。


写真:アップルパークのアップル本社(Wikipediaから引用)

2022年11月12日土曜日

一谷嫩軍記

久々の国立文楽劇場で,第二部の一谷嫩軍記を観劇する。

弥陀六内の段(睦太夫・團吾)から,脇ヶ浜宝引の段(織太夫・燕三),熊谷桜の段(希太夫・清丈)まで気持ちよく寝てしまった。織太夫は病休の咲太夫の代演だったようで,ここはちゃり場だとはいうものの,声が大きいだけで粗っぽくあまり聞く気にはならなかった。家人によれば希太夫が良かったということだが,これは残念ながら聞き逃してしまった。

熊谷陣屋の段の前半が竹本錣太夫と竹澤宗助。モチモチした語り癖はあるとはいうものの,うまく語り分けていて,熊谷次郎直実と妻相模と敦盛の母の藤の局のややこしい話が進んでゆく。後半の切は豊竹呂太夫と鶴澤清介。語り始めの三味線の前奏部分は,似たようなメロディだけれど,宗助に比べると清介の音の方が一段と澄んでいる。バチ捌きはともにするどい。呂太夫は相変わらず声が出ていない。瞬間的なバーストがあったものの,なんだか残念だ。

熊谷陣屋の段は何度か見ているはずだけれど,いまだに物語が飲み込めていなかった。義経が出した桜の前の制札にある「一枝を伐らば一指を剪るべし」の後半の「一指」が「一子」にかかっていて,敦盛を討取ったと見せかけて自分(熊谷直実)の子どもの小次郎の首を差し出すことにせよと解釈するところまではよい。そこに絡む藤の局と相模の関係とか,弥陀六の位置づけがわからなかった。今回,肝腎のその説明部分で寝ていたのだけれど,最終盤で義経を挟んで弥陀六,藤の局,相模,熊谷次郎直実の5人が対称的に並んで見得を切っていたのでなんとなく雰囲気はわかった。

今日は珍しく花道が設置されていたが,第三部に弁慶の勧進帳があるからだった。


図:一谷嫩軍記の熊谷次郎直実(Wikipediaから引用)

2022年11月11日金曜日

最小交換硬貨枚数(2)

最小交換硬貨枚数(1)からの続き

前回の結果からいくつかの疑問がでてきた。最小交換硬貨枚数の平均値が最小となる中間硬貨は5円でよいのだろうか。5の倍数以外だと,ドルでは25セント,ユーロでは,0.02ユーロ,0.2ユーロ,2ユーロなどの硬貨がある。中国(元,角)や韓国(ウォン)は日本と同じで5の倍数だけだ。

そこで,2円〜9円までの中間硬貨を設定したときの最小交換硬貨枚数の平均値を求めてみることにする。ついでに,硬貨種類別の交換枚数の合計や情報エントロピーも合わせて計算する。なお,1円から1000円までの一円刻みの商品の支払いを硬貨のみで行い,手持ち硬貨数やおつりの硬貨数は冗長性をはぶいた最小の値の範囲で考える。

function foop(m,y)
    nmin = 100
    mm = div(9,m)
    c=[1,m,10,10*m,100,100*m]
    k=[0,0,0,0,0,0]
    t=[0,0,0,0,0,0]
    for k[1] in -(m-1):(m-1)
    for k[2] in -mm:mm
        for k[3] in -(m-1):(m-1)
        for k[4] in -mm:mm
            for k[5] in -(m-1):(m-1)
            for k[6] in 0:mm+1
                z = 0
                n = 0
                for j in 1:6
                    n = n + abs(k[j])
                    z = z + c[j]*k[j]
                end
                if z==y
#                   println(z," : ",k," : ",n)
                    if n < nmin
                        nmin = n
                        for l in 1:6
                            t[l] = abs(k[l])
                        end
                    end
                end
            end
            end
        end
        end
    end
    end
    return nmin,t
end

function main(m)
  p=[0.,0.,0.,0.,0.,0.]
  s=[0,0,0,0,0,0]
  t=[0,0,0,0,0,0]
  a=zeros(Int,1000)
  sum=0
  for i in 1:1000
    (n,t) = foop(m,i)
    a[i]=n
    sum = sum + n
    for j in 1:6
        s[j] = s[j] + t[j]
    end
#    println(i," ",n)
  end
  inf = 0.0
  for j in 1:6
     p[j] = s[j]/sum
     inf = inf -p[j]*log2(p[j])
  end
  @printf("%.3f : %04d %04d %04d %04d %04d %04d -> %.3f\n",
          inf,s[1],s[2],s[3],s[4],s[5],s[6],sum/1000)
#    println(a)
  plot(a)
end


for i in 2:9
    print(i," ")
    main(i)
end

2 2.301 : 0500 1025 0445 1000 0455 2275 -> 5.700
3 2.473 : 0753 0747 0601 0758 0547 1611 -> 5.017
4 2.552 : 0700 0738 0564 0728 0826 1118 -> 4.674
5 2.487 : 1254 0446 1020 0450 1000 0956 -> 5.126
6 2.466 : 0984 0500 0814 0500 1530 0690 -> 5.018
7 2.491 : 0900 0600 0793 0600 1518 0636 -> 5.047
8 2.458 : 1358 0614 1065 0640 1640 0545 -> 5.862
9 2.314 : 2054 0446 1644 0442 1650 0510 -> 6.746

等比数列の中間値である√10や根拠はないけれどネピア数e 近辺あたりの3円がよいのかと思いきや,4円にすると平均交換硬貨枚数が 4.67枚となって,5円の5.13枚よりも小さくなるのだった。ただし,情報エントロピーの最小値は2円の 2.30なのである。どういう意味かまではわかっていない。


図:1円から1000円までの交換硬貨枚数(中間硬貨は5円)