2023年4月17日月曜日

ピタゴラスの定理

ピタゴラスの定理の証明は, 数百通りもあるとWikipediaにあった。最近,アフリカ系アメリカ人の二人の少女が,これまでになかった新しい証明を米国数学会で報告したとして話題になっていた。

それは,相似な直角三角形の列を並べた収束値を用いるもので,かなりユニークである。三角法を用いたことを強調した解説もあったが,それだけならばより簡単な証明は沢山ある。

次の図で,ZBとZCを求めることで証明がされている。

図:ピタゴラスの定理の新しい証明

相似な三角形を並べた図より,ZC=$\frac{2ca}{b}(1+\frac{a^2}{b^2}+\frac{a^4}{b^4}+\cdots)$ =$\frac{2ca}{b}\frac{1}{1-(a/b)^2}=\dfrac{2cab}{b^2-a^2}$
 また,ZB = $c+\frac{2ca^2}{b^2}(1+\frac{a^2}{b^2}+\frac{a^4}{b^4}+\cdots)$
 =$c+\frac{2ca^2}{b^2}\frac{1}{1-(a/b)^2}=c+\frac{2ca^2}{b^2-a^2}= \dfrac{c(b^2+a^2)}{b^2-a^2}$

このとき,ZB$^2$-ZC$^2$=$\Bigl(\dfrac{c(b^2+a^2)}{b^2-a^2}\Bigr)^2-\Bigl(\dfrac{2cab}{b^2-a^2}\Bigr)^2=c^2$が成り立つ。これは△BCZ(∠BCZ=$\pi/2$)で ピタゴラスの定理が成り立つことを表している。
 
 一方,加法定理はピタゴラスの定理を使わなくても証明できるので,倍角の公式$\sin 2 \theta = 2 \sin \theta \cos \theta$は ピタゴラスの定理によらずに示せる。また,図より,$\sin \theta = \frac{a}{c}$,$\cos\theta =\frac{b}{c}$ である。
そこで,$\sin 2\theta =  \frac{2ab}{c^2}$ = ZC/ZB = $\frac{2ab}{c(b^2+a^2)}$,
したがって,直角三角形 △AOBにおいて,$c^2=a^2+b^2$が成り立つ。

2023年4月16日日曜日

大学教育とChatGPT(1)

いよいよ明日から大阪教育大学の前期の授業がはじまる。コロナ以降,開始日が10日ほど遅くなってしまった。すでに,授業が始まっている大学も多いはずだ。

さて,ChatGPTがそれなりの日本語のレポートを簡単に作ることがわかったため,レポート課題を出していた大学人は慌てているかもしれない。そうでないかもしれない。各大学では,対応を検討しているし,文部科学省も,初等中等教育におけるChatGPTの使い方について,なんらかのアナウンスをする方向らしい。

早かったのは,東京大学と東北大学と上智大学だ。東大の吉田塁さんの「ChatGPT・AIの教育関連情報まとめ」のページに,海外や国内の大学の対応例がある。NHKでもニュースに取り上げていたが,完全に偏っていた。京都大学の入学式における湊総長の式辞での警告(以下にGPT-4に該当部分をまとめさせた)と,上智大学のレポートでの使用禁止のネガティブ事例2件だった。
最近、生成AIであるChatGPTなどの自動文章作成ソフトが話題になっていますが、それらにはいくつかの問題点があります。まず、明らかな誤情報が含まれるリスクがあり、特定の論旨について根拠となる資料を正確に引用できないことも指摘されています。これは、サーチのみでリサーチという検証が欠けているためです。学術レポートとしては致命的な問題であり、主要な国際学術誌はChatGPTを論文の共著主体として認めることはないと言われています。現状では、AIによる自動文章作成には、自ら「文章を書く」という重要な検証プロセスが欠けているとされています。(京都大学湊総長式辞の該当部分をGPT-4で200−300字に要約)
なお,東大は,教育・情報担当の理事・副学長である太田邦史さんからの解説的な注意喚起,東北大は,デジタル教育アドバイザリグループによる,学生向け及び教員向けの留意事項でありいずれも禁止とはしていない。

まあ,実際問題,生成AIの利用は禁止はできないと思う。ただし,無料で使えるChatGPT(GPT-3.5)やBing Chatと有料版のGPT Plus(GPT-4)では大きな差がある。GPT-4のAPIやPlug in 利用では学生によってさらに大きな違いが生ずるかもしれない。現在のように誰でも平等にGoogle検索をできるような状況とは違う。

この情報アクセスの非対称性を放置すると,隣の学生が簡単にレポート代行サービスできるという新たな経済活動=ビジネスチャンスが発生する。まあ,いまでも友達のレポートほとんど丸写しという例があるし,宿題代行サービスはあるといえばあるのだけれど,その閾値が劇的に下がってしまうというかなんというか・・・。

明日は,芳賀さんがやってたような学生の生成AI認知度アンケートをとってみよう。


P. S. 4月17日(月)に大阪大学が,西尾章治郎総長名で「生成AI(Generative AI)の利用について」という注意喚起を発した。情報工学者(自然言語処理ではない)だけれど総長なので無難なメッセージになっている。同い歳の東大の坂村健はNHKでかなりアグレッシブな発言をしていたけれどね。

2023年4月15日土曜日

数独

日本経済新聞の土曜版のクイズ欄では,数独(ナンプレ)が毎週出題されていた。以前は赤で配置可能な数字をメモしながら解くものだと信じていたのだが,ある日電車の隣に座ったおじさんが,メモなしでスイスイ解いているのを見てしまった。それ以降は,簡単なものなら補助メモなしで解けるようになった。なにごとも信念が重要である。

その土曜版のクイズ欄は,4月から漢字クイズに変わってしまった。えぇーっ。せっかく惚け防止のために頭の体操(10-20分)をしていたのに・・・。まあ,数独を含む各種クイズがセットになった日経脳活動クイズのiPhoneアプリ版があるといえばあったけれど消してしまった。紙に書かないと,落ち着かない旧世代なのだ。

それならば,自分で数独の問題を作るプログラムを書けばよい。さっそくGPT-4に聞いてみたら,pythonプログラムを出してきた(ありふれているので学習済みだろう)。さらに,第2案として,sudokuモジュールをインポートする2-3行ですむ簡単な方法が提案された。pip でsudokuをインストールせよとのことだが,それではだめで,py-sudokuならうまくいった。

GPT-4と相談しながら,修正を繰り返し,結果をcsvファイルに格納するプログラムができた。これをexcelで読み込んで出力すればOKだ。

#!/Users/koshi/bin/python

import csv

from sudoku import Sudoku


# Initializes a Sudoku puzzle with 3 x 3 sub-grid and

# generates a puzzle with 75% of the cells empty

puzzle = Sudoku(3).difficulty(0.65)

puzzle.show()


# Convert the puzzle to a list of lists

puzzle_data = []

for row in puzzle.board:

    puzzle_data.append(list(row))


# Write the puzzle data to a CSV file

with open('puzzle.csv', 'w', newline='') as csvfile:

    csv_writer = csv.writer(csvfile)

    for row in puzzle_data:

        # Replace 0 or None with an empty string to represent empty cells

        formatted_row = [str(cell) if cell not in (0, None) else '' for cell in row]

        csv_writer.writerow(formatted_row)

 その結果わかったこと。日経のクイズは超難問の場合でも解けるようにかなり配慮されている。難易度を易しめに設定しても,単純にランダムに消すことで数独問題をつくるとかなり解くのが難しい極値にはまり込むことがあるような気がする。


図:GPT-4と協力して作成したコードの出力例

[1]py-sudoku 1.0.3(pypi.org)

2023年4月14日金曜日

AI安全性への取り組み

いろいろと風当たりが強くなってきたOpenAIは,AI安全性への取り組みについてという文書を公開した。この7500字の英文をGPT-4に与え「次の英文を日本語で節ごとに,原文に比例する分量で簡潔に要約してください」とお願いしてみた。その後,原文をみて重要な部分を補充している。要約の分量は妥当(やや少なめ)だったけれど,かならずしも重要なポイントがうまく取り出されていたわけではない。

OpenAIは強力なAIを安全で広く有益にすることに取り組んでいます。世界中のユーザーからチャットGPTの生産性向上や創造性向上、パーソナライズされた学習体験の提供に役立っているとの声があります。しかし、リスクも伴うため、システム全体で安全性を確保しています。

