エレファント・ビジュアライザー調査記録

ビジュアルプログラミングで数式の変形を表すことを考えていくブロクです。

人工知能的代数学

人工知能的代数学(15)

モノイドの左逆元・右逆元(4) いったんプログラムの説明を書いて、その説明を元に説明を書いてもらうことにします。変数の全体 と定数の全体 で自由生成された半群を とおきます(変数は大文字から始まる文字列、定数は小文字から始まる文字列、演算子は とし…

人工知能的代数学(14)

モノイドの左逆元・右逆元(3) 前回のプログラムの動作を確認するため 「以下の Python のコードは、「モノイドの左逆元と右逆元が一致する」ことを示す式の変形を表示するものです。proof_transformation で path を指定して調べる範囲を限定すると停止する…

人工知能的代数学(13)

モノイドの左逆元・右逆元(2) 「モノイドの左逆元・右逆元」の問題について ChatGPT でやってみた記事の続きです。動くように書き直したところ、もとのプログラムはほぼなくなってしまいました。この処理をモノイドを使って表し、Prolog の処理を記述するた…

人工知能的代数学(12)

モノイドの左逆元・右逆元 「モノイドの左逆元・右逆元」の問題について ChatGPT でやってみました。以下のように入力しました。 以下のような半群の式の変形をするプログラムを書いてください: 変数の全体 と定数の全体 で自由生成された半群を とおきます…

人工知能的代数学(11)

ビジュアルプログラミング 「ビジュアルプログラミング」の項目では、数式の変形で記述すると複雑になるものをビジュアルプログラミングの手法でわかりやすくできないかということを調べていました。ここで扱った「置換の分類」、「交換子の計算」、「マグマ…

人工知能的代数学(10)

マグマの計算(4) 「エレファントな群とリー代数(2) - エレファント・ビジュアライザー調査記録」でやった「モノイドの左逆元・右逆元」の問題をやります。これも基本的には Python に書き換えただけになっています。前回のプログラムでは表示される式が多す…

人工知能的代数学(9)

マグマの計算(3) 前回の「マグマの左単位元と右単位元」では、等式の集合から推移律によって新しい等式の集合を作っていましたが、等式の数が多くなりすぎるので、「エレファントな群とリー代数(1) - エレファント・ビジュアライザー調査記録」と同様に一つ…

人工知能的代数学(8)

マグマの計算(2) 「マグマの左単位元と右単位元」の続きです。「推移閉包を求めるプログラム」は使えそうにないので、推移律を一回だけ適用するように変更しました。 class Exp: pass # Multiplication クラス class Multiplication(Exp): def __init__(self…

人工知能的代数学(7)

マグマの計算 「マグマの左単位元と右単位元」の問題の構文解析を ChatGPT でやってみるため以下のように入力しました。 「マグマ(二項演算をもつ代数的構造)の構文解析をするプログラムを書いてください: 演算子は * とします。 かっこを使えるとします。 …

人工知能的代数学(6)

交換子の計算(2) 「マグマの左単位元と右単位元」の問題の構文解析を ChatGPT でやってみようと入力したところ、「Lark ライブラリ」を使ったプログラムが返ってきました。そこでいったんこのプログラムを自分で改造して交換子の計算の構文解析をやってみる…

人工知能的代数学(5)

交換子の計算 以前引用した交換子の計算をするプログラムを作成しました。これは ChatGPT で「文字列を逆順にして、大文字を小文字に、小文字を大文字に変換したものを取得するプログラムを書いてください」と「文字列の中に「大文字とその文字の小文字」か…

人工知能的代数学(4)

プログラムの改造(2) 前回のプログラムに、互換に適用した場合のコメントを入れます。assert を入れようと思ったのですが、うまくできなかったのでコメントだけです。ChatGPT で assert とコメントを入れることができれば良いのですが、やり方がわからないの…

人工知能的代数学(3)

置換の分類(2) ChatGPT で以下のように入力しました。 置換を隣接互換の積に分解するプログラムを書いてください これは正しいプログラムを得ることができました。 def adjacent_transpositions(perm): """ 指定された置換を隣接互換の積に分解します。 :par…

人工知能的代数学(2)

置換の分類 Visual Studio でデザイナーが開けなくなったので、C# を使うのをやめて、Google Colab というのを使ってみました。これは Python を使うことになります。これにはプログラムを書いてくれる機能があって、「 を指定して、 次の対称群のすべての元…

人工知能的代数学(1)

目標 ここでは「群論の計算」などで扱っている問題をChatGPTを使って書いていきます。まず、これは何のためにやっているのかを書きます。これはChatGPTではなかなかちゃんとした答えが返ってくるように書くのは難しいようなので、大まかなことは自分で書きま…