非専門的シンギュラリティー研究所

無限に動き続けるシステムを表す方法を AI なども使って考えていきます。

中間報告(20)

現在の状況

自由モノイドのイテレータ

人工知能代数学」では「モノイドの左逆元・右逆元」の問題をモノイドまたは半環を使って説明しようとしていました。この動作は Prolog の動作と同様のものとなっています。

そのため「単一化アルゴリズム」では単一化アルゴリズムをモノイドまたは半環を使って説明しようとしています。以前このブログで単一化アルゴリズムの証明がわかりにくいので書き直していたのですが、それをさらに書き直しました。

「モノイドの素因数分解」では単一化アルゴリズムに現れるイテレーターをモノイドまたは半環への写像で表しました。これで「モノイドの左逆元・右逆元」の問題をモノイドまたは半環でほぼ説明できるようになりました。

「自由モノイドのイテレーター」ではイテレーターの調査をしています。これは前回の中間報告で書いた

などを調べるためです。

まずプログラミング言語の「ジェネレーター」では有限長のリストの後に無限長のリストを連結することができます。これは何と呼べば良いのかを調査しています。

圏論では「等化子」を使えば良いのでは、ということで ChatGPT で「射影的極限を「等化子」で説明することはできますか」と入力してみたところそれらしい答えを得ることができたのですが、これで説明できるかどうかはまだわかりません。

次にプログラミング言語の実装ではどうなっているかということで、フィボナッチ数列の例を調べました。そこで現れる

についても調査しました。

帰納可算集合」との関連を調べるため「プログラミング言語で「帰納可算集合」を表すものは何ですか」 と ChatGPT で入力してみましたが、まだ使えるかどうかわかりません。

クロージャーの調査

クロージャー調査用の言語の今後の予定を書いています。

モノイド的構文解析

構文解析をモノイドまたは半環を使って説明する予定です。

今後の予定

概要

このブログの目標であるプログラムの自動アップデートのために、論理プログラミングまたは関数プログラミングの無限の列を考えます。無限の場合にはどのような理論があるのか不明なので調査します。また数式の変形を自動的に、ゲームのように実行することも調査します。

このような調査はやっている人はいると思いますが、学校などで行われるまじめな調査ではないので検索してもなかなか見つからないと考えられます。このブログでは、このような題材を主に扱っています。

クロージャー調査用の言語

以前このブログの「ラムダ計算と無限ラムダ多項式」でも書いたクロージャー調査用の言語を、構文解析については「モノイド的構文解析」の方法で定義していく予定です。

イテレーターの調査

サーバーの機能をイテレーターで実現することについて調べていく予定です。

イテレーターによってサーバーを記述するための言語

関数プログラミングと無限論理多項式」で平方根を計算するサンプルを書くために作成した言語です。これも構文解析については「モノイド的構文解析」の方法で定義していく予定です。

論理プログラミング言語

これも構文解析については「モノイド的構文解析」の方法で定義していく予定です。処理の内容についてはモノイドまたは半環を使って説明する予定です。

論理プログラミングによる関数プログラミング

上で定義した論理プログラミング言語を使って関数プログラミングについて調べていく予定です。

準同型定理

普遍代数の準同型定理について調べて、写像を主に使って書き直す予定ですが、まだ着手できていません。

不完全性定理

不完全性定理とはなにか』の新しい版(不完全性定理とはなにか 完全版 ゲーデルとチューリング 天才はなにを証明したのか (ブルーバックス B 2277))が出ているのでわかりにくかったところがどうなっているのか調べてみたいと思います。少し見てみたのですがよくわかりませんでした。

ChatGPT で「不完全性定理プログラミング言語で説明してください」と入力して調べてみましたが、まだよくわかりません。

自動アップデートと生成AI

SNS の入力やゲームの入力などのビッグデータからプログラム自動的にアップデートするということがこのブログの初期の目標となっていました。現在はおそらく人間がアップデートしていると考えられますが、生成AIが発達しているのでできるのかもしれません。このあたりを調査していく予定です。

生成AIについては、いつの間にか生成AIでできるようになるということがあるので、継続して調査していきます。そのようになった場合にユーザーが入力によってポイントを取得するシステムについても考えていきます。