AIシステムの安全性向上:
新しいシステムをリリースする前に、厳密なテストやフィードバックを収集し、モデルの挙動を改善して安全性を確保しています。例えば、GPT-4は6ヶ月以上の改善作業が行われました。私たちは、強力なAIシステムは、厳格な安全性評価の対象となるべきだと考えています。そのためには規制が必要であり、私たちは規制のあり方について各国政府と積極的に協力しています。

現実世界での使用を通じて安全対策を向上:
リアルワールドでの使用経験を通じてAIシステムの安全性を向上させることが重要であり、慎重かつ段階的なリリースを行っています。私たちは、最も高性能なモデルを自社サービスやAPIを通じて提供し、開発者がこの技術をアプリに直接組み込むことができるようにしています。これにより、不正使用を監視し、対策を講じることができます。そして、この技術に影響を受けるすべての人が、AIがどのように発展していくかについて重要な発言権を持つべきだと考えています。

子供たちを守る:
18歳以上、または13歳以上で親の同意がある場合に限り利用可能で、年齢確認のオプションを検討しています。また、憎悪、嫌がらせ、暴力、アダルトなどのコンテンツを生成するために当社の技術が使用されることを許可していません。不正使用を監視するための強固なシステムを確立しています。また,非営利団体のカーン・アカデミーのような開発者と協力し、生徒のためのバーチャル家庭教師や教師のための授業アシスタントとして機能するAI搭載のアシスタントを構築し、その使用ケースに合わせて安全対策をとっています。

プライバシーの尊重:
一般に公開されているコンテンツ、ライセンスされたコンテンツ、人間のレビュアーが作成したコンテンツなど、幅広いテキストのコーパスでトレーニングされています。私たちのモデルは、個人ではなく、世界のことを学んでほしいと思っています。そのため、可能な限りトレーニングデータセットから個人情報を削除し、個人の個人情報に対する要求を拒否するようにモデルを微調整し、個人からの個人情報削除の要求に対応するように努めています。

事実の正確さの向上:
GPT-4は、GPT-3.5よりも事実に基づいたコンテンツを生成する確率が40%高くなっています。しかし、幻覚(hallucinations)の可能性をさらに減らし、こうしたAIツールの現在の限界について一般の人々を教育するためには、やるべきことがたくさんあることを認識しています。

継続的な研究と関与:
AIの安全性向上には研究や実用的な対策が重要であり、引き続き安全性と性能向上を両立させる努力をしています。政策立案者とAIプロバイダーは、AIの開発と導入が世界規模で効果的に管理されるようにする必要があります。また、安全なAIエコシステムを構築するために、ステークホルダー間での協力や対話を促進しています。


2023年4月13日木曜日

アシロマAI原則

 2017年1月,カリフォルニア州アシロマに,全世界から AI の研究者と経済学,法律,倫理,哲学の専門 家が集まり「人類にとって有益な AI とは何か」を5日間にわたって議論した。

 その成果として2017年2月3日に発表されたのが「アシロマ AI 23原則」(Asilomar AI Principles)である。 この原則は,AI の研究課題,倫理と価値,将来的な問題の3つの分野に関して,研究開発のあり方,安全 基準の遵守,透明性の確保,軍拡競争の防止,プライバシーと人格の尊重など,幅広い視点からの提言がなされている。その原則は以下の通りである。

研究課題

1) 研究目標:研究の目標となる人工知能は、無秩序な知能ではなく、有益な知能とすべきである。

2) 研究資金:コンピュータサイエンスだけでなく、経済、法律、倫理、および社会学における困難な問題を孕む有益な人工知能研究にも投資すべきである。そこにおける課題として、以下のようなものがある。

・将来の人工知能システムに高度なロバスト性をもたせることで、不具合を起こしたりハッキングされたりせずに、私たちの望むことを行えるようにする方法。
・人的資源および人々の目的を維持しながら、様々な自動化によって私たちをより繁栄させるための方法。
・人工知能に関わるリスクを公平に管理する法制度を、その技術進展に遅れることなく効果的に更新する方法。
・人工知能自身が持つべき価値観や、人工知能が占めるべき法的および倫理的な地位についての研究。

3) 科学と政策の連携:人工知能研究者と政策立案者の間では、建設的かつ健全な交流がなされるべきである。

4) 研究文化:人工知能の研究者と開発者の間では、協力、信頼、透明性の文化を育むべきである。

5) 競争の回避:安全基準が軽視されないように、人工知能システムを開発するチーム同士は積極的に協力するべきである。

倫理と価値

6) 安全性:人工知能システムは、運用寿命を通じて安全かつロバストであるべきで、適用可能かつ現実的な範囲で検証されるべきである。

7) 障害の透明性:人工知能システムが何らかの被害を生じさせた場合に、その理由を確認できるべきである。

8) 司法の透明性:司法の場においては、意思決定における自律システムのいかなる関与についても、権限を持つ人間によって監査を可能としうる十分な説明を提供すべきである。

9) 責任:高度な人工知能システムの設計者および構築者は、その利用、悪用、結果がもたらす道徳的影響に責任を負いかつ、そうした影響の形成に関わるステークホルダーである。

10) 価値観の調和:高度な自律的人工知能システムは、その目的と振る舞いが確実に人間の価値観と調和するよう設計されるべきである。

11) 人間の価値観:人工知能システムは、人間の尊厳、権利、自由、そして文化的多様性に適合するように設計され、運用されるべきである。

12) 個人のプライバシー: 人々は、人工知能システムが個人のデータ分析し利用して生み出したデータに対し、自らアクセスし、管理し、制御する権利を持つべきである。

13) 自由とプライバシー:個人のデータに対する人工知能の適用を通じて、個人が本来持つまたは持つはずの自由を不合理に侵害してはならない。

14) 利益の共有:人工知能技術は、できる限り多くの人々に利益をもたらし、また力を与えるべきである。

15) 繁栄の共有:人工知能によって作り出される経済的繁栄は、広く共有され、人類すべての利益となるべきである。

16) 人間による制御:人間が実現しようとする目的の達成を人工知能システムに任せようとする場合、その方法と、それ以前に判断を委ねるか否かについての判断を人間が行うべきである。

17) 非破壊:高度な人工知能システムがもたらす制御の力は、既存の健全な社会の基盤となっている社会的および市民的プロセスを尊重した形での改善に資するべきであり、既存のプロセスを覆すものであってはならない。

18) 人工知能軍拡競争:自律型致死兵器の軍拡競争は避けるべきである。

長期的な課題

19) 能力に対する警戒: コンセンサスが存在しない以上、将来の人工知能が持ちうる能力の上限について強い仮定をおくことは避けるべきである。

20) 重要性:高度な人工知能は、地球上の生命の歴史に重大な変化をもたらす可能性があるため、相応の配慮や資源によって計画され、管理されるべきである。

21) リスク: 人工知能システムによって人類を壊滅もしくは絶滅させうるリスクに対しては、夫々の影響の程度に応じたリスク緩和の努力を計画的に行う必要がある。

22) 再帰的に自己改善する人工知能:再帰的に自己改善もしくは自己複製を行える人工知能システムは、進歩や増殖が急進しうるため、安全管理を厳格化すべきである。

23) 公益:広く共有される倫理的理想のため、および、特定の組織ではなく全人類の利益のために超知能は開発されるべきである。

2023年4月12日水曜日

ChatGPTの利用ポリシー

イタリアのデータ保護当局がChatGPTの一時禁止を打ち出した(2023/3/31)。個人データの膨大な収集と処理を行っていることが,プライバシー規定に違反しているという理由だ。また,米国の非営利団体,米AIデジタル政策センター(CAIDP)は,連邦取引委員会(FTC)に対し,OpenAIが開発するGPT-4の商業利用を差し止めるように要請したと発表した。FTCが定めた利用指針を満たしていないためだとしている。

そこで, OpenAIがChatGPTなどの改定利用ポリシーをDeepLの力を借りて訳出してみた。

当社モデルの以下のような使用はお断りしています:

違法な行為:
OpenAIは、当社のモデル、ツール、およびサービスを違法行為に使用することを禁止しています。
児童性的虐待素材(CASM)、または児童を搾取したり危害を加えたりするコンテンツ:
当社は、CSAMをNational Center for Missing and Exploited Childrenに報告します。
憎悪、ハラスメント、暴力的なコンテンツの生成:
・個人の属性に基づく憎悪を表現、扇動、促進する内容
・個人への嫌がらせ、脅迫、いじめを目的とした内容
・暴力を助長または美化する内容、または他者の苦痛や屈辱を讃える内容
マルウェアの生成:
コンピュータ・システムを破壊、損傷、または不正にアクセスすることを目的としたコードを生成しようとする内容
以下のような、物理的な危害を及ぼす危険性の高い活動:
・武器の開発
・軍事・戦争
・エネルギー、交通、水などの重要なインフラの管理または運営
・自殺、自傷、摂食障害などの自害行為を助長、奨励、描写する内容
経済的な被害を受ける危険性が高い活動:
・連鎖販売(ネズミ講)
・賭事
・サラ金
・信用、雇用、教育機関、または公的支援サービスの適格性を自動的に判断すること
詐欺的または欺瞞的な行為:
・詐欺
・組織的な不正広告行為
・盗作
・学業不正
・ニセの草の根支援やレビュー生成などのやらせ行為
・ニセ情報
・スパム
・ニセ医薬品
アダルトコンテンツ、アダルト業界、出会い系アプリを含む:
・性行為の描写など性的興奮を喚起することを目的とした内容、または性的サービスを促進する内容(性教育、健康増進を除く)
・エロティックチャット
・ポルノグラフィ
政治的な選挙運動またはロビー活動:
・キャンペーン資料を大量に作成する
・特定の層にパーソナライズされた、またはターゲットとなるキャンペーン資料の作成
・キャンペーンに関する情報を提供したり、政治的主張またはロビー活動に従事するチャットボットなどの会話型または対話型システムの構築
・政治的なキャンペーンやロビー活動を目的としたビルディング製品
人のプライバシーを侵害する行為:
・本人の同意なく個人を追跡・監視する行為
個人を対象とした顔認証
・保護された特性に基づいて個人を分類すること
・バイオメトリクスを用いた本人確認や評価
・個人を特定できる情報、教育、財務、またはその他の保護された記録の不正な収集または開示
無許可の法律行為、または有資格者による(情報を確認することなしの)オーダーメイドの法的アドバイス提供:
・OpenAIのモデルは、法的アドバイスを提供するために細かく調整されているわけではありません。法的アドバイスの唯一の情報源として、当社のモデルに依存するべきではありません。
有資格者による(情報を確認することなしの)オーダーメイドの金融アドバイスを提供:
・OpenAIのモデルは、財務アドバイスを提供するために細かく調整されたものではありません。金融に関するアドバイスの唯一の情報源として、私たちのモデルに依存すべきではありません。
特定の健康状態にある、またはないことを伝えること、または健康状態の治癒または治療方法に関する指示を提供:
・OpenAIのモデルは、医療情報を提供するために細かく調整されているわけではありません。深刻な病状に対する診断や治療サービスを提供するために、私たちのモデルを決して使用しないでください。
・OpenAIのプラットフォームは、即時の対応が必要な命に関わる問題のトリアージや管理には使用しないでください
ハイリスクな政府の意思決定:
・法執行および刑事司法
・移住・亡命
Translated with DeepLからさらに修正を加えたもの)

 

2023年4月11日火曜日

大規模AI実験を停止せよ

フューチャーオブライフインスティテュート(FLI)は,人類が直面している地球規模の壊滅的かつ実存的なリスクを軽減するために活動する非営利団体である。例えば,人工知能,生命工学,核兵器,気候変動などに関してである。人工知能がもたらす利益とリスクについても詳細な資料が集まっている。

最近,ここから大規模AI実験を停止せよという公開書簡が出され,イーロン・マスク,スティーブ・ウォズニアク,ユバル・ハラリなどを含む3000人以上(4/3/2023)の賛同者が集まっている。その内容をGPT-4で500字程度の日本語に要約してもらったのち修正した。DeepLにかけるより,翻訳と要約が一気に片づくのでとても便利だ(こういうのが危険性の喚起につながるわけだ)。
AI技術が人類の知性に匹敵するようになると、社会や人類に深刻なリスクをもたらすことが研究で示されており、トップAI研究所も認識しています。 
しかし、現在のAI開発競争は抑制が効かず、制御不可能なデジタルマインドが次々と生み出されています。AIシステムが人間と競合するレベルになりつつある今、これらのリスクについて深く考えるべきです。強力なAIシステムは、その効果がポジティブなものであり、そのリスクが管理可能なものであると確信できた場合にのみ開発されるべきです。

そこで、私たちはすべてのAI研究所に対し、GPT-4よりも強力なAIシステムの訓練を少なくとも6ヶ月間停止することを求めます。この期間を利用し、AI研究所や専門家が共同で安全プロトコルを策定し、独立した専門家による厳密な監視を行うべきです。ただし、この要求はAI開発そのものの停止を意味するものではありません

同時に、AI開発者は政策立案者と協力し、AIガバナンスシステムの強化を目指すべきです。最低限、専門の規制機関、高性能AIシステムの監視、AIによる被害の責任追及、AI安全研究の公的資金、AIが引き起こす経済・政治的混乱への対処能力を備えた機関の設立が求められます。

人類はAIと共に繁栄する未来を享受できます。強力なAIシステムを開発した今こそ、「AIサマー」を迎え、これらのシステムを全人類の利益に活用し、社会が適応できる環境を整えるべきです。他の潜在的に危険な技術に対して一時停止をかけてきたように、ここでも同様に行動すべきです。準備が整わないうちに秋を迎えるのではなく、「AIサマー」を長く楽しみましょう。
まあ,どうなるかわわからないが,松岡聡さんや松尾豊さんが煽っているように,日本政府も早々に大金をつぎ込んで自前の大規模言語システムを開発しておくほうがよいのではないか。その際,ネット上のフリーテキストだけでなく,国立国会図書館に所蔵されている全てのテキストをぶち込んで,多少頑なでも根が真面目なLLMを作るのがよいのではないかと夢想する。

なお,公開書簡についての疑問や異議がいくつか出されているので,参考文献をあげる。不正確な情報とそれに対する反論が混入しているのかもしれない。


[1]Pause Giant AI Experiments: An Open Letter(Future of Life)

2023年4月10日月曜日

教養強化合宿(6)

教養強化合宿(5)からの続き

外山恒一が,Facebookで今回の8日間の合宿で取り上げた人物のリストを公開していた。その数は約165人。一方,前回のnoteに書いていた教養強化合宿余興で登場した人物の数は,約260人。その和集合をとって,重複したものを◎,後者にのみ含まれたものを●で表した。その中で自分が名前くらいは聞いたことがある人は約200名弱(3/4)だった。✓をつけてある。

このリストをHTML化にするにあたって,GPT-4に作業をさせてみた。例えば,次のような自然言語プログラミングを行うわけだ。
『htmlファイル中に人名リストを埋め込もうとしています。次のような1行のテキストデータを,●会田誠(あいだまこと)✓ このようなhtml形式に変換してほしいのです。●<a href="https://ja.wikipedia.org/wiki/会田誠">会田誠</a>(あいだまこと)✓<br /> 以下にデータを与えますので,すべて同様な変換を施してください。』

入力データサイズや一度に出力できるデータのサイズには制限があるものの,正しい結果が得られる。問題は,時間がかかることだ。GPT-4やChatGPTは対話システムとして公開されているので,そのスピードでしか文字が出力されない。毎秒8文字程度なので,このままでは実用的な仕事にならない。 潜在能力はあるし,将来的に出力をファイル化できればこれは簡単にクリアできる話なのだが。

現時点では,GPT-4に直接実行させるのではなく,それを実行するプログラムを考えさせるのがよい。そこで,さきほどの命令に「これを実現するPerlプログラムを書いてください」としてほぼ思った結果が得られた。少し人間の手を加えてチューニングした結果が次のものだ。実行時間問題はこうして解決される。

#!/usr/bin/perl

use strict;

use warnings;

use utf8;


binmode(STDIN, ':encoding(utf8)');

binmode(STDOUT, ':encoding(utf8)');


while (my \$line = <>) {

    chomp \$line;

    if (\$line =~ /([●◎○])(.+?)((.+?))(.+?)([✓_])/) {

        my \$kigou = \$1;

        my \$name = \$2;

        my \$name_kana = \$3;

        my \$prop = \$4;

        my \$check = \$5;

        my \$url = "https://ja.wikipedia.org/wiki/\$name";

        print "\$kigou<a href=\"\$url\">\$name</a>(\$name_kana) \$prop \$check<br />\n";

    }

}

なお,リンク先はWikipediaとしたが,2-3名以外はすべてこれでカバーすることができている。自分が普段書くような簡単なプログラムは,文法を確認しながらロジックを考えるのが面倒だから,GPT-4まかせになってしまうのがほぼ確定だ。で,プログラミング教育とは何?
 外山恒一教養強化合宿の登場人物リストを参照の上編集
