宣伝: 『「シミュレーション仏教」の試み』(JRF 著)。Amazon Kindle で、または、少し高いですが、DRM フリー EPUB を BOOTH で、販売中!
技術系電子本。Python による仏教社会シミュレーション( https://github.com/JRF-2018/simbd )の哲学的解説です。

« 二封筒問題のシミュレーション その2 実数拡張編 | トップページ

2020年11月 5日 (木)

二封筒問題のシミュレーション その3 整数拡張編

概要


二封筒問題(参: 三浦俊彦『可能世界の哲学』)を Python を用いたシミュレーションで解く。その1では未開封と開封で答えが違うことがシミュレーションによっても確かめられた。その謎を解くため、その2では、まずは額を実数にするよう問題を拡張した。

この「その3」では整数問題に戻って拡張を試み、謎の解明を完成する。
整数拡張


その2の実数拡張では、額の上限が与える影響を示すことができた。整数ではさらに、額が偶数か奇数かがさらなる問題となる。具体的には、開封して奇数であれば、それは相手の二倍でないのは確実なので、交換するのがどうみても得になるわけである。

それを解析していこう。シミュレーションは実数拡張と似ているが、期待値(平均値)を直接求めるのではなく、試行をすべてメモリにたくわえてあとで処理するというある意味 Python らしいメモリをたくさん使った実装にしてみた。

プログラムは次の two_envelopes_4.py である。parse_args をはじめいろいろ省略している。ARGS.x_max すなわち X は、偶数でなければならないとする。

import random
import numpy as np
from sympy import *
import argparse
ARGS = argparse.Namespace()

ARGS.trials = 10000
ARGS.x_max = 200

# parse_args 省略

def main ():
    trials = []
    for trial in range(ARGS.trials):
        r = random.randrange(2)
        x = random.randrange(1, ARGS.x_max + 1)
        if r == 0:
            a = x * 2
            b = x
        else:
            a = x
            b = x * 2
        trials.append([a, b, r, x, b / a])
    trials = np.array(trials)
    t_a = trials[:, 0]
    t_b = trials[:, 1]
    t_r = trials[:, 2]
    t_x = trials[:, 3]
    t_a1 = trials[(t_x <= ARGS.x_max / 2) & (t_r == 0)]
    t_a2 = trials[(t_x > ARGS.x_max / 2) & (t_r == 0)]
    t_be = trials[(t_r == 1) & (t_x % 2 == 0)]
    t_bo = trials[(t_r == 1) & (t_x % 2 == 1)]
    t_c = trials[(t_a <= ARGS.x_max) & (t_a % 2 == 0)]
    t_d = trials[t_a <= ARGS.x_max]
    t_a2_ = trials[t_a > ARGS.x_max]
    t_bo_ = trials[t_a % 2 == 1]
    assert t_a1.shape[0] + t_be.shape[0] == t_c.shape[0]
    assert t_c.shape[0] + t_bo.shape[0] == t_d.shape[0]
    assert np.all(t_a2 == t_a2_)
    assert np.all(t_bo == t_bo_)

    x = Symbol('x', integer=True)
    X = Symbol('X', integer=True)
    y = Symbol('y', integer=True)

    n_a1 = summation(1, (x, 1, X/2))
    n_a2 = summation(1, (x, X/2 + 1, X))
    n_be = summation(1, (y, 1, X/2))
    n_bo = summation(1, (y, 1, X/2))

    E_a1_b = summation(x, (x, 1, X/2)) / n_a1
    E_a2_b = summation(x, (x, X/2 + 1, X)) / n_a2
    E_be_b = summation((2 * x).subs([(x, 2 * y)]), (y, 1, X / 2)) / n_be
    E_bo_b = summation((2 * x).subs([(x, 2 * y - 1)]), (y, 1, X / 2)) / n_bo
    E_c_b = (n_a1 / (n_a1 + n_be)) * E_a1_b + (n_be / (n_a1 + n_be)) * E_be_b
    E_d_b = (n_a1 / (n_a1 + n_be + n_bo)) * E_a1_b \
        + (n_be / (n_a1 + n_be + n_bo)) * E_be_b \
        + (n_bo / (n_a1 + n_be + n_bo)) * E_bo_b
    E_omega_b = ((n_a1 + n_be) / (n_a1 + n_a2 + n_be + n_bo)) * E_c_b \
        + (n_a2 / (n_a1 + n_a2 + n_be + n_bo)) * E_a2_b \
        + (n_bo / (n_a1 + n_a2 + n_be + n_bo)) * E_bo_b
    assert Eq(E_a1_b, X/4 + 1/2).simplify()
    assert Eq(E_a2_b, 3*X/4 + 1/2).simplify()
    assert Eq(E_be_b, X + 2).simplify()
    assert Eq(E_bo_b, X).simplify()
    assert Eq(E_c_b, 5*X/8 + 5/4).simplify()
    assert Eq(E_d_b, 3*X/4 + 5/6).simplify()
    assert Eq(E_omega_b, 3*X/4 + 3/4).simplify()

# E_c_a, E_d_ba などを求めるのを省略。

    f = lambda q: q.subs([(X, ARGS.x_max)]).simplify().evalf()

    print("Realm: c")
    av_c = np.mean(t_c, axis=0)
    print("valid:", t_c.shape[0], "/", ARGS.trials)
    print("E(A) =", av_c[0], "(==", f(E_c_a), ")")
    print("E(B) =", av_c[1], "(==", f(E_c_b), ")")
    print("E(X) =", av_c[3])
    print("E(B/A) =", av_c[4], "(==", f(E_c_ba), ")")
    print("E(B)/E(A) =", av_c[1] / av_c[0], "(==", f(E_c_b / E_c_a), ")")

# 領域 a2, bo, d に関する print を省略

    assert Eq(E_d_b/E_d_a, (9 * X + 10) / (6 * X + 8)).simplify()
    #plot(E_d_b/E_d_a, (X, 0, 100))

# 領域 Omega に関する print を省略

if __name__ == '__main__':
    # parse_args 省略
    main()



ソースの説明の前に実行結果は次のようになる。

$ python two_envelopes_4.py
Realm: c
valid: 5040 / 10000
E(A) = 101.04166666666667 (== 101.000000000000 )
E(B) = 125.7 (== 126.250000000000 )
E(X) = 75.58055555555555
E(B/A) = 1.2407738095238094 (== 1.25000000000000 )
E(B)/E(A) = 1.244041237113402 (== 1.25000000000000 )

Realm: a2
valid: 2494 / 10000
E(A) = 301.0208500400962 (== 301.000000000000 )
E(B) = 150.5104250200481 (== 150.500000000000 )
E(X) = 150.5104250200481
E(B/A) = 0.5 (== 0.500000000000000 )
E(B)/E(A) = 0.5 (== 0.500000000000000 )

Realm: bo
valid: 2466 / 10000
E(A) = 99.07948094079481 (== 100.000000000000 )
E(B) = 198.15896188158962 (== 200.000000000000 )
E(X) = 99.07948094079481
E(B/A) = 2.0 (== 2.00000000000000 )
E(B)/E(A) = 2.0 (== 2.00000000000000 )

Realm: d
valid: 7506 / 10000
E(A) = 100.39701572075673 (== 100.666666666667 )
E(B) = 149.5054622968292 (== 150.833333333333 )
E(X) = 83.30082600586198
E(B/A) = 1.4902078337330136 (== 1.50000000000000 )
E(B)/E(A) = 1.4891424931659545 (== 1.49834437086093 )

Realm: Omega
valid: 10000
E(A) = 150.4326 (== 150.750000000000 )
E(B) = 149.7561 (== 150.750000000000 )
E(X) = 100.0629
E(B/A) = 1.24325 (== 1.25000000000000 )
E(B)/E(A) = 0.9955029694361461 (== 1.00000000000000 )


ソースの説明をする。

最初に for 文でシミュレーションをしている。これまでの違いは、試行を足し合わせるのではなく trials というリストに残している点である。

そして後から、numpy の機能を使って、trials を領域の条件を満たすかどうかで分類している。基本となる領域 a1, a2, be, bo は次のようになる。なお、X は ARGS.x_max のことである。r == 0 で a が二倍、r == 1 で b が二倍になる。

領域 a1:
r == 0 で、x <= X/2。
領域 a2:
r == 0 で、x > X/2。
領域 be:
r == 1 で、x が偶数(even)。
領域 bo:
r == 1 で、x が奇数(odd)。


そしてそれらの組み合わせと等しくなるのが領域 c, d, Omega である。

領域 c:
a <= X かつ a が偶数。
領域 d:
a <= X。
領域 Omega:
全領域。


なお、領域 c は 領域 a1 と be を組み合わせたものになり、領域 d は 領域 c と bo を組み合わせたものになる。また、領域 a2 は、a > X の領域と合致し、領域 bo は a が奇数の領域と合致する。それは、assert で結果から確かめてもいる。

次にそれぞれの領域における b と a と b/a の期待値を求めている。

例えば、領域 c における b に交換したときの期待値は E_c_b として式を建てている。それは、期待値の分割を使って E_a1_b と E_be_b から求められる。

  E_c_b = (n_a1 / (n_a1 + n_be)) * E_a1_b + (n_be / (n_a1 + n_be)) * E_be_b


そして例えば領域 a1 における b の期待値は E_a1_b は、n_a1 が領域 a1 のすべての場合の数だとして

  E_a1_b = summation(x, (x, 1, X/2)) / n_a1


…になる。これは assert 文でわかるように結局、E_a1_b == X/4 + 1/2 となる。assert の読み方はその2で説明したのでそちらを参照していただきたい。そして、E_c_b == 5*X/8 + 5/4 となる。

そして最後に a の開封によって観測できる各領域ごとに E(a), E(b), E(x), E(b/a), E(b)/E(a) を表示している。

蛇足だが、領域 d における E(B)/E(A) はほぼ 1.5 になるが、厳密には 1.5 に満たなくなるようだ。E_d_b/E_d_a == (9 * X + 10) / (6 * X + 8) となる。これを plot すると次のようになる。100 ですでに 1.5 近いから 10000 あたりになれば、ほぼ 1.5 になるのだが、ご参考まで。

fig_E_d_b_E_d_a.png

以上が、two_envelopes_4.py の説明である。

その結果、領域 c では、b への交換が 1.25 倍有利になっている。しかし、領域 a2 では逆に 0.5 倍となり不利になっている。また、領域 bo では 2.0 倍になり 1.25 倍よりさらに有利になっている。結果全領域ではいろいろな効果が打ち消しあって 1.0 倍…すなわち変わらないということになるが、これはかなり偶然が重なってのことであるという印象を受ける。


「二封筒問題」の結論


さて、開封して 1万円だとわかった場合という二封筒問題の開封バージョンの条件は、一目して受ける印象と違ってかなり条件が制限されたものだというのがわかる。

それは領域 c に属するということ、つまり、最初に決める額の上限額 X (本当の上限は 2*X) より開封して見た額 a が小さく、かつ、偶数の額であるということ…それが 1.25 倍という結果を導いているのである。

もし、上限 X が例えば 9000円であれば、開封した a が1万円になることは可能だが、交換は 1.25 倍とはならならず 0.5 倍となる。そういう不利な条件がまず排除されている。

さらに開封した額 a が 9999円のような奇数なら交換はからなず 2 倍となる。そういう有利な条件もまた排除されているということになる。

未開封なら 1倍というところから、そういう有利なところと不利なところを刈りこんだら 1.25 倍の領域が残ったというのが、この問題の謎の解になろう。

排除された部分に 10002円がないとして、1万円だったときに交換する者は、 10002円だからと言って交換しない理由はないだろうし、1万円を見て交換しない者は、10002円なら交換する理由はあるまい。そういう意味では1万円で交換する者の期待値は、領域 c についての期待値になると見ても良いと思われる。

ただ、厳密には、領域 c にあることと、1万円だとわかることには違いがある。開封して 1万円だとわかったときの期待値の計算は、三浦の最初の計算で正しいのだろう。謎は、開封した場合ではなく未開封の場合で、それは今回領域 Omega として計算したようになる。…ということなのではないか。

おまけに two_envelopes_5.py というプログラムを付けておいた。これは a <= ARGS.q なる領域 d と a == ARGS.q なる領域 q について期待値を計算するものである。あわよくば a <= ARGS.q に関する期待値の差分を取れば、a == ARGS.q の期待値のヒントが得られるかもと思ったが、E_d_b_ の計算結果を見る限りまったくのあてはずれだった。領域 q の計算は三浦の最初の計算とほぼ同じものにするしかなかった。


今後に向けて


その2と同じく、中身を見れず額がわからなくとも、上限額よりはるかに小さい額しか入っていないという情報があれば、交換が有利になるとは言えるだろう。額が偶数だろうが奇数だろうがそれが言える…と。ただ、分布が一様でないなら難しくはなるが…。

その2の最後でも書いたが、ところで「開封」とは、どういう意味を数学・論理学的に持つのだろうか?

開封によって知ることができ、かつ、その知ったことによって変化させることができる事象というものが、実は、はっきり列挙されているわけではない。知ること/知らないことをどう表すか…それが問われていると言えるかもしれない。

領域の分け方はこれ以外ありえないのか、それは証明されていない。この問題に関しては、これ以上の場合わけの方法はないと私には思われるが、それで十分という保証があるわけではない。

領域 c に属すことと、1万円とわかることには違いがある。領域 c に属す各要素について、同じ期待値を保証するということができれば、例えば特定のサイズの魚が池にいた確率(参: 三浦俊彦『ゼロからの論証』)のような実数値の議論にも応用できるのかもしれない。それはどうすればできるのか、私はその方法を知っていない。その一般的性質・どういうときできるかも興味がある。それを知るのも今後の課題だろう。


参考&著者&ライセンス&配布物


この記事には、その1 基礎編、その2 実数拡張編、その3 整数拡張編があるが、その1を参照のこと。
更新: 2020-11-05--2020-11-12
初公開: 2020年11月05日 23:05:33
最新版: 2020年11月12日 23:02:02

2020-11-05 23:05:33 (JST) in シミュレーション Python | | コメント (8)

批評や挨拶のためのネットコミュニティ

  • はてなブックマーク(って何?) このエントリーをはてなブックマークに追加 このエントリーを含むはてなブックマーク このエントリーを含むはてなブックマーク
  • Twitter (って何?)

コメント

2つの封筒にはいっている金額の合計を3Mとします。このMは確率変数です。
三浦先生はこのMについて、無情報だという理由で一様分布に従うとされました。(分布の上限についてはぼかしてしまいました)
可能世界風な比喩を使えば、多くの世界でこの2封筒ゲームが行われ1人の胴元と2人のプレイヤーが参加している、そして胴元が用意しているMの分布については情報が与えられていないので一様だ、としているわけですね。
さて
http://www.ai.lab.uec.ac.jp/wp-content/uploads/2016/03/e7e4cb7eb57f6299216ac48804d671dc.pdf
の2ページめにヒントがありそうでして、情報が与えられていないときに、M∈(-∞,∞)であれば《一様》がふさわしく、M∈(0,∞) であれば《Mの対数が一様》が相応しいとしているようです。後者の考え方でざっと乱暴な計算をしてみますと、開封後に小切手の額面を有理数の範囲で認識したときに、封筒を交換しようがしまいが期待値は同等、とも考えられるようではありました。無論、当方は精緻な分析などはしておりませんが…… 開封後に千円をみたときに、その千円が、①(千円・二千円)の組み合わせのうちの片方を引いたものなのか、あるいは、②(五百円・千円)組み合わせのうちの片方を引いたものなのか、どちらであるかについて、等確率ではないわけです。Mについては一様ではありませんから。Mの対数について一様と考えますと、①は1/3の確率で発生し、②は2/3の確率で発生する、となりそうです。
可能世界の比喩でいえば、太っ腹の胴元は人数が少なく、けちな胴元は人数が多い、そのように言えるでしょうか。

[omit-info: 8804 hmac_sha1_base64:5cXcXYbhf8/VX6JKIthbojR0HP4 aes_base64:ZP5cUOw0orhm4gzuEm4JlSEZ19u9Dt9MzuFACHK52Bns2CU]

投稿: H・フォーチュン | 2021-02-04 20:17:51 (JST)

コメントありがとうございます。

私は専門家でないこともあってか、「対数が一様」というのがよくわかりません。ググったのですが、それらしい記事は消えてる感じ、または、私にはわからない感じで…。「レヴィ分布」や「指数分布」ならシミュレーションを走らせるのも簡単なのですが…。

「指数分布」とか、数が少ないほうが確率が大きいような分布なのですが、いい具合に千円とか五百円で 1/3 や 2/3 になってくれる場合もあるのかもしれませんね。「レヴィ分布」とかだと期待値が定まらなくなったりするのかな?

お役に立てなくて恐縮です。

投稿: JRF | 2021-02-05 00:06:47 (JST)

もう少し考えてみました。

まず、ここは離散型の話なので、連続型の「レヴィ分布」や「指数分布」は出て来ないですね。失礼しました。

プラスの方向があいてる離散型の分布だと「幾何分布」や(「対数」という言葉を使う)「対数級数分布」があるようです。平均が定まらないというと「ユール・シモン分布」などが、四辻哲章『計算機シミューレーションのための確率分布乱数生成法』(プレアデス出版, 2010年)に載ってます。

そういうのは裾が伸びる分、数が少ないほうが確率が大きいです。

H・フォーチュン様の二封筒問題の設定で、3M が選ばれるとき、2M が例えば 1 万円となる M を M1、1M が 1 万円となるのを M2 とすると、M2 > M1 (つまり 3M2 > 3M1) です。3M2 か 3M1 が選ばれる可能性があり、そこから 1/2 の確率で 2M か 1M が封筒に呈示されるわけですが、封筒をあけた状況で 3M1 の場合は 2M1 が、3M2 の状況では 1M2 だったと確定しているわけですから、問題は最初に選ばれたのが 3M1 だったか 3M2 だったかにしぼられるわけです。

そして、上の、数が少ない方が確率が大きい分布だとすると、3M1 または 3M2 で分布を切り出すと、3M1 のほうが確率が大きくなります。

結論としては、「太っ腹の胴元は人数が少なく、けちな胴元は人数が多い」だから、交換しないほうが得だということになるのでしょう。三浦などの解答とは違うものとなりますね。

ただ、シミュレーションで確かめるとなると、1万円でなく、500円や100円でも数字が大き過ぎて、偶然その額になるということが難しいと予想されるため、あまりやる気がしないです。

今後の課題ということにしてください。(誰か他の人がやってくれたら…。)

投稿: JRF | 2021-02-05 02:44:02 (JST)

ちょっと間違い…。

交換しないほうが得する場合が増えたとしても、期待値で見ると交換したほうが収益を期待でき、交換したほうが得とすべきこともありえます。そうでない場合もありえますが。

どういう分布ならどうなるかはちゃんと検討しないとわからないですが、ザッと考えてみると、幾何分布は交換しないほうが得になり、レヴィ分布に floor かませたやつなんかは山のできるところにしたがって結果が異なり、さらに緩やかに減っていくような分布だと交換したほうが得となるのでしょう。

投稿: JRF | 2021-02-05 11:09:02 (JST)

お返事をまことに有り難う御座います。

分布がどのようなものであれば日常生活下の我々の直感と合致してくるのかについてとても興味深いのですが、はなはだ難解でして当面は保留とさせていただかざるを得ません。

話を転じて。開封の意味についてもコメントをさせて頂ければと存じます。二封筒問題のバリアントですが問題の本質は同じです。バリアント作成により開封の意味を考えたいとの趣旨です。

SF仕立てにします。

■問1
目が覚めたらあなたは銀河帝国皇帝の面前に座っていて、手にはひとつ封筒が持たされていた。そして皇帝の手にはもうひとつよく似た封筒があるのが見えた。
皇帝は言う。
「封筒の中身をあらためよ、それでよければお前にやろう、不満ならば朕が今、手にしている封筒の中身と交換して後、お前にやろう。なお、片方の封筒には銀河帝国辺境に位置するA国の通貨daの紙幣で一万da、もう片方の封筒には銀河帝国辺境に位置するB国の通貨jaの紙幣で一万jaがはいっている。通貨daと通貨jaの換算レートは本日時点では、丁度1対2もしくは2対1のどちらかである。むろんお前にとってはどちらの通貨がより強いのかについては全くわからないはずだ。さあ、封筒の中身をあらためよ。」
あなたは封筒のなかから一万jaの紙幣を取り出した。
皇帝は言う。
「さあ、どうする? 朕が手にする、二万jaの価値があるかもしれない、あるいは五千jaの価値があるかもしれない、この一万daの紙幣がはいった封筒と交換したいのか?申してみよ。願いは必ず聞き届けてやる。」


■問2
目が覚めたらあなたは銀河帝国皇帝の面前に座っていて、手にはひとつ封筒が持たされていた。そして皇帝の手にはもうひとつよく似た封筒があるのが見えた。
皇帝は言う。
「封筒の中身をあらためよ、それでよければお前にやろう、不満ならば朕が今、手にしている封筒の中身と交換して後、お前にやろう。なお、片方の封筒には銀河帝国辺境に位置するA国の通貨daの紙幣で一万da、もう片方の封筒には銀河帝国辺境に位置する日本国の通貨、円の紙幣で一万円がはいっている。通貨daと通貨円の換算レートは本日時点では、丁度1対2もしくは2対1のどちらかである。むろんお前にとってはどちらの通貨がより強いのかについては全くわからないはずだ。さあ、封筒の中身をあらためよ。」
あなたは封筒のなかから一万円の紙幣を取り出した。
皇帝は言う。
「さあ、どうする? 朕が手にする、二万円の価値があるかもしれない、あるいは五千円の価値があるかもしれない、この一万daの紙幣がはいった封筒と交換したいのか?申してみよ。願いは必ず聞き届けてやる。」


■問3
目が覚めたらあなたは銀河帝国皇帝の面前に座っていて、手にはひとつ封筒が持たされていた。そして皇帝の手にはもうひとつよく似た封筒があるのが見えた。
皇帝は言う。
「封筒の中身をあらためよ、それでよければお前にやろう、不満ならば朕が今、手にしている封筒の中身と交換して後、お前にやろう。なお、片方の封筒には銀河帝国辺境に位置する日本国の通貨円の紙幣で一万円、もう片方の封筒には銀河帝国辺境に位置するB国の通貨、jaの紙幣で一万jaがはいっている。通貨円と通貨jaの換算レートは本日時点では、丁度1対2もしくは2対1のどちらかである。むろんお前にとってはどちらの通貨がより強いのかについては全くわからないはずだ。さあ、封筒の中身をあらためよ。」
あなたは封筒のなかから一万jaの紙幣を取り出した。
皇帝は言う。
「さあ、どうする? 朕が手にする、二万jaの価値があるかもしれない、あるいは五千jaの価値があるかもしれない、この一万円の紙幣がはいった封筒と交換したいのか?申してみよ。願いは必ず聞き届けてやる。」

===
てもとの封筒を開封して中身の紙幣の実生活上での価値を知ることは、二封筒問題にとって本質的なのかどうなのか、思考実験を試みております。

問2や問3から実生活上の価値判断を剥ぎ取れば問1の設問を尋ねられていることになります。ならば、開封しようがしまいが同じこと、開封時点では未開封の時点よりも新しい情報が得られていないことになります。ならば、行動選択は変化させようもありません。すなわち、問い1であれ問い2であれ問い3であれ、どちらの封筒を選んでも得られる「お得度」の期待値は同じとも思えてきます。

この思考実験、もしも面白いと思し召しましたならば、何卒ご意見を伺えればと存じます。

投稿: H・フォーチュン | 2021-02-05 15:06:22 (JST)

たった今、思い付きましたので追加でコメントいたします。

突然に銀河帝国皇帝の前に座らされる前の日に、あなたは銀河帝国の官吏からメッセージを受け取っていました。
「明日お前は皇帝陛下に謁見することとなった。ついては失礼の無いようにこのことだけは覚えておけ、すなわち、帝国全体で流通しているただひとつの通貨はギルである。皇帝陛下からなんらかの経済的な価値判断を迫られたならば必ず価値をギルで換算して計算せよ。また、通例によれば、陛下は、今回のような謁見にあたり、2つの貨幣を持ち出す癖がおありだ。それはdaとjaとだ。daとjaとの間の換算レートは1:2もしくは2:1だとだけ教えられる。どちらのレートなのかについて今私がお前に教えれば私の首は明後日には蒸発していることになるゆえ、けして教えられぬ。また、daとjaとの間で弱いほうの通貨とギルとの間の換算レートは、√2:1 であり、daとjaとの間で強いほうの通貨とギルとの間の換算レートは、1:√2 である。よいか、必ず価値をギルで換算して計算せよ。」あなたが頭を抱えていると、官吏は更に付け加えた。
「お前が慣れ親しんでいる通貨は円のようだな。円は、da,ja,ギルのどれかと換算レートが1:1になっている。これ以上お前に教えると陛下の御不興を招くので、では、さらば。」

==

損得を数えるときにどの通貨を基準とするかで封筒選択の価値判断が変わるようでは「数学的には」困りますので…ちょっと悩ましく思っております。

投稿: H・フォーチュン | 2021-02-05 16:03:55 (JST)

再びのコメントありがとうございます。

私のこれまでの論考を踏まえると、通貨の相場感…すなわち上限があるとすればどれぐらいか、分布の形…所得分布などから想像できますか…がどうなっているかが、わかることが大事なわけです。「損得を数えるときにどの通貨を基準とするかで封筒選択の価値判断が変わ」ったとしても「数学的には」まったく困らず、「数学的に」ありえることだということになります。

円ならば、分布などの形がだいたいわかり 1 万円程度なら上限はもっと上のほうにある…または、私の前のコメントでいうところの「緩やかに減っていくような分布」のため、交換したほうが有利だろう…というあたりがつくことになります。

相場感のわからないおっしゃるような通貨だとこれがないわけです。ある物の価値が同じというのも、所得の構造によって大きく意味が変わってくるわけです。1万円で買え、それと同じ学の da なり ja なりで買えるものが同じでも、da や ja を使ってるところでは、それがありえないくらいの大金である可能性は排除できず、そうなると交換が有利でない可能性が出てきます。

が、無条件で、コペルニクス原理みたいなもので、1万円の価値や相場感は似たようなものだとするなら、交換が有利なことに変わりはないでしょう。

ところで…、√2 倍が出てきますが、整数倍…奇数か偶数かが大事だというのもこの論考で示したことでした。が、通貨の交換レートではしばしばそういうことが起きます。そして、ちょうど2倍や2:1みたいなことはめったに起こるようなことではありません。

それが起こっている時点でかなりの恣意性を仮定せざるを得ないでしょう。1万da だか ja が、もしかすると奇数となるようなこちらの「数学が通用しない」文化圏を選ばれている可能性もあるわけです。それが奇数のようなものなら、相場観にかかわらず、交換するほうが絶対に得だといいたくなりますが、しかし、2万da より 1万da のほうが価値があるような文化かもしれず、そうなると交換が得だとは言えなくなるわけです。(たとえば、1万で買えるものは同じだが、金を持っていると必ず攻められるから実質不利とかもありえなくもないわけです。)

「数学」以外の要素も重要だという結論で納得していただけましたか?

ちなみに、私は使えない通貨に交換することを好みませんし、保守的な判断をしがちだから、交換が有利だとしてもその裏に「笑い者にしたい」など「何かある」と思って、有利だと数学的に示されても、最初にもらったものの交換はしないでしょう。

…とまぁ、考えてはみましたが、どうも、H・フォーチュン様の話を私は難しくて理解できなかったようです。申し訳ありません。

投稿: JRF | 2021-02-05 17:11:56 (JST)

少し時間が立って冷静になりました。

前のコメントでは、少しトゲのある言い方をしてしまいました。

「問」として出されたものに解答はないのに、まるで自明の解答があるようなコメントが寄せられており、理解力のない私はその「自明な解答」がわからずとまどってしまったのです。せめて「自分なりの解答」を自明でも書いていただけたならよかったのに…と思いますが、責めてよいスジのことではありません。

すみませんでした。

投稿: JRF | 2021-02-06 11:30:56 (JST)

コメントを書く



(メールアドレス形式)


※匿名投稿を許可しています。ゆるめのコメント管理のポリシーを持っています。この記事にまったく関係のないコメントはこのリンク先で受け付けています。
※暗号化パスワードを設定すれば、後に「削除」、すなわち JavaScript で非表示に設定できます。暗号解読者を気にしないならメールアドレスでもかまいません。この設定は平文のメールで管理者に届きます。
※コメントを書くために漢字[かんじ]でルビが、[google: キーワード] で検索指定が使えます。


ランダムことわざ: 七転び八起き。