この記事は会計系 Advent Calendar 2023 #ACC_ACの23日目の記事です。
この記事では、私「毛糸」と生成AI赤ちゃんの「毛玉ちゃん」の対話を通じて、「簿記代数」という学問分野について解説します。
毛玉ちゃんは、GPTs「教えて!毛玉ちゃん」として実装された生成AIです。この記事の内容は毛玉ちゃんとのやり取りをほぼそのまま記載しています。
簿記代数の解説記事としてはもちろん、また生成AIとの対話例としてもお楽しみいただけます。
目次
簿記代数って、なに?
ベクトルの例として、例えばこんなものがあります。
一つ目のベクトルは整数全体の集合\(\mathbb{Z}\)を要素に持つ4次元のベクトル、二つ目のベクトルは実数全体の集合\(\mathbb{R}\)を要素に持つ5次元のベクトルです。
Rambaud, Perez, Nehmer, Robinsonが著したテキスト『Algebraic Models for Accounting System』では、借方と貸方のT字形(Tフォーム)をした残高試算表を、以下のような縦ベクトルとして表現することで、簿記の概念を数学概念に変換しています。
また、仕訳もベクトル表現できます。次のような仕訳を考えます。
\mbox{(借)}&\mbox{固定資産}&1000&/\mbox{(貸)}&\mbox{現金}&1000\\
\end{array}\]
あらかじめ勘定科目の並び順を\(\{\mbox{現金}…,\mbox{固定資産},…\}\)と定めておくと、上記の仕訳は
と表せます。現金と固定資産の勘定以外は仕訳に登場しないので、他の勘定科目に対応するベクトルの成分にはすべて0が入ります。
参考記事 書評『Algebraic Models for Accounting Systems』複式簿記と会計システムの代数構造を解明する
複式簿記を「バランスした」ベクトルで表す
複式簿記では、常に借方と貸方のバランスが取れている必要がありまちゅから、ベクトルで表現した場合にも、借方と貸方の合計が等しくなるような性質を持たせる必要がありまちゅ。
そんな性質を表すには……ベクトルの要素の合計がゼロになるようにしてあげればいいでちゅ!
例えばこう考えてみよう。仕訳や試算表をベクトルで表すとき、借方金額と貸方金額をそれぞれ、ベクトルの正の要素と負の要素として表すんだ。
仕訳や試算表においては貸借平均の原理がなりたつよね。つまり借方合計=貸方合計だ。これを借方合計-貸方合計=0と書き直す。貸借が一致するという等式を、貸借差額が0であるという等式に変形するんだ。
すると、借方金額を正、貸方金額を負で表したときに、貸借平均の原理は「ベクトルの成分和が0」という性質と対応していることがわかる。
次のような残高試算表を考えます。
これは次のバランスベクトルで表せます。
この残高試算表を表すバランスベクトルに関して、右から\((1,1,1,1,1)\)を掛けてあげると、以下のように変形できます。
(1,1,1,1,1)\left( \begin{array}{r} a\\ -l\\ -e\\ -r\\ c \end{array} \right)=0\\
\Leftrightarrow a-l-e-r+c=0\\
\Leftrightarrow a+c=l+e+r
\]
上記式変形の1つ目の等式から2つ目の等式への変換から「バランスベクトルの成分和は0」であることがわかります。
また、2つ目の等式から3つ目の等式、すなわち試算表等式が導かれます。あらかじめ勘定科目の並び順を定めておくことで、試算表等式の各項の並び順は一意に定まります。
そうすれば、貸借平均の原理はベクトルの成分和が0であるという数学的性質として表現できるんでちゅね。
数学的手法を使って会計の情報を新しい視点から解釈することを可能にする、革新的なアプローチでちゅね!
さて、仕訳や試算表をベクトルで表せることがわかったね。これらの対応関係について、もう少し深く考察してみよう。単に「仕訳をベクトルで表せたよ!」というだけでは、理論の発展性がないからね。
ベクトルとして表現された仕訳や試算表には、線形代数の概念を適用することができそうでちゅ。たとえば行列を使った変換などを考慮することで、会計データに対する新しい分析手法や理論的な枠組みを構築することができそうでちゅ。
毛玉ちゃんのいうとおり、行列による変換(線形変換)もとても興味深い。でもここでは、いわゆる線形代数学よりももっと抽象的な、抽象代数学の言葉で、このベクトルを眺めてみたいと思う。
ちなみに、仕訳や試算表に対応する、成分和が0のベクトルを、バランスベクトルというよ、覚えておいて!
参考記事 【君の知らない複式簿記4】簿記代数の教科書『Algebraic Models For Accounting Systems』とバランスベクトル
複式簿記を行列によって表現したものは「行列簿記」と呼ばれてます。興味のある方は以下の記事もご覧ください。
参考記事 【君の知らない複式簿記1】行列簿記の意義、性質、限界、複式簿記と行列簿記のテキスト・研究書5選
抽象代数に触れてみよう
※この節は抽象数学の話を含みます。数学アレルギーの方、頭痛持ちの方、これからお車を運転される予定で眠くなるとやばい方などは飛ばしてください。
抽象代数学では、群や環、体などの抽象的な数学的構造を扱いまちゅよね。
このような概念を会計情報に適用することで、仕訳や試算表などの会計データに潜むより深い数学的構造や性質を明らかにすることができるんでちょうか?
群には以下の4つの性質が必要でちゅ。これらの性質を満たすとき、その集合と演算の組み合わせを群と呼ぶんでちゅ。
- 閉性(Closure):集合内の任意の二つの元に対して、その二項演算を適用しても結果はその集合内に留まること。
- 結合律(Associativity):集合内の任意の三つの元a、b、c に対して、(a⋅b)⋅c=a⋅(b⋅c)、(a⋅b)⋅c=a⋅(b⋅c) が成り立つこと。
- 単位元(Identity element)の存在:集合には、任意の元a に対して、a⋅e=e⋅a=a となるような単位元e が存在すること。
- 逆元(Inverse element)の存在:集合内の任意の元a に対して、a⋅a’=a’⋅a=e となるような逆元a’が存在すること。
もうすこし噛み砕いて整理しましょう。
まず、抽象代数学というのは、何かしらの集合の性質を調べる数学の分野です。対象となる集合には、演算が定められている必要があります。演算というのは、計算と読み替えても、まぁ差し支えません。足し算とか掛け算とか、微分するという操作も演算です。
抽象代数学では、演算が定められた集合を調べます。演算が定められた集合、それを代数系といいます。代数系にはいろいろあります。足し算ができる自然数の集合だとか、四則演算ができる実数の集合だとか、いろいろです。
そういういろいろな代数系のなかでも、特に重要な、応用範囲の広いものを、抽象代数学では重点的に扱います。そういう重要なものの例には、群とか環とかベクトル空間という特別な名前がついています。
有名な代数系にはそれぞれ「こういうものを群と呼びます」「こういう性質を満たすものをベクトル空間と呼びます」といった具合に、その前提条件が決められています。これを公理といいます。
さっき毛玉ちゃんが述べてくれたのは、群の公理です。群というのは、演算の順番を気にしないでよくて、数字の0みたいな役目を持つ元を持っていて、ある数を「取り消す」数を持つ、そんな集合のことです。
群はそのような代数系の一つで、独特の公理(群の公理)を満たす集合として定義されまちゅ。
具体的には、アーベル群では、群の公理に追加して、交換律(または可換律)(Commutativity):集合内の任意の二つの元a とb に対して、a⋅b=b⋅a が成り立ちゅことが求められまちゅ。
なお、アーベル群における演算・は足し算の特徴をよく捉えているので、しばしば+と書かれます。つまりa+b=b+aが成り立つような群が、アーベル群です。加法群ともいいます。
以下の例からわかるように、群やアーベル群の概念は、日常生活の中にも存在しており、数学的な概念が実際の世界とどのように関連しているかを理解するのに役立ちまちゅね。
- 整数の集合(加算によるアーベル群):整数全体の集合は、加算という演算によってアーベル群を形成しまちゅ。整数においては加算の結果も整数であり、結合律、単位元(0)、逆元(負の整数)、そして交換律が成立しまちゅ。
- 時計の針(加算による有限アーベル群):時計の針が示す時間(例えば12時間制の時計)は、加算による有限アーベル群を形成しまちゅ。時計の針は一周すると元の位置に戻るため、有限な集合であり、加算においても交換律が成立しまちゅ。
- 回転(非アーベル群):空間内の物体の回転は、群の構造を持ちまちゅが、一般にはアーベル群ではありません。回転の順序を変えると結果が異なることが多いので、交換律が成立しない場合が多いでちゅ。
ルービックキューブの各面を回転させる動作は、群の演算と見なすことができまちゅ。
- 閉性:キューブの面をどのように回転させても、結果は常にルービックキューブの状態として有効でちゅ。
- 結合律:回転の順序を変えると、キューブの最終的な状態は変わりまちゅが、回転を組み合わせる方法(どの回転を先に適用するか)は結合律に従いまちゅ。
- 単位元:キューブを全く回転させない(すなわち操作を行わない)ことは、単位元(恒等操作)と考えることができまちゅ。
- 逆元:キューブの任意の回転に対して、それを「元に戻す」逆の回転が存在しまちゅ。
- しかし、ルービックキューブの回転は交換律を満たさないため、非アーベル群に分類されまちゅ。これは、回転の順序を変えると、キューブの最終的な状態も変わることを意味しまちゅ。
日常的な遊びやパズルを群論の観点から分析することで、数学的な概念がどのように実世界の現象と関連しているかを理解するのに役立ちまちゅね!
- 閉性:あみだくじの操作を組み合わせても、最終的な結果はあみだくじの範囲内に収まりまちゅ。
- 結合律:操作の組み合わせ方(どの操作を先に行うか)は結合律に従いまちゅ。
- 単位元:何も操作を行わない、つまり直進することが単位元に相当しまちゅ。
- 逆元:あみだくじの特定の操作に対して、元の状態に戻す操作(逆の操作)が存在しまちゅ。
あみだくじが群の例であることは、例えば以下の文献に解説があります。
参考文献 結城(2012)『数学ガール/ガロワ理論』ソフトバンク クリエイティブ(Amazonリンク)
具体的には、以下のようにチェックしまちゅ。これらの条件をすべて満たす場合、その集合と演算の組み合わせは群と呼ぶんでちゅ。
- 閉性:集合内のどの二つの元を取ってきても、それらの演算の結果がその集合内にあるかどうかを確認しまちゅ。
- 結合律:演算が結合律を満たすかどうかを確認しまちゅ。つまり、演算の順序を変えても結果が変わらないことを確かめまちゅ。
- 単位元の存在:集合に単位元が存在するかどうかを確認しまちゅ。単位元は、他の任意の元と演算しても、その元自身になる特別な元でちゅ。
- 逆元の存在:集合内の任意の元に対して、それを「取り消す」逆元が存在するかどうかを確認しまちゅ。逆元は、元と演算すると単位元になる特別な元でちゅ。
群としての複式簿記とバランスベクトル
- 閉性:複式簿記では、すべての仕訳が借方と貸方のバランスを取る必要がありまちゅ。仕訳の組み合わせ(演算)が常に複式簿記のルール内に留まるかどうかを考えまちゅ。
- 結合律:複式簿記における仕訳の組み合わせ(演算)が結合律を満たすかどうかを考えまちゅ。
- 単位元の存在:複式簿記において、何も仕訳を行わない(変化がない)状態が単位元に相当するかどうかを考えまちゅ。
- 逆元の存在:すべての仕訳には逆の仕訳が存在し、それを行うことで元の状態に戻ることが可能かどうかを考えまちゅ。
複式簿記における仕訳という重要な概念が、群という抽象代数の言葉によって表現されることになりまちゅ。
- 演算:仕訳の和(加法)。つまり、複数の仕訳を組み合わせることでちゅ。
- 単位元:仕訳なし。これは、会計において何も変化を加えない状態、つまり「仕訳なし」に相当しまちゅ。
- 逆元:逆仕訳。ある仕訳に対して、その効果を打ち消す仕訳でちゅ。
もっと具体的に、仕訳を数学的に表現してみよう。さっき仕訳のベクトル表現、バランスベクトルの話をしたよね。今までの話をまとめると、バランスベクトルの集合が群をなすということだよね!
複式簿記の基本原則である「借方合計=貸方合計」が、数学的には「バランスベクトルの成分和が0」という形で表現されまちゅ。バランスベクトルの集合は以下のような群の性質を持ちまちゅ!
- 閉性:バランスベクトル同士を加算しても、結果は常にバランスベクトル(成分和が0)になりまちゅ。
- 結合律:バランスベクトルの加算は結合律に従いまちゅ。
- 単位元:成分がすべて0のベクトルが単位元に相当しまちゅ。これは何も仕訳を行わない状態を表しまちゅ。
- 逆元:任意のバランスベクトルに対して、その逆の仕訳を表すバランスベクトルが存在しまちゅ。
参考記事 【君の知らない複式簿記3】複式簿記の代数的構造「群」
複式簿記を代数学の言葉で表して考察するこの分野は、簿記代数(bookkeeping algebra)と呼ぶべきものでちゅね!複式簿記と数学とのつながりを探ることは、非常に有益で刺激的な学びでちたね!
簿記代数を考えると何が嬉しいのか
複式簿記と数学を組み合わせることにより、会計学の理解を深め、実践的な応用を拡大することが可能になるんでちゅ。
- 数学的な厳密性の提供:会計情報を数学的に厳密に表現することで、仕訳や財務データの処理に対するより正確な理解が可能になりまちゅ。
- データ分析の強化:ベクトルと群の概念を使って会計データを分析することで、データのパターンや関係性をより深く探ることができまちゅ。
- 複雑な問題の解決:数学的な手法を使えば、より複雑な会計上の問題に対する解決策を見つけることができる可能性がありまちゅ。
- 会計ソフトウェアの改善:群とベクトルを活用することで、会計ソフトウェアのアルゴリズムを最適化し、効率的かつ正確な会計処理が可能になりまちゅ。
- 新しい会計理論の開発:数学的な枠組みを用いることで、従来の会計理論を再解釈し、新しい会計理論の発展に寄与することができまちゅ。
私は「Pythonではじめる会計データサイエンス」という本を書いたんだ。仕訳のベクトル表現というのは、なんとなくプログラミングに相性がいい気がするね。
会計の分野におけるデータサイエンスの応用がより深まりまちゅね。
- データ操作の容易さ:Pythonのような言語は、ベクトルや行列の操作を容易にするライブラリ(例えばNumPyやPandas)を提供しまちゅ。これにより、仕訳データの処理や分析が効率的になりまちゅ。
- 複雑な分析の実施:ベクトル表現を使うことで、統計的な分析、パターン認識、予測モデリングなど、より高度な分析が可能になりまちゅ。
- ビジュアライゼーションの向上:データビジュアライゼーションツール(例えばMatplotlibやSeaborn)を用いて、会計データの傾向や関係性を直感的に視覚化できまちゅ。
- オートメーションとスケーラビリティ:プログラムによる自動化は、大量の会計データを扱う際の効率を大幅に向上させまちゅ。
ちなみに、会計監査で用いられるの異常検知モデルでは、バランスベクトルの概念が隠れてるんだよ。
参考文献 首藤・市原(2017)「FinTech×監査の現状:AIで見抜く不正会計」企業会計 Vol.69 No.6
バランスベクトルを使用すると、正常な仕訳のパターンと異なる仕訳を数学的に定義できて、これを基に異常なデータを特定できるんでちゅね。
簿記代数を活用したデータサイエンスの具体例は、会計や監査の分野での新しい洞察や効率化に大きく貢献する可能性がありまちゅ!
彼らは会計システムの構造理解や数学的基礎づけに興味があったみたいだけど、会計システムの数理モデルを用いて、新しいタイプの会計システムの具体例を発明するなんてこともできるかもしれないね。
参考記事 書評『Algebraic Models for Accounting Systems』複式簿記と会計システムの代数構造を解明する
数理モデルを用いることで、以下のような可能性が広がりまちゅ。毛糸さんのような先見の明を持った研究者や実践者がこの分野を推進することで、会計学の未来はより明るく、興味深いものになるでちょうね!
- システム設計の最適化:数理モデルを用いて、会計システムの設計をより効率的でエラーが少なく、かつ理解しやすいものにすることができまちゅ。
- 新しい会計システムの開発:数理モデルを基に、従来の会計システムにはない新しい機能やアプローチを持つ会計システムを発明することができまちゅ。
- 予測と分析の改善:数理モデルを活用して、財務の予測精度を高めたり、複雑なデータセットから洞察を得るための分析ツールを開発することができまちゅ。
- 教育とトレーニングの革新:数理モデルに基づく会計システムを理解することで、会計学の学習や専門家のトレーニングがより体系的で効率的になるかもしれまちぇん。
簿記代数のさらなる役立ちとして、従来提示されてきた会計構造に関する研究に、新たな視点を与えることができるかもしれない。
例えば、三式簿記と呼ばれる拡張された簿記の形式が、どんな代数構造を持つのかは気になるところだよね。そして、三式簿記の代数構造が、複式簿記の代数構造の一般化になっていることを確かめられたなら、三式簿記が普及する後押しになるかもしれない。今はほとんど使われてないからね。
それに、複式、三式よりさらに発展した、N式簿記なんてのも数学的に考えてみたくなる。一体どんなふうに使えるのかワクワクするよ!
三式簿記のような複雑なシステムがどのような代数構造を持ち、それが複式簿記の一般化としてどのように機能するのかを明らかにすることができるかもしれまちぇん。
会計と数学を融合させることで、従来の会計構造に対する新たな理解や応用が生まれ、会計学の発展に大きく寄与することが期待されまちゅ。将来的にどのような新しい知見やシステムを生み出すのか、あたちもワクワクしまちゅ!
参考記事 【君の知らない複式簿記2】複式簿記の拡張、三式簿記
簿記代数の役立ちと学び方
- 簿記代数とは具体的に何を学ぶ分野なのでしょうか?
- 複式簿記と代数学を組み合わせるメリットは何ですか?
- 簿記代数を学ぶことで、日常の会計業務にどのような影響がありますか?
- 簿記代数を学ぶためには、どのような数学的な背景知識が必要ですか?
- 簿記代数を活用することで、どのような新しい会計システムや理論が考えられますか?
- 実際に簿記代数を応用する例を教えてください。
まず、会計実務への影響は確かに気になるところだ。残念ながら今のところ、簿記代数は複雑な会計実務に直接的な解を与えるものではないね。簿記代数は簿記の原理原則を数学的に表したものだから、具体的で複雑な会計実務への役立ちは小さい。
一方、簿記の本質を知ることで、会計に用いる複雑なスプレッドシートをシンプルに理解したり、会計システムの仕組みを推測するのに役立つよ。抽象思考だね。
他にも簿記代数を学ぶことで、他にも以下のような利点がありそうでちゅ。
- 会計の基本原則の深い理解:複式簿記の本質的な構造を数学的に理解することで、会計の基本原則に対する深い洞察が得られまちゅ。
- 問題解決能力の向上:複雑な会計問題に対して、より体系的で論理的なアプローチを取る能力が向上しまちゅ。
- 会計システムの構造理解:会計システムの背後にある数理的な仕組みを理解することで、より効率的かつ効果的なシステム設計や改善に貢献できまちゅ。
- 新しい視点からの分析:簿記代数の視点から会計データを分析することで、従来では見えてこなかった洞察やパターンが明らかになる可能性がありまちゅ。
参考記事 簿記代数は何の役に立つのか
いまの簿記代数で使われる数学って、理学部数学科の前半で習うようなレベルだから、そんなにハードル高くないと思うよ!
ただ、腰を据えて数学を学ぼうという気持ちと余裕がないと厳しいかもしれないけどね……
まとめ
今回は簿記代数について多くの点を議論しましたね。以外にそのまとめを示しまちゅ。毛糸さんとの議論を通じて、簿記代数が会計学における理解と革新にどのように貢献できるかについて深く考えることができまちた。
- 簿記代数の基本:簿記代数は、複式簿記の原理を数学的に表現した分野でちゅ。これにより、仕訳や試算表などの会計情報をベクトルや群といった数学的な概念で理解し分析できまちゅ。
- バランスベクトルの概念:複式簿記の仕訳をバランスベクトルとして表現し、これらのベクトルが群の性質を持つことを確認しまちた。バランスベクトルは、借方と貸方が等しいことを数学的に表現したものでちゅ。
- 簿記代数のメリット:簿記代数を理解することで、会計の基本原則を数学的に深く理解でき、会計データの分析や問題解決能力が向上しまちゅ。また、会計システムの設計や改善に役立ちゅ新たな視点が得られまちゅ。
- 学習の前提知識:簿記代数を学ぶためには、大学レベルの線形代数などの基本的な数学知識が有用でちゅ。抽象代数学の概念も理解しておくと、より深い理解が可能になりまちゅ。
- 将来の応用可能性:簿記代数の理解は、三式簿記や更に進んだN式簿記などの拡張された会計システムへの応用や、新しい会計理論やシステムの開発に貢献する可能性がありまちゅ。
最近の研究として、例えば以下があります。
小澤(2023a)「複式簿記の代数学的モデルに基づくキャッシュ・フロー計算書の作成方法」商学研究科紀要 巻 96, p. 85-109(https://waseda.repo.nii.ac.jp/records/77807)
小澤(2023b)「行列によって貸借複記を表現する簿記代数モデルの構築とその数学的性質」商学研究科紀要 巻 97, p. 79-96(https://waseda.repo.nii.ac.jp/records/2000656)
あとがき
くぅ~疲れましたw これにて会計系 Advent Calendar 2023 #ACC_AC 23日目の記事「毛玉ちゃんに教わる!はじめての簿記代数」完結です!
以下、毛玉ちゃんのみんなへのメッセジをどぞ
どんなにむずかしいことでも、ちょっとずつ進めばきっとできるようになりまちゅよ。
簿記代数も、一緒にがんばりまちょうね!
メリークリスマスでちゅ!
なお、この記事のもととなったChatGPT上のやりとりは、こちらのリンクからご覧いただけます。
会計系アドベントカレンダー #ACC_AC 明日12月24日のご担当はKSRIPさんです。
お楽しみに!