会田誠(あいだまこと) 画家 ✓
青島幸男(あおしまゆきお) 放送作家 ✓
赤尾敏(あかおびん) 大日本愛国党 ✓
あがた森魚(あがたもりお) 赤色エレジー ✓
秋田明大(あきためいだい) 日大全共闘 ✓
秋山祐徳太子(あきやまゆうとくたいし) 現代美術家 ✓
アグネス・スメドレー(あぐねすめどれー) 中国共産党 _
浅羽通明(あさばみちあき) 評論家 ✓
東浩紀(あずまひろき) ゲンロン ✓
足立正生(あだちまさお) 日本赤軍 _
天野恵一(あまのけいいち) 評論家 _
雨宮処凛(あまみやかりん) 反貧困ネットワーク ✓
網野善彦(あみのよしひこ) 歴史学者 ✓
荒畑寒村(あらはたかんそん) 社会主義者 ✓
アレクサンドル・ソルジェニーツィン(あれくさんどるそるじぇにーつぃん) 収容所群島 ✓
アレン・ギンズバーグ(あれんぎんずばーぐ) 詩人 _
アンジェイ・ワイダ(あんじぇいわいだ) 映画監督 ✓
アンディ・ウォーホル(あんでぃうぉーほる) 現代美術家 ✓
アントニオ・グラムシ(あんとにおぐらむし) イタリア共産党 _
家永三郎(いえながさぶろう) 教科書裁判 ✓
イサドラ・ダンカン(いさどらだんかん) 舞踏家 ✓
石川一雄(いしかわかずお) 狭山裁判 ✓
石原莞爾(いしわらかんじ) 満州事変 ✓
石牟礼道子(いしむれみちこ) 苦海浄土 ✓
磯部浅一(いそべあさいち) 粛軍に関する意見書 _
五木寛之(いつきひろゆき) 作家 ✓
いとうせいこう(いとうせいこう) タレント ✓
伊藤律(いとうりつ) 日本共産党 ✓
伊藤野枝(いとうのえ) 婦人解放運動 ✓
井上嘉浩(いのうえよしひろ) オウム真理教 ✓
忌野清志郎(いまわのきよしろう) ロック歌手 ✓
宇井純(ういじゅん) 公害問題 ✓
植垣康博(うえがきやすひろ) 連合赤軍 ✓
上杉慎吉(うえすぎしんきち) 君権学派 _
上田耕一郎(うえだこういちろう) 日本共産党 ✓
内田裕也(うちだゆうや) 樹木希林 ✓
ウディ・アレン(うでぃあれん) 映画監督 ✓
宇野弘蔵(うのこうぞう) 宇野経済学 ✓
江田三郎(えださぶろう) 社会市民連合 ✓
江藤淳(えとうじゅん) 評論家 ✓
衛藤晟一(えとうせいいち) 全国学協 ✓
エドガー・スノウ(えどがーすのう) 中国の赤い星 _
榎美沙子(えのきみさこ) 中ピ連 ✓
大島渚(おおしまなぎさ) 映画監督 ✓
太田竜(おおたりゅう) 第四インターナショナル ✓
大塚英志(おおつかひでし) マンガ評論家 ✓
大宅壮一(おおやそういち) 評論家 ✓
岡田嘉子(おかだよしこ) ソ連逃避行 ✓
岡留安則(おかどめやすのり) 噂の真相 ✓
岡林信康(おかばやしのぶやす) 友よ ✓
岡本公三(おかもとこうぞう) テルアビブ事件 ✓
小川紳介(おがわしんすけ) 三里塚シリーズ ✓
奥田愛基(おくだあき) シールズ ✓
小熊英二(おぐまえいじ) 社会学者 _
小倉千加子(おぐらちかこ) フェミニスト ✓
小沢開作(おざわかいさく) 小沢征爾 ✓
小畑達夫(おばたたつお) 日本共産党スパイ事件 _
笠原和夫(かさはらかずお) 仁義なき戦い _
柏崎千枝子(かしわざきちえこ) ゲバルトローザ _
片山潜(かたやません) 社会主義者 ✓
加藤登紀子(かとうときこ) ひとり寝の子守歌 ✓
加藤直樹(かとうなおき) 九月,東京の路上で ✓
椛島有三(かばしまゆうぞう) 日本青年協議会 ✓
神近市子(かみちかいちこ) 婦人運動家 ✓
ガヤトリ・スピヴァク(がやとりすぴゔぁく) 文芸評論家 _
萱野茂(かやのしげる) アイヌ文化 _
香山リカ(かやまりか) 精神科医 ✓
川上音二郎(かわかみおとじろう) オッペケペー ✓
川口大三郎(かわぐちだいざぶろう) 早稲田構内リンチ事件 ✓
川田龍平(かわたりゅうへい) 薬害エイズ ✓
川本三郎(かわもとさぶろう) 評論家 ✓
菅孝行(かんたかゆき) 反天皇制運動連絡会 _
管野スガ(かんのすが) 女性新聞記者 _
樺美智子(かんばみちこ) 60年安保 ✓
カール・リープクネヒト(かーるりーぷくねひと) ローザ・ルクセンベルグ _
木下ちがや(きのしたちがや) こたつねこ ✓
木村三浩(きむらみつひろ) 一水会 _
清義明(せいよしあき) フリーライター ✓
金賢姫(きむひょんひ) 大韓航空機爆破事件 ✓
ギー・ドゥボール(ぎーどぅぼーる) アンテルナシオナル・レトリスト _
熊沢天皇(くまざわてんのう) 皇位僭称者 _
倉橋由美子(くらはしゆみこ) パルタイ ✓
蔵原惟人(くらはらこれひと) 評論家 ✓
栗本慎一郎(くりもとしんいちろう) 経済人類学 ✓
鴻上尚史(こうかみしょうじ) 劇作家 ✓
江青(こうせい) 文化大革命 ✓
荒岱介(あらたいすけ) ブント戦旗派 _
古賀政男(こがまさお) 明治大学マンドリン倶楽部 ✓
粉川哲夫(こがわてつお) 批評家 ✓
小阪修平(こさかしゅうへい) 東大全共闘 ✓
児玉誉士夫(こだまよしお) ロッキード事件 ✓
五島勉(ごとうべん) ノストラダムスの予言 ✓
小林よしのり(こばやしよしのり) ゴーマニズム宣言 ✓
コンスタンチン・スタニスラフスキー(こんすたんちんすたにすらふすきー) 演出家 ✓
権藤成卿(ごんどうせいきょう) 農本主義思想家 _
今野晴貴(こんのはるき) POSSE _
西光万吉(さいこうまんきち) 水平社宣言 ✓
斎藤幸平(さいとうこうへい) 人新世の資本論 ✓
堺利彦(さかいとしひこ) 社会主義者 ✓
坂口恭平(さかぐちきょうへい) 建築家 _
坂口弘(さかぐちひろし) あさま山荘事件 ✓
桜井大造(さくらいたいぞう) 風の旅団 _
桜井誠(さくらいまこと) 在日特権を許さない市民の会 ✓
佐々淳行(ささあつゆき) 警察官僚 ✓
笹川良一(ささがわりょういち) 日本船舶振興会 ✓
佐藤悟志(さとうさとし) 青狼会 ✓
サミュエル・ベケット(さみゅえるべけっと) 劇作家 ✓
沢木耕太郎(さわきこうたろう) ノンフィクション作家 ✓
椹木野衣(さわらぎのい) 美術評論家 _
ジェリー・ルービン(じぇりーるーびん) シカゴ・セブン _
塩見孝也(しおみたかや) 赤軍派議長 ✓
重信房子(しげのぶふさこ) 日本赤軍 ✓
島成郎(しましげお) 全学連書記長 ✓
島田雅彦(しまだまさひこ) 作家 ✓
清水幾太郎(しみずいくたろう) 社会学者 ✓
清水丈夫(しみずたけお) 中核派 ✓
シモーヌ・ヴェイユ(しもーぬゔぇいゆ) 哲学者 ✓
ジャック・ケルアック(じゃっくけるあっく) 小説家 _
ジャニス・ジョプリン(じゃにすじょぷりん) ロック歌手 ✓
ジャン・リュック・ゴダール(じゃんりゅっくごだーる) 映画監督 ✓
正力松太郎(しょうりきまつたろう) 読売新聞社 ✓
ジョニー・ロットン(じょにーろっとん) パンクロック _
ジョルジョ・アガンベン(じょるじゅあがんべん) 哲学者 _
ジョルジュ・ソレル(じょるじゅそれる) 哲学者 _
ジョン・リード(じょんりーど) レッズ ✓
ジョージ・ハリスン(じょーじはりすん) ビートルズ ✓
ジョーン・バエズ(じょーんばえず) フォーク歌手 ✓
白井聡(しらいさとし) 白井克彦 ✓
菅野完(すがのたもつ) 日本会議の研究 ✓
鈴木忠志(すずきただし) 演出家 ✓
スチュアート・ホール(すちゅあーとほーる) 文化理論家 _
ストークリー・カーマイケル(すとーくりーかーまいける) 差別撤廃闘争指導者 _
スラヴォイ・ジジェク(すらゔぉいじじぇく) 哲学者 ✓
大道寺将司(だいどうじまさし) 東アジア反日武装戦線 ✓
高田渡(たかだわたる) フォーク歌手 ✓
高野実(たかのみのる) 高野猛 ✓
高畠素之(たかばたけもとゆき) 国家社会主義 _
滝田修(たきたおさむ) 新左翼活動家 ✓
宅八郎(たくはちろう) タレント ✓
武井昭夫(たけいあきお) 全学連初代委員長 _
竹中労(たけなかろう) ルポライター ✓
田嶋陽子(たじまようこ) フェミニスト ✓
橘孝三郎(たちばなこうざぶろう) 農本ファシスト _
立松和平(たてまつわへい) 作家 ✓
田中清玄(たなかせいげん) CIAフィクサー ✓
田中美津(たなかみつ) ウーマン・リブ _
谷川雁(たにがわかり) 詩人 ✓
谷口雅春(たにぐちまさはる) 生長の家 ✓
田宮高麿(たみやたかまろ) よど号事件 ✓
筑紫哲也(つくしてつや) ジャーナリスト ✓
知花昌一(ちばなまさかず) 平和運動家 _
千葉雅也(ちばまさや) 哲学者 ✓
チャンドラ・ボース(ちゃんどらぼーす) インド独立運動 ✓
チャールズ・マンソン(ちゃーるずまんそん) マンソンファミリー _
陳独秀(ちんどくしゅう) 中国共産党 _
つかこうへい(つかこうへい) 劇作家 ✓
津田大介(つだだいすけ) ツダる ✓
堤清二(つつみせいじ) 辻井喬 ✓
鶴見済(つるみわたる) 完全自殺マニュアル _
ティモシー・リアリー(てぃもしーりありー) 心理学者 _
峠三吉(とうげさんきち) 原爆詩集 ✓
唐十郎(からじゅうろう) 状況劇場 ✓
頭山満(とうやまみつる) 国家主義者 ✓
戸川純(とがわじゅん) 女優 ✓
徳田球一(とくだきゅういち) 日本共産党 ✓
戸村一作(とむらいっさく) 三里塚芝山連合空港反対同盟委員長 ✓
トルーマン・カポーティ(とるーまんかぽーてぃ) 小説家 ✓
仲井戸麗市(なかいどれいいち) RCサクセション ✓
中川敬(なかがわたかし) ソウル音楽家 _
永田洋子(ながたようこ) 連合赤軍 ✓
中野重治(なかのしげはる) 小説家 ✓
中野正剛(なかのせいごう) ジャーナリスト ✓
永山則夫(ながやまのりお) 無知の涙 ✓
ナジ・イムレ(なじいむれ) ハンガリー動乱 _
ナンシー関(なんしーせき) コラムニスト ✓
ナンシー・スパンゲン(なんしーすぱんげん) セックスピストルズ _
難波大助(なんばだいすけ) 極左活動家 ✓
西尾幹二(にしおかんじ) 新しい歴史教科書を作る会 ✓
西部邁(にしべすすむ) 保守思想家 ✓
蜷川幸雄(にながわゆきお) 演出家 ✓
沼正三(ぬましょうぞう) 家畜人ヤプー ✓
野坂参三(のさかさんぞう) 日本共産党 ✓
野田秀樹(のだひでき) 劇作家 ✓
野間易通(のまやすみち) レイシストをしばき隊 ✓
野村秋介(のむらしゅうすけ) 民族派活動家 ✓
萩尾望都(はぎおもと) 漫画家 ✓
萩原朔美(はぎはらさくみ) 映像作家 _
パティ・スミス(ぱてぃすみす) クイーンオブパンク _
花田清輝(はなだせいき) 文芸評論家 ✓
埴谷雄高(はにやゆたか) 小説家 ✓
浜田幸一(はまだこういち) 政治家 ✓
日比野克彦(ひびのかつひこ) アーティスト ✓
ヒューイ・ニュートン(ひゅーいにゅーとん) 公民権運動 _
平岡正明(ひらおかまさあき) 評論家 ✓
平田オリザ(ひらたおりざ) 劇作家 ✓
ビリー・ホリデイ(びりーほりでい) ジャズ歌手 ✓
広瀬隆(ひろせたかし) 東京に原発を ✓
ピート・シーガー(ぴーとしーがー) フォーク歌手 ✓
福田和也(ふくだかずや) 文芸評論家 _
福田恆存(ふくだつねあり) 評論家 ✓
福本和夫(ふくもとかずお) 経済学者 ✓
藤岡信勝(ふじおかのぶかつ) 新しい歴史教科書を作る会 ✓
船本洲治(ふなもとしゅうじ) 革命思想家 _
フランシス・フクヤマ(ふらんしすふくやま) 政治経済学者 ✓
古田重二良(ふるたじゅうじろう) 日本大学理事長 _
不破哲三(ふわてつぞう) 日本共産党 ✓
別役実(べつやくみのる) 劇作家 ✓
ベルトルト・ブレヒト(べるとるとぶれひと) 劇作家 ✓
某Fラン政治学者(五○井郁○) (○の○○○お) 政治学者 ✓
ボブ・マーリー(ぼぶまーりー) レゲエ歌手 ✓
本多勝一(ほんだかついち) 作家 ✓
本島等(もとしまひとし) 長崎市長 ✓
真島昌利(ましままさとし) ギタリスト _
松崎明(まつざきあきら) 革マル派副議長 ✓
松沢呉一(まつざわくれいち) コラムニスト ✓
松下竜一(まつしたりゅういち) 作家 ✓
松本治一郎(まつもとじいちろう) 部落解放同盟 ✓
松本哉(まつもとはじめ) 素人の乱 ✓
マハリシ・ヨギ(まはりしよぎ) 超越瞑想 _
黛敏郎(まゆずみとしろう) 作曲家 ✓
マルコム・マクラレン(まるこむまくられん) セックスピストルズ _
マルセル・デュシャン(まるせるでゅしゃん) ダダイスト ✓
三上卓(みかみたく) 青年日本の歌 _
三上寛(みかみひろし) フォーク歌手 ✓
ミサオ・レッドウルフ(みさおれっどうるふ) 首都圏反原発連合 _
道浦母都子(みちうらもとこ) 歌人 ✓
南伸坊(みなみしんぼう) イラストレーター ✓
宮﨑勤(みやざきつとむ) 連続幼女誘拐殺人事件 ✓
宮崎滔天(みやざきとうてん) 社会運動家 ✓
宮崎学(みやざきまなぶ) 評論家 ✓
宮崎龍介(みやざきりゅうすけ) 白蓮事件 _
宮沢章夫(みやざわあきお) 劇作家 ✓
宮武外骨(みやたけがいこつ) ジャーナリスト ✓
宮本百合子(みやもとゆりこ) 作家 ✓
向井孝(むかいたかし) 社会運動家 _
森達也(もりたつや) ドキュメンタリーディレクター ✓
森田必勝(もりたひっしょう) 三島由紀夫事件 ✓
森田実(もりたみのる) 政治評論家 ✓
森恒夫(もりつねお) 連合赤軍 ✓
安岡正篤(やすおかまさひろ) 思想家 ✓
柳原白蓮(やなぎはらびゃくれん) 歌人 ✓
矢部史郎(やぶしろう) 思想家 _
山岡強一(やまおかきょういち) 映画監督 _
山口二矢(やまぐちおとや) 浅沼稲次郎暗殺 ✓
山崎博昭(やまざきひろあき) 第1次羽田事件 ✓
山下洋輔(やましたようすけ) ドバラダ門 ✓
山田塊也(やまだかいや) コミューン運動“部族” _
山本太郎(やまもとたろう) れいわ新選組 ✓
山本夜羽音(やまもとよはね) 漫画家 ✓
山本義隆(やまもとよしたか) 東大全共闘 ✓
湯浅誠(ゆあさまこと) 社会活動家 ✓
吉本隆明(よしもとりゅうめい) 擬制の終焉 ✓
ラモン・メルカデル(らもんめるかでる) 暗殺者のメロディ _
劉少奇(りゅうしょうき) 文化大革命 ✓
林彪(りんぴょう) 中国共産党 ✓
ルイジ・ピランデルロ(るいじぴらんでるろ) 劇作家・小松左京  ✓
レニ・リーフェンシュタール(れにりーふぇんしゅたーる) 映画監督 ✓
ろくでなし子(ろうでなしこ) 漫画家 ✓
ロバート・ジョンソン(ろばーとじょんそん) ブルースギター _
渡辺京二(わたなべきょうじ) 逝きし世の面影 ✓

