2

八百屋さん物語

199
0

Notation

集合 S に対し S0:={} として,
S×:=n=0Sn
と書き, 有限列のconcatenationによってモノイド構造を入れます (unitは ). さらに SS のコピーとして, 全単射 :SS をひとつ固定します. (SS)× 上の同値関係 を次のように定めます: n1, x1,,xnS, A,B(SS)× に対し
A(x1,,xn,xn,,x1)BABA(x1,,xn,xn,,x1)B. これを用いて FS:=(SS)×/ と書きます. これには自然に群構造が入ります (代表元をひとつ固定して逆順に並べ, 成分ごとに を作用させて射影をとったものが逆元としてwell-defined).

G の自己準同型環を End(G) と書きます. commutator subgroupは [G,G] と書き, アーベル化を Gab:=G/[G,G] で定義しておきます.

よくある八百屋の問題

以下, 八百屋にある商品はりんごもしくはみかんのみから構成されるものとします.

太郎くんは200円のりんごを3つ、300円のみかんを5つ買いました。合計いくらでしょう。

解くだけなら 5200+3300=2100 でよいのですが, 今回の主題はそれではありません.

集合 S:={りんご,みかん} を考えましょう. このとき, まず S× は「りんごかみかんをいくつか並べたパターンの集合」です. たとえば
(りんご,みかん,りんご,みかん,みかん)
S× の元になります. これと
(りんご,みかん,みかん,りんご,みかん)
はまったく別のものです (並べる順番が違います).

FSab は「りんご・みかんからなるパック商品の集まり」と思うことができます. S× の演算 (およびそこから誘導される構造) を + で書けば, たとえば s:=3りんご+5みかんFSab です. S× の場合と違って順番は考慮していませんし, 果物が負の個数あらわれることもあります.
いちおう文章題ですので便宜上, 太郎くんは大量のフルーツを小脇に抱えていて, N 個買うというのは「N 個返品する」ということにしておきましょう. 生鮮食品でそんなことするな.
さらに, このようなパック商品はなんであれこの八百屋に売っている, ということにしておきましょう. (つまりこの時点では八百屋 =FSab です).

アーベル群は Z 加群

さて, 「特定のパック商品を何個か買う」という状況が考えられます. 3つのりんごと5つのみかんからなるパック商品 (先ほどの s です)を4つ買う, という状況のことを形式的に ϕ4(x) と書くことにしましょう.
一方で, これは「りんご12個とみかん20個のパック商品」を一つ買うのともちろん同じことですから, ϕ4(x)=12りんご+20みかん が成り立ちます (右辺は).

同じようにして, パック商品 xn 個買う, という状況を ϕn(x) と書くことにします. この場合もやはり, x=axりんご+bxみかん とすれば
ϕn(x)=naxりんご+nbxみかん
とできます. つまり, 商品 x を棚から n 個取り出す手間をわざわざ取らなくても, りんごが nax 個, みかんが nbx 個入ったパック nx を一つ見つければ同じことだ, と言っているわけです.

さてこれにより, x を決めるごとに, 「xn 個買うのと同じだけ中身が入ったパック商品」が見つかります. 個数が同じなのですから, これを ϕn(x) と書いても差し支えないでしょう. さらに x を変えて全部合算したとしても, もちろんフルーツの個数に変わりはありません. こうして自己準同型 ϕnEnd(FSab) が手に入りました.

八百屋の営業も楽じゃない

店先で野放図に商品を並べておく昔ながらのスタイルではタチの悪いヤツに盗まれる時代になってしまいました.

ということで, 店頭には代わりに各商品のカードを並べることにして, それを買いたいだけレジに持っていくことでスタッフがバックヤードから商品を持ってきてくれる, という仕組みにリニューアルしました. 返品も同様で, マイナスいくつとか書いてあるカードが並ぶようになりました.

せっかくリニューアルしたのならと, ついでに「大人買いカード」も別の棚に並べることにしたようです.
「パック4個分」とか書いてあるカードがあって, パック商品 x とパック n 個分カードをレジに持っていったら xn 個手に入る, という寸法です.
先ほど述べたように, ちょうどこの n 個大人買いカードが ϕn そのものだと思うことができます.