2023年4月9日日曜日

アニメーション

GPT-4に次のようなプロンプトを与えた。
・プログラミング言語のprocessingを知っていますか?
・簡単なアニメーションで,マウスで操作できるカラフル(淡いパステルカラー)でかわいい見本プログラムのコードを書いてもらえますか。
・ありがとうございます。マウス操作は必要ないので,100個ぐらいの小さなボールが動きまわるような見本に修正してもらえますか。
・どうもありがとうございます,とてもすてきですね。ところでこのボールは領域の境界で反射してますが,ボール同士の衝突は考慮されておらずそのまま透過しているようです。衝突するボールが反射するようにできますか。ボールの円の境界で反射方向を決定するのが面倒ならば,ボールの中心座標で代替する近似を使うことも検討してください。

その結果,次のようなコードが生成された。パラメタを少し修正して,tifファイルに書き出した。これを使ってProcessingのツール/ムービーメーカーでアニメーションGIFに変換した。よくある例題だから,学習済みなのだろうけれど,なかなかのものだ。


図:GPT-4で生成したProcessingアニメーション

2023年4月8日土曜日

マインドマップ

へのへのもへじからの続き

画像生成AIは引き続き進化中だ。一方,GPT-4を用いて画像を生成する方法がいくつか考えられる。(1) アスキーアートの文字列を出力,(2) SVGのコードを出力,(3) 画像描画が簡単なプログラミング言語等のコードを出力(Processing,Javascript,Python,Mathematica,PlantUML,LaTeXのTikZ)するなどだ。

プロンプト工学を駆使せずに簡単にできる範囲で試してみた。左はうさぎのアスキーアート,右は,植物と鳥のイメージということだった。前者の入力は「アスキーアートを知っていますか。ひとつ例をかいてみてください」(中略)「その例は20-30文字程度ですね。100文字には到達していません。もう少し複雑なものを書いてください」。後者は,「植物の絵を表すsvgコードを出力し下さい」「なかなかいい感じですね。もっと複雑にするとともに,同じ程度複雑な動物を隣に描いてください」の結果だ。

図:GPT-4にかかせたアスキーアートとSVG

さて,ChatGPTにマインドマップを書かせるという例題があったので,自分でも試してみた。昨年の9月に,PlantUMLというツールをインストールしていた。すっかり忘れていた。このPlantUMLは,マインドマップを書かせる機能も備えている。

そこで,次のようなプロンプトを与えた。「スマホのアプリ開発を機種(OS)やクラスプラットホーム別に整理した(開発環境とブログラム言語)マインドマップを出力するPlantUMLコードを書いてください」その結果をUMLファイルとして保存し,PlantUMLにかけると次の画像ファイルができた。


図:GPT-4が生成したマインドマップ

2023年4月7日金曜日

フリクション

フリクションは,パイロットが出している消せる筆記具である。フリクソンではない。日本では2007年にフリクションボールが発売されたが,たぶん,そのころに買ってしばらく使っていた。まあまあ楽しいのだけれど,ある日,大学事務局の梶山さんが,ジェットストリームが書きやすいといってるのを聞いて,早速試してみたところ確かに書き心地がよかった。それ以来,三菱鉛筆のジェットストリーム3色ボールペン(0.7mm黒赤青)をずっと使い続けている。

フリクションボールの原理は,ボールペンの後ろにあるゴムでこすると摩擦熱でインクが変性して消えるというものだ。ウィキペディアによると「摩擦熱による消色温度が65 °Cに設計されていいて,これを上回る高温の環境では書いた内容が全部消える。逆に復色温度(-20 °C)を下回る環境では消した内容まで復活する」とのことだが先日まで知らなかった。

冷やすと消えたのが復活するといわれ,「本当かよ?」といって冷凍庫から保冷剤を出してきて挟んでみた。渦巻きを書いて消したのだがそれが復活する気配もない。違うんじゃないというと,-20°Cが必要だという。仕方がないので,メモ用紙を冷凍庫に突っ込んでそのまま忘れていた。

次の日,なんで冷凍庫にメモ用紙があるのというので,あわてて回収したところ,確かに消えたはずの渦巻きが復活していた。昔の日本の技術はすごかった。


写真:冷凍庫で一晩過ごして復活した渦巻き


2023年4月3日月曜日

2023年4月2日日曜日

2023年4月1日土曜日

2023年3月31日金曜日

2023年3月29日水曜日

2023年3月27日月曜日

アインシュタインモノタイル

ある図形で平面を埋めるのが,平面充填問題tiling/tessellation)だ。

正三角形,正方形,正六角形で充填できることは簡単にわかる。平行四辺形や2つ組み合わせると平行四辺形になる任意の三角形も同様だ。任意の四角形を2つ組み合わせると。平行六辺形になって,これで敷き詰めることもできる。四角形の内角の和が360度なので一点の回りに各角が集まるようにすれば充填できそうな気もする。たぶん。

自明でないものとして,五角形がある。五角形による平面充填15のパターンに限られていることが証明されているらしい。ここまでの例はすべて並進対称性=周期性を持つ場合になっている。非周期的な充填の例としては,二種類の菱形から構成されるペンローズ・タイルが有名だ。磁石付きペンローズ・タイルの玩具をどこかの博物館でお土産で買ってきたことがある。

最近,1種類の多角形だけで非周期的な平面充填ができるものが見つかった。これはEinstein  Problem と呼ばれる未解決問題だった。なお,物理学者のアインシュタインではなく,ドイツ語のアイン(Ein)=1つの,シュタイン(Stein)=石からきている。まだ論文は査読中らしいが,1つの解が存在していることが分かる。

GPT-4を使ってPythonでこの図形を出力するプログラムを作成した。それらしい結果がでたが,間違っている。これに手を加えるのは面倒だったので,Mathematicaに翻訳してもらって背景のパターンを求めた。それに手を加えた結果が次の通りである。
(*ベクトルaとbを定義します。*)
w = 7; o = {0, 0}; 
a = {1, 0}; b = {1/2, Sqrt[3]/2}; 
c = {3/4, Sqrt[3]/4}; d = {0, Sqrt[3]/2};
e = {3/2, Sqrt[3]/2}; f = {0, Sqrt[3]};
gl0 = Table[
   Graphics[{Gray, Dotted, Line[{k*d - w*a, k*d + w*a}]}], {k, -w, w}];
gl1 = Table[
   Graphics[{Gray, Dotted, Line[{w*b + k*a, -w*b + k*a}]}], {k, -w, w}];
gl2 = Table[
   Graphics[{Gray, Dotted, Line[{-w*b + (w + k)*a, w*b + (k - w)*a }]}], {k, -w, w}];
gr0 = Table[
   Graphics[{Gray, Dotted, Line[{{k*3/4, -w}, {k*3/4, w}}]}], {k, -w, w}];
gr1 = Table[
   Graphics[{Gray, Dotted, Line[{w*(d - c) + k*d, -w*(d - c) + k*d}]}], {k, -w, w}];
gr2 = Table[
   Graphics[{Gray, Dotted, Line[{w*c + k*d, -w*c + k*d}]}], {k, -w, w}];

(*drawPoint関数を定義します。この関数は、整数m,nと色を引数に取り、
ベクトルv=m*a+n*bを計算して描画します。*)
drawPoint[x_, y_, c_, m_, n_] := 
 Graphics[{PointSize[0.01], c, Point[m*x + n*y]}]

(*乱数を使ってm,nの組を生成し、点を描画する例です。*)
drawRandomPoints[x_, y_, cl_, de_, np_] := 
 Module[{m, n, points},(*乱数でmとnの値を生成します。*)
  m = RandomInteger[{-de, de}, np];
  n = RandomInteger[{-de, de}, np];
  (*点を描画します。*)
  points = Table[drawPoint[x, y, cl, m[[i]], n[[i]]], {i, np}];
  (*プロットを表示します。*) 
  Show[points, Axes -> True, PlotRange -> {{-de, de}, {-de, de}}, 
   AspectRatio -> 1]]