先ほどは ϕn が自己準同型としか言っていませんでしたが, 適当なパック商品 x に対して, xm 個大人買いと n 個大人買いを合わせてすれば, これは m+n 個の大人買いをするのと同じです. また, 「xm 個大人買い」を n 個大人買いすれば, これは nm 個の大人買いと同じことです. 言い換えると, 大人買いカードの取り換えは Z の環構造をうまく反映しており, これはとりもなおさず ZEnd(FSab): nϕn が環準同型であって, つまり FSabZ 加群ということです.

ここまで来ると問題1をリライトすることができます.
ev:SZev(りんご)=200, ev(みかん)=300 と定めて, Z 加群の射として延長したものを ev:FSabZ と書きます. ev(s) が求める価格です.
この視点を用いれば, 値段に一括変更があっても ev をそれに応じて変更すれば同じ手続きで値段が得られます.

線型代数

八百屋さんの近代化は止まりません. 「割引カード」なるものを導入したようです.
このカードには「5/4倍」とか「-8/27倍」とか書いてあって, このカードと商品を持っていけば最後に応じた割合を掛けてくれる, というシステムです.
割引といいつつここはめちゃくちゃな八百屋なので値段が5倍に跳ね上がったり0倍で虚無にしたりというカードが普通に置いてあります.
あと, 店主はこの仕組みをえらく気に入っているらしく, レジに割引カードを持ってこないとブチ切れられるようになりました. そのままの値段で買いたいんなら 1 倍カードを持ってこい, ということだそうです.

さて, a 倍カードと n 個大人買いカードを両方持って商品 x を買ったとしましょう. これは a 倍カードだけ持って ϕn(x) を買うのとも同じです.
もっというと, an 倍カードを持って x を買うのともまた同じことです.

同じように, a 倍カードを持ってふたつの商品 x,y を買うのは, xy を別の会計にして, それぞれで a 倍カードを使うのとも同じです.

今度は大人買いをせずに, a 倍カードと b 倍カードを持って x を買いにいくとします.
店主は気難しくて, カードを同時に出すと a+b 倍で精算します. a 倍を出してから b 倍を出すと ab 倍で勘定してくれます.
そうすると, 同時に出したときと, 「xa 倍カードで買ったのと b 倍カードで買ったときの合算」は同じ値段です.

さて思い出してみると, もともとこの店にはりんごとみかんの個数がそれぞれ書いてある商品カード, 何個分かをまとめて買える大人買いカード, そして謎の割引カードで商売をやっているのでした.
そしてレジに持っていく際には商品はもちろんのこと割引カードを常に持っていかねばなりませんでした.

ここで店主のおじさんは気づきます.
「パック売りをしなくても, りんごカードとみかんカードの二種類だけを置いておけば, あとは大人買いと割引カードで全部実現できるじゃないか」と.
そりゃそうです.

太郎くんは「何をいまさら」と思いましたが, 短気なおじさんのことですからこんなことをいうとまた拳骨を喰らってしまいます. 黙っていることにしました.

そこでおじさんの奥さんが店の裏から出てきて, こう言いました.
「大人買い n 個分も割引 a 倍を使ったら結局割引 an 倍と同じなんだから, 大人買いカードもやめていいんじゃないかい」と.
店主さんはずっとお客さんに背を向けてうなだれていました.

次の日, 太郎くんはいつものように八百屋にやってきました.
そこにはりんごカードとみかんカード, そしておびただしい数の割引カードだけがありました.

この八百屋は Q ベクトル空間であり, 基底として S={りんご,みかん} がとれる.

おわり

投稿日:2024727
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。
バッチを贈って投稿者を応援しよう

バッチを贈ると投稿者に現金やAmazonのギフトカードが還元されます。

投稿者

KIRINJI/ICE BAHN/RED SPIDER

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中
  1. Notation
  2. よくある八百屋の問題