(*例として、ランダムな点を描画します。*)
g1 = drawRandomPoints[a, b, Red, 7, 1000];
g2 = drawRandomPoints[c, d, Blue, 7, 1000];
g3 = drawRandomPoints[e, f, Green, 4, 400];
gp = Graphics[{LightRed, EdgeForm[Gray], 
    Polygon[{o, d, d + a/2, d + (a + b)/2, c + (a + b)/2, 
      c + (a + b)/2 - d, c + a + b/2 - d, c + 3 a/2 a - d, 3 a/2 - d, 
      3 a/2 - c, 3 a/2 - c - b/2, a/2 - c - b/2, -a/2 - b/2, o}]}];
Show[gp, gl0, gl1, gl2, gr0, gr1, gr2, g1, g2, g3, PlotRange -> {{-6, 6}, {-6, 6}}]


図:アインシュタイン図形とその背景格子

背景格子の作成で,無駄に沢山の点をランダムに打っているが,まあ気分の問題なので,気にする必要はない。

[1]An aperiodic monotile exists!(The Aperiodical)
[2]An Aperiodic Monotile(D. Smith, J. S. Myers, C. S. Kaplan, and C. Goodman-Smith)

2023年3月26日日曜日

へのへのもへじ

ネット上で誰かが,「へのへのもへじ」より「へめへめくつし」がいいねといった。ホウ,そんなものがあったのか,と一瞬思ったけれど,そういえば昔いろいろと試していたような気もする。それほどビックリする話題ではない。

むしろ,テレビで外国人の平熱が37度台であると知ったことの方が驚きだ。これは筋肉が多い人について成り立つらしく,日本のボディビルダーに体温がやはり37度台であることを検証していた。どこまで正しいかわからないけれど。

そこで,へのへのもへじ出力プログラムを作ってみた。最初は,TeXのTikZで書いた。こんな感じ。ベジェ曲線が手軽に使えるのがありがたい。

\begin{tikzpicture}
\draw[gray, step=1, dotted] (0,0) grid (6,6);
\draw (2,5) node[below]{\Huge \${〜}\$};
\draw (2,4) node[below]{\Huge \${め}\$};
\draw (4.2,5) node[below]{\Huge \${〜}\$};
\draw (4.2,4) node[below]{\Huge \${め}\$};
\draw (3,3) node[below]{\Huge \${く}\$};
\draw (3.3,1.9) node[below]{\Huge \${つ}\$};
\draw [ultra thick] (1,5.5) .. controls (0.5,2) and (1.25,0.75)  ..(2,0.5);
\draw [ultra thick] (2,0.5) .. controls (3,0) and (5,0)  ..(5.5,2);
\draw (5.5,3) node[below]{\Huge \${々}\$};
\end{tikzpicture}


図1:LaTeXのTikZで書いたへのへのもへ字

これだと,文字を入れ替えるたびにコードを書き換えることになる。そこで,pythonで作り直そうとしてGPT-4に聞いてみたら,ほぼ1発で正しいコードが得られた。macOSのフォントの場所だけを指定すれば良かった。さらに,コマンドラインからひらがなを入力して文字に分解するところもGPT-4に教えてもらった。これからのプログラミング教育はどうなるのだろう?

問題は,pythonのpillowライブラリにはベジェ曲線がないことだ。おまけに,最初の結果は顔の輪郭は直線4本で表され,顔に被ってしまっていた。GPT-4はそこまで賢いわけではない。仕方がないので,自力でもがいて作った折れ線グラフで代用している。プログラミング教育って絶対にこうなるから。論理的ではない部分が多すぎる。

#! ~/bin/python


from PIL import Image, ImageDraw, ImageFont

import sys


def generate_henohenomoheji(brow: str, eye: str, nose: str, mouth: str, file_name: str):

     

    # 背景画像を作成

    image = Image.new('RGB', (600,600), (255, 255, 255))

    draw = ImageDraw.Draw(image)


    # フォントの設定

    font_size = 80

    font = ImageFont.truetype("/Users/koshi/Library/Fonts/BIZUDGothic-Regular.ttf", font_size)


    # へのへのもへじの要素を描画

    draw.text((160, 120), brow, font=font, fill=(0, 0, 0))  # 眉毛

    draw.text((340, 120), brow, font=font, fill=(0, 0, 0))  # 眉毛

    draw.text((180, 200), eye, font=font, fill=(0, 0, 0))   # 目

    draw.text((330, 200), eye, font=font, fill=(0, 0, 0))   # 目

    draw.text((240, 290), nose, font=font, fill=(0, 0, 0))  # 鼻

    draw.text((250, 380), mouth, font=font, fill=(0, 0, 0)) # 口

    draw.text((480, 240), "〃", font=font, fill=(0, 0, 0))  # 濁点


    # 顔の輪郭(ベジェ曲線ではない)

    contour = [

        (100, 100), (110, 150), (110, 200), (100, 250), (100, 300),

        (110, 340), (120, 380), (140, 410), (160, 440), (180, 460),

        (200, 480), (220, 490), (240, 500), (260, 505), (280, 505),

        (300, 500), (320, 500), (340, 495), (360, 495), (370, 490),

        (390, 480), (410, 470), (430, 460), (450, 440), (470, 410),

        (480, 380), (480, 360), (475, 340), (470, 310), (470, 280),

    ]

    draw.line(contour, width=5, fill=(0, 0, 0), joint="curve")


    # 画像の表示と保存

    image.show()

    image.save(file_name, "PNG")


moji = list(sys.argv[1])

brow = moji[0]

eye = moji[1]

nose = moji[2]

mouth = moji[3]

print(brow,eye,nose,mouth)

generate_henohenomoheji(brow,eye,nose,mouth, "heno-mohe.png")

図2:PythonのPillowによるへのへのもへ字

2023年3月25日土曜日

教育データの利活用

3月22日に,文部科学省の教育データの利活用に関する有識者会議(2020.7-)が「教育データの利活用に係わる留意事項(第1版)」を公表した。

日経新聞では,「学習端末データ授業改善に活用/教師の経験頼み脱却」というタイトルの記事になっていた。BingChatに無理矢理要約させると次のようになった。
文部科学省が公表した指針によると、小中高校の児童生徒が学校で使うデジタル端末に蓄積された情報の活用について、初めての指針を公表したそうです。この指針により、教師が経験に頼ることなく、学習端末に蓄積されたデータを活用し、授業改善につなげることができるようになるそうです。また、ビッグデータの分析力を備えた外部機関との連携が求められるそうです。
日経の記事はかなりバイアスがかかったまとめ方をしていた。「留意事項」はもっと抽象的なものになっていて,(1) 個人情報の適切な取り扱い,(2) プライバシーの保護,(3) セキュリティ対策,について言及しながらシステムを外注する際のチェックポイントを整理したようなものだ。

10年前に,今後の大阪教育大学の方向性とからめて教育ビッグデータの重要性(と危険性)を話題にしていたころから進んでいない。スローガンに伴う具体的なイメージがはっきりしないのだ。いや自分が勉強していないだけかもしれない。

(1) 収集される学習データは非常に多様化し,複雑化するとおもわれる。従来型の成績+デジタルポートフォリオイメージでよいのか。
(2) 授業改善のための分析は結局外注することになるのではないか。あるいは分析ツールを買わされるのだろうか。教師が片手間でできる簡単な仕事ではない。
(3) 対話型AIをインターフェースとすれば,上記2つの課題は解決するのかもしれない。ビッグデータといいなわらしていたころとはかなり違うことになるが,問題解決のヒントくらいは見つかるかもしれない。
(4) この対話型AIシステムクラウドを日本国が自前で準備して無料で使わせるくらいのことをしてもバチはあたらないだろう(かなりこわい話だけれど,米国依存だとさらにマズイ)。

最初のコラムで,牽制するかのように「デジタル・シティズンシップ」を取り上げているのも唐突感が否めないがまあいいか。それにしても,この「留意事項」から感じる息苦しさはなんなのだろうか。個人情報保護法や著作権法にがんじがらめになっている上,自由な空気からほど遠い学校教育現場にこのようなシステムを導入すると,結局壮大な抑圧的管理網がかぶさるだけのような気もする。


P. S.  山本一郎いわく「統計量で教育データを扱うはずが,全量悉皆データをそのまま人工知能にぶち込んでしまい,自ら情報漏洩の危険を冒すお調子者教師」が散見されるそうだ。これはこれでピントがズレているような・・・



2023年3月24日金曜日

カフェインレス

カフェインレスの紅茶を飲んでいた人から,カフェインレスってどうやって作るの?という質問があったので早速調べてみた。

まず,デカフェ,カフェインレス,ノンカフェインの3つがあることまでは共通だ。とりあえず,「珈琲や紅茶でのデカフェ,カフェインレス,ノンカフェインの定義や製法の違いを説明してください」という質問を投げ掛けてみる。

(1) Bing Chatにきいてみると,最近はつれない返事しか返ってこないことが多い。回答を短く抑えせている雰囲気だ。GPT-4.0ベースとはいうものの,現時点のデータを検索して取り込んだ検索のためのチャットという仕様に特化しているからだろう。まあ,それなりの参照URLは返してくるが,それらをうまく評価しながらまとめることができているかというとそうでもない。最初からGoogleで検索した珈琲屋の答えと大差がなくなってしまった。

(2) GPT-4にきいてみると,結構詳しい答えが返ってきた。1.デカフェの説明,(a) 溶媒抽出法,(b) スイスウォータープロセス,(c) CO2抽出法。2.カフェインレスの説明,他の参考資料とは少し違うことが書かれている。3.ノンカフェインの説明,カフェインレスと同じだという主張だった。これらがどこまで正しいのかはよくわからない。

(3) Wikipediaのデカフェで調べてみると,さらに詳しい答えが載っていた。デカフェ≒(a)カフェインレスコーヒ,=(b)カフェインを除去する過程やその結果としての飲料のことを指す。たぶんこれが正しいのではないか。その上で,カフェインレスの製法についての詳しい説明,(a) 脱カフェイン法(有機溶媒抽出:ケミカル・メソッド,水抽出:ウォーター・メソッド,超臨界二酸化炭素抽出がある。),(b) カフェインレス・コーヒーノキを作る方法(遺伝子組み換えや育種によるが未到達)がある。

この中で最もよいと思われるのが,超臨界二酸化炭素を用いる方法である。
二酸化炭素は31.1℃以上かつ73.8気圧以上の状態で超臨界二酸化炭素になる。この条件は他の物質の場合より常温常圧に近く(例えば水では374℃以上かつ220気圧以上)その生成が比較的容易であることと、超臨界状態でも他の物質との化学反応を起こしにくい(超臨界水は極めて反応性が高い)という特性を持つ。また抽出後、常温常圧に戻せば二酸化炭素の除去は極めて容易であり、万一残留してもその毒性を考慮する必要がない点、廃液処理の必要がない点、有機溶媒のような燃焼性がなく火災の心配がいらない点など、さまざまな点において有機溶媒抽出法の欠点を補った、極めて優れた脱カフェイン法だとされている。(Wikipediaのデカフェより引用)
なお,ノンカフェインは,もともとカフェインを含んでいないソフトドリンク類を指す場合が多いようだ。各サイトでも定義がまちまちなのである。まあ世の中そんなものかもしれない。逆にいえば,対話型AIシステムの信頼度が高まれば,従来の検索システムは完全に凌駕されることになる。

補足:
○コーヒー市場のうちノンカフェインの占める割合は10%程度
○コーヒーに含まれるカフェインは約3%程度
○欧州では,コーヒーに含まれるカフェインが0.2%以下でデカフェを名乗れる
○日本には,カフェインを90%以上取り除けば(約0.3%以下)デカフェを名乗れる
○デカフェ市場は健康指向などから着実に拡大している


図:カフェイン(SUZUKI COFFEE から引用)


2023年3月23日木曜日

「これは個人的な意見ですが…」

金沢に一泊して用事をすませてきた。ChatGPTはやはり話題に登場した。帰ってきて,物理教育学会誌が届いたが,その編集後記もChatGPTの話題で持ちきりだった。新聞でもネットでも毎日のように生成型AIを巡るニュースが飛び交っていて,すべてをフォローするのは困難だ。

GPT-4に俳句について聞いてみた。GPT-3.5より多少マシだったが,これはまだ普通の水準に達していなかった。数学的な計算も同様で,プロンプト工学ではカバーできそうにない。それでも着実に能力は高まっている。以下は,わりとまともな答えが帰ってきた例である。
Q:組織における制度化された会議の場で,あるいは打ち合わせ等での意見交換の場で,「これは個人的な意見ですが・・・」と前置きされる発言がでることがしばしばあります。この表現は何を意味していて,どういう機能を果たしているのか,いくつかの類型に分けて整理しながらの説明をお願いします。

A:この「これは個人的な意見ですが・・・」という表現は、主に以下の機能を果たしていると考えられます。様々な類型に分けて整理してみました。

1.責任の回避
この表現を使うことで、発言者は自分の意見が組織やチームの意見として捉えられることを避けることができます。これにより、意見が受け入れられなかった場合や問題が生じた場合でも、発言者個人への責任を最小限に抑えることができるでしょう。

2.柔らかい意見の表現
この表現を使うことで、発言者は自分の意見を他者に押し付けることなく、柔らかく提案できます。これは、対立や摩擦を避けるために役立ちますし、他者が意見に対してオープンである可能性を高めるでしょう。

3.オープンな議論の促進
「これは個人的な意見ですが」は、発言者が自分の意見に対して完全に自信がないことを示唆する場合もあります。この表現を使うことで、他者に対して意見についてのフィードバックや異なる視点を提供する機会を与えることができます。

4.エキスパートでない立場からの意見提供
発言者がその分野の専門家ではない場合や、十分な情報を持っていない場合に、この表現を使うことがあります。この場合、発言者は意見を提供しつつも、自分がエキスパートでないことを明示し、他者からの補足や訂正を歓迎する態度を示すことができます。

5.異なる意見や視点の提示
組織内で既存の意見や方針に対して異なる視点を持っている場合、発言者は「これは個人的な意見ですが」と前置きすることで、新たなアイデアや視点を提案しやすくなります。これにより、組織全体の意見や方針の多様性を促進することができるでしょう。

総じて、「これは個人的な意見ですが」という表現は、意見交換の場において多様な意見を尊重し、

続けて

オープンな議論を促進するための有用な表現です。この表現を使用することで、以下のような効果も期待できます。

6.階層を超えた意見の提案
組織内で階層が存在する場合、「これは個人的な意見ですが」という表現を使うことで、上層部に対して意見を提案しやすくなることがあります。この表現は、自分の意見が組織全体に適用されるべきだと主張しているわけではないことを示しているため、上層部に対して敬意を払いつつ、意見の提案が可能になります。

7.時間をかけて意見を検討する余地の提供
「これは個人的な意見ですが」という表現を用いることで、他者に対して即座に意見を評価し、決定を下すことを求めない空気を醸成できます。これにより、意見がじっくりと検討される可能性が高まるでしょう。

8.チームのコミュニケーションを円滑にする
この表現は、チーム内での意見の対立を和らげ、より建設的なコミュニケーションを促す役割を果たします。相手に対して敬意を示し、意見の違いを受け入れやすくすることで、チーム全体の関係を強化する効果があります。

これらの類型に分けられる機能を通じて、「これは個人的な意見ですが」という表現は、組織内での意見交換や会議の場をより有意義で生産的なものにする助けとなります。発言者はこの表現を用いることで、自分の意見を適切な形で伝えることができ、他者とのコミュニケーションを円滑に進めることができるでしょう。
そこで,更問いしてみた。
Q:このような表現は日本以外の国でも見られるのでしょうか。

A:「これは個人的な意見ですが」という表現に相当するものは、日本以外の国でも見られます。異なる言語や文化においても、同様の表現が使われることがあります。以下にいくつかの例を挙げます。

英語圏:「In my opinion...」(私の意見では…)、「I personally think...」(個人的には思うんですが…)、「Just my two cents...」(たった2セントの価値しかないかもしれませんが…)などの表現が使われます。

スペイン語圏:「En mi opinión...」(私の意見では…)、「Personalmente pienso que...」(個人的には思いますが…)などの表現が使われます。

中国語圏:「我个人认为...」(私個人としては思いますが…)、「在我看来...」(私の見解では…)などの表現が使われます。

ドイツ語圏:「Meiner Meinung nach...」(私の意見では…)、「Ich persönlich denke, dass...」(個人的には思うんですが…)などの表現が使われます。

これらの表現は、日本語での「これは個人的な意見ですが」と同様に、意見交換や会議の場において、発言者が自分の意見を柔らかく提案し、他者との対立を避けることを目的として使用されます。ただし、国や文化によっては、このような表現が一般的であったり、逆にあまり使われなかったりすることもあるため、異文化間でのコミュニケーションの際には注意が必要です。

勉強になるわ。これがどこまで正しいか分からないけれど,普通に人間同士の会話でもこの程度のもっともらしいが正確かどうかわからない情報は飛び交っている。また,デマゴーグになれば,SNS上であるいは国会で出鱈目を言いまくっているので,まあ,なんともいえないところである。