宣伝: 『「シミュレーション仏教」の試み』(JRF 著)。Amazon Kindle で販売中!
技術系電子本。Python による仏教社会シミュレーション( https://github.com/JRF-2018/simbd )の哲学的解説です。令和4年3月11日発売。

« 前のひとこと | トップページ | 次のひとこと »

cocolog:92541965

仏教の最適化プログラムのメモ その3 経済と不倫のシミュレーションの部分実装 編。「シミュレーション仏教」の模索をするその1・その2に続きながら、少し仏教から離れ、経済・不倫を中心にどうするかを考え、部分実装してみた。「グローバル共有メモ」で詰めていっていることのバックアップ。 (JRF 1074)

JRF 2021年2月 8日 (月)

その1・その2は↓。これらを読んでいることが前提。

[cocolog:92288127]
>仏教の最適化プログラムのメモ その1。仏教は「来世がないのが良い」「生きなければならない」「自己の探求が良い」の三つの命令的前提による最適化プログラムではないか。…みたいな考えを「グローバル共有メモ」で詰めていっている。メモはやがて消えてしまうので、「ひとこと」に書き移しておく。<

JRF2021/2/82443

[cocolog:92431465]
>その2 生産シミュレーションのアイデア編。「シミュレーション仏教」の模索をするその1に続きながら、少し仏教から離れ、社会の生産を中心にしてそのシミュレーションをどうするかを考えた。<

では、「グローバル共有メモ」に書いたことをコピペしていく、少し誤字修正等もあるかもしれない。

JRF2021/2/86110

……。

……。

○ 2021-01-01T16:54:34Z

死者をどう扱えばいいのか?

組織を考えるから、死者が契機となって組織が維持されるということはあるかもしれないが、実態的には、生者が組織をコントロールしているはずだから、ここには死者はいらないかもしれない。

JRF2021/2/83019

バーチャルな真理体系を考えるのは、相当先になるが、しかし、そこには死者がバーチャルに何かをしている…解脱しているとか死後苦しんでる…とかあって、生者の行動が変容するというのは、大いにありうることである。ただ、この場合、仏典などによくあるように、死者ではなく想像上の人物でもいい。これをどう扱うか?

とりあえず、死者の役割はないものと考えて作りはじめよう。ただ、死者が将来関係してもいいようにする。

JRF2021/2/85727

人の固有名詞的なハッシュを用意し、それで人を見分けるのが自然な実装だろう。そのとき、人が死んだからといって、死者とハッシュに重なりができるようなことは許さないものとする。だから、ハッシュの表は、死者も(想像上の人物も)含んで、維持することとする。…としよう。

基本はハッシュにひもづけられた生者集合を考えることとしよう。

JRF2021/2/88197

……。

「ハッシュ」って言葉は違うか、固定長の乱数的 ID ね。

JRF2021/2/85253

……。

……。

○ 2021-01-08T18:39:12Z

人口が大きくなったり小さくなったりする。一番小さくなれば二人とかになるかもしれないが、そのとき、社会の構成はどうすればよいのか?

支配層の段数も人口の大きさによって変わるだろうし、人口=2の場合は支配層はなしでいいだろう。

士農工商の人口比率は常に守られるとしようか。2:68:5:25 ぐらいで。それで、人口=2とかのかなり少ない場合は、モデル外として、終了する…と。支配層の段数も基本、固定で、通用しなくなったらモデル終了。…で。

JRF2021/2/86961

人口が変化するとき、比率どおりの被害等でなければ、職業の移動がなければならない。これをどうすれば良いのか?

大地主のモデルを思い出すと、農地を持ちながら、人をたくさんつかって商業収入を得ていた。ああいうのは、きっと支配層もやっているはずだ。支配層と大地主の間に職業移動があっても良いのかもしれない。大地主から支配層になるには、財産の大きさが決め手だろう。しかし、支配層は財産が大地主より少なくなったからといって、支配層からすべり落ちるとは限らない。しかし、支配層の中で財産の少ない者が兵=サービス生産者に落ちるということは、あっても良いかもしれない。

JRF2021/2/86918

大地主について別方向から考える。大地主は商業収入が多いというモデルにしようということだったが、農の人口比率で考えるときに、それも1農民と数えるのだろうか? それとも農地割合で農民数人分と見るべきなのだろうか?

JRF2021/2/88001

人口比率は常にピタッと同じでなければならないわけではないだろう。農民の数が減ったとき、貧しい商人から補われると確か考えたはずだが、一方で、農民が逃げて商人になることも考えた。この逃げる基準、貧しさの基準というのは変えることができる。人口比率が合うように、この基準が変わっていく…とすればどうだろう。

JRF2021/2/80688

それと同じようなことが、農民から大地主への変化にもある。…として、その基準を変化させるものだと考える。つまり、大地主は農民の中に一定比率で生じるように変化させるとする。このとき、財産の高い層では、農民か商人かがあいまいになるが、基本は農地を持っていれば農民として比率計算に算入する。一方、農地を持たない小作人=サービス生産者は、農民には入れない。ただ、そういう小作人が人口比率一定で生じるなら、農民として比率計算するのとほぼ結果は変わらない。…と。

JRF2021/2/83305

支配層への成り上がりに、大地主であることが条件となると、大商人が農地を買う…みたいなことも考えないといけないが、どうすれば良いのだろう? いや、そのパターンは、大資産があれば支配層になれるとすれば、無視して良い気もするが…。それとも、商人も一定以上になると農地を必ず持つようになるよう比率計算していくべきか…。それは前言とは違うが農民とは違うとして計算する?

JRF2021/2/87759

それとも一人の個人に、農民比率・商人比率があって、その比の数を足し合わせるべきなんだろうか? 農地対商業財産が、その比率で、ある基準をもとに農民か商人かが決まる。その基準もいろいろ合うように動く。…と。

でも、大資産家って数が少ないから、ここを詰めても益がない気がする。…。

JRF2021/2/81274

……。

全農地は人口または経済の大きさが増えれば増えるが、増え方は次第に小さくなる。それを農民などが一定の関数をもとに割り当てられる。…という感じか。初期値はそれで良いが、モデルの途中での増減は、やはり、特定の誰かが土地を失う…取得するということを通じて実現すべきではないか。土地が失われるときは、土地の少ない人から選ばれて失われ、土地が増えるときは、すでに土地や財産のある人から増える。…みたいな。…しかし、そうすると「一定の関数」からは歪む。一定の関数を基準に増減が決まるとできるなら、そうしたほうが良いか…。

JRF2021/2/88975

……。

……。

○ 2021-01-09T17:01:16Z

大地主の得ているものが商業収入だとするなら、そもそも農業収入ってなんだろう?

農地の大きさをもとにして決まる。農業専業のほうが大きくなる。…とか言えそうだが、大地主のことを考えると、農業専業ではないが、大きな農地で人をつかって農業はして、収入はより大きいはずである。熱心さ・労働の出来が同じなら、実りも同等に大きいのではないか。

JRF2021/2/84271

農地が小さい場合は、他の農地を手伝いにいくこともあろう。大農地と言えない場合でもそこそこ大きければ、人の手も借りよう。

結局、農業収入は農地の大きさだけから決まるでよいのだろうか。農地が大きくなれば雇い人の比率が上がり、雇い人は本人より熱心ではありえないから、単位収入が下がる(そこから賃金も払う)…というだけ。商業的に成熟していれば、より良い商品作物を作ることが出来るが、それは商業財産の価値のように計算される…と。一方、農業収入だけで暮らしていけない場合は、サービス生産も行う…と。

JRF2021/2/83229

……。

サービス生産者は、基本、商人であるという考えだが、実際に従事するのは、兵卒であったり、農作業であったり、公共事業の作業員だったりする。

また、農民などが、サービス生産を行うこともある。これは商業収入の一種ということになると考えてきた。

ただ、そういうのは、商業財産をもとにバクチ的に商売するのとはかなり異なる。そういう商人とは分けるべきかもしれない。士農工商ではなく士農工商雑 (雑は雑役) で考えて、雑の部分を結構大きく見るべきなのかもしれない。

JRF2021/2/87914

でも、商業財産の少ない商人や、農地の少ない農民は、サービス生産者をする以外にない気がする。農地はある程度まとまらないと与えられない…ことを考えれば、農地の少ない農民はあまり考えなくてよく、商業財産の少ない商人をサービス生産者とする従来の考え方でもいいのではないか? 迷うな…。

支配層だったものが兵=サービス生産者になり、やがて財産を回復して農地を買い…みたいなことはあっていい。そう考えると、農地を買うのは貧しい商人だけとは限らないか。農地の出物によっては、それなりの商人が農民に転職することもありうる…とすべきか。

JRF2021/2/88645

……。

……。

○ 2021-01-10T20:36:19Z

商農比率を固定すると同時に、小農から大農の分布を一定の関数にフィットさせるという考え。もう少し詰めてみよう。

大きくは、まず、小農から大農の分布から一定の関数よりも多いところをランダムに農地を削る。このとき、多いところだけでなく、同じようなところも削り、農地の浮動を確保する。(大農は削らなくて良い場合も多いかもしれない。)

JRF2021/2/89571

次に、商農比率が合うように、商人から農民になるものが選ばれ、それが農地数1をいったん割り当てられる。商人から農民になるのは貧しい商人からだいたい選ばれるが、中商人や大商人も持とうとすることがある。…ということで、今のところは、ランダムに選ぶことにする。ランダムなら、数の多い貧しい農民が多くなる…という考え。

JRF2021/2/85728

さらに次に、農民の小農と大農の間の垂直移動を考える。これは、農地数1のものからはじめ、一定関数により農地数1の農民数が決まっているので、農地数がそれ以上になるべきものを商業財産の大きさを加味して少しランダムに選び、それを農地数2にする。今度は農地数2について同じように決め、農地数3について決め…していく。

JRF2021/2/81216

ただ、これだと、農地数上位になるとうまくいかない。一定の関数は実数分布でも、農地数の実際は離散に分布するためだ。そこで、一定の関数の実数分布に関して端数を考える。端数累積がプラスなら、その端数累積分、その農地数に1農民がプラスされる可能性があるとする。もし、1農民プラスされたら、その端数 から 1 を引いたマイナスの値が端数累積になる。もし、1農民もプラスされなかったら、端数累積はそのまま持ち越す。そして持ち越された端数累積に新しい端数を加え、次の判定を行う。…と。

JRF2021/2/81162

大地主の周辺で、0 や 1 にすべきなのにすでにそれ以上の人数がいるというときはどうするか? 基本、上に上げていけばいいのだと思うが、そうすると、大地主は土地の売買が大くなり過ぎるようになったりしないだろうか? ちょっと心配だな…。

JRF2021/2/81350

農地には基準価があり、売ったあとは常にその額の商業財産が手に入り、買えば商業財産が減る…というのが基本である。ただ、大地主の農地は商業的価値が高いと見て、売るときは農地所持数+商業財産額におうじて基準価にプラスのボーナスがあるとする。また、買うときも、有用に使えるだろうから、基準価の額の商業財産にプラスのボーナスがあるとする。

JRF2021/2/89066

これにより大地主は、当然、回転売買をすれば無限に利益を得ることができるわけであるが、農地の入手が望んでいてもかなえられない運まかせであるから、回転売買はできないとなる。…としよう。垂直移動を計算する際は、この売却・購入をその都度ごとに計算したあとのデータを使えばよいだろう。

こんなんでうまく行くだろうか? ここまでくれば、この部分だけ一度、実装して確かめてみるべきだな…。

JRF2021/2/89973

あと、災害の多い地では、農地が少なくなる…であったり、土地が減ったところがまず回復されるべきである…といったことは、垂直移動の「商業財産の大きさを加味して少しランダムに選び」というところで、それらを加味すれば十分なのではないか。まぁ、これはあとから考えることにしてよかろう。

JRF2021/2/85401

……。

……。

○ 2021-01-11T20:47:38Z

商農比率を固定すると同時に、小農から大農の分布を一定の関数にフィットさせるという考え。詰め切れてないところがあった。

商農比率において、農民のほうが多い場合は、農地数1なる者が不足する可能性がある。その場合は、農地数2以上のものが、農地を売って対応するものとしようか?…いや、前のアルゴリズムの逆に、大地主から小農へたどって一定の関数になるよう数を減らしていけばいいのではないか?

JRF2021/2/82738

どんなときでも自然な売買で農地を売り買いする者が一定程度いることにし、まず、それを計算することにする。その後に、比率に基づく移動や垂直移動などを行う。じゃないと、商農比率で農民が多いときは上昇しかなく、農民が少ないときには下降しかなくなるから。

いや、ダメだ。上昇と下降があわさっておかしくなると思う。まず、それぞれの農地数について一定の関数より多いところはすべて削っていくことにしよう。そうして、すべての農地数で一定の関数以下になれば、農民のほうが少なくなるはずなので、あとは前のアルゴリズムにかければいい。…でよいはず。

JRF2021/2/80628

いや、削るとき大地主が難しいが、端数は 1 に繰り上げてそれ以下でさえあればいいとすれば十分ではないか? いや、まずいか、端数1で許容したあと、マイナスして、足して再び 1 になるまで 1 にしない…とか必要になるかな?

あと、最大の大地主の上限がないと、どこまでも大きくなるオソレがあるから、上限は課すことにする。

JRF2021/2/88265

……。

農地数 k の一定の関数の分布が端数 a1、農地数 k + 1 の一定の関数の分布の端数が a2 とする。農地数 k および 農地数 k + 1 をあわせてそこに個人がいる確率を a1 + a2 としたい場合で、農地数 k に a1 の確率で個人がいるとして、たまたまいなかった場合、次の農地数 k + 1 で p の確率で個人がいることにすれば農地数 k および農地数 k + 1 全体で、個人が a1 + a2 の確率でいるようにするには、p = a2 / (1 + a1) であればよい。p = a2 ではないのだ。

こういった観点も取り入れる。

JRF2021/2/83084

……。

……。

○ 2021-01-11T20:47:56Z

商農比率を固定すると同時に、小農から大農の分布を一定の関数にフィットさせるという考え。とりあえず、実装してみたのが、↓になる。

《test_of_merchant_peasant_ratio.py - 商人(merchant) と 農民(peasant) の比率と農民の農地の垂直的分布を一定の関数に保つアルゴリズムのテスト》
https://gist.github.com/JRF-2018/a8e857bd4377fb800952f193c87ba174

JRF2021/2/86968

細かいところで、これまで書いたのと違いがあるかもしれない。この先必ずこのアルゴリズムで行くという保証はない。が、ソースを読めば、今の考えが端的に現れている。

農地(land)を手に入れて商業財産の価値が上がる…などの評価替えはとりあえずやってみたレベルで、全々決まっていない。

一定の関数もだいたいこんな感じかなレベル。

苦労したのが、端数処理。一番大きな地主がどこまでも大きくなっていくような問題があったため、最大地主が成長できる最大値 land-max-growth で制限した。

だいたいうまく行ってるように見えるけど…。

JRF2021/2/82856

……。

○ 2021-01-12T20:46:01Z

↓を少しアップデート。メイン以外のところを少し詰めた。

《test_of_merchant_peasant_ratio.py - 商人(merchant) と 農民(peasant) の比率と農民の農地の垂直的分布を一定の関数に保つアルゴリズムのテスト》
https://gist.github.com/JRF-2018/a8e857bd4377fb800952f193c87ba174

JRF2021/2/89091

……。

……。

○ 2021-01-12T20:47:05Z

大地主は雇い人を多く雇い入れるわけだが、誰が誰を雇っているみたいな情報は、たぶん入らない。誰かを雇っていて誰かに雇われているが、それが誰かがシステムからはわからない…といったことになりそう。

大地主は、ブラックな働かせ方をするかもしれない。そうした場合に恨みが発生すべきなわけだが、誰が誰をがわからない状況だと恨みを記録しようがない。

そこで、そういう雇用関係など商業的恨みは、大地主の一種の属性として別に記録しておけばよいのではないかと考える。

JRF2021/2/81543

商業的恨みがあると、通常の恨みを買いやすくなる。商業的恨みは最大値まではすぐにたまるが、それを減らすのには時間がかかる。…など。

大地主の思念レベルが高ければ、商業的恨みを買うようなことはしないとする。そのかわり、賃金を多く払う必要がある…とするか。

…「思念レベル」は、そろそろもうちょっと精緻に考えて、プログラムできるほどにしないとダメだな。

JRF2021/2/84278

……。

……。

○ 2021-01-13T21:25:18Z

サービス生産者の所得・収入について考える。

大農地主が雇うとき、農地数 5 について一人雇うぐらいの割合と考えようか。小農も農地数 5 までは、基本、サービス生産も行っている。…と。ただ、農地数が増えると、ブラックな雇用主のところで、働く必要はなくなる。

JRF2021/2/87943

ブラックだが給料の良い雇用主のところで働かざるを得ない人物はいる。借金がある場合、家族が多い場合…などはそうなるだろう。ただそれだけか?…というと、前に出てきた「支配層から兵卒に落ちて農民になるコースを選んだ人物」みたいな場合、借金がなくても、家族が多くなくても、ブラックな働き方を受け容れやすいかもしれない。

JRF2021/2/85120

「上昇志向」というパラメータが別に必要なのかもしれない。上昇志向が強いとブラックな働き方を受け容れやすくなる。…ただ、サービス生産者や農工家の場合と、「バクチ」を打つ商人との場合では上昇志向の現れ方に違いがあるだろう。前者は、ブラックな働き方をするが堅実で、後者は、より危険なバクチを好む方向になる。商人と農家の両方の性質を持っている人物の場合どうすればよいか。「上昇志向」のほかに、「堅実さ」または「商業的リスク選好」というパラメータも用意しておくべきなのだろうか?

JRF2021/2/88864

「思念レベル」または「教化レベル」が高いと上昇志向がおさえられる。…おさえねばならないようなマイナス要素が上昇志向になければならない。「病気になりやすくなる」あたりか、本人だけでなく家族も…。ただ、これは体の丈夫さという別のパラメータとのかねあいみたいになりそうで、そうするとパラメータを作り過ぎな気がする。そもそも「思念レベル」または「教化レベル」が高いと堅実さが増す…のほうが自然なのだろうか。

JRF2021/2/83996

上昇志向が強過ぎると、付け届けみたいな消費も多くなる…としようか。それには詐欺に騙されての消費もある。…と。ただ、これは商人系の悩みだな。やはり、商人の上昇志向とそれ以外の上昇志向は別なのか。

上昇志向のない商人はバクチをしない。では何をやってるかというと工業ではないか? 工業財産というものは考える必要はなく、上昇志向のない商人が工人となる…で十分ということはないだろうか? でも、工人にも技をみがくという点での上昇志向はありそうだが、それはこれまで述べてきた地位を得ようとする上昇志向とは別なのだろうか?

JRF2021/2/88506

サービス生産の必要のなくなった農民の上昇志向とはなんだろう? 借金をしてでも農地を得ようとすることだろうか。それはこれまでとはだいぶベクトルが違うなぁ…。やはり、商業的成功へのこころざしではないか?…そして、上昇志向はサービス生産者に留まる限りは、病気リスクの受け容れで、サービス生産者から離れれば、商業的バクチへの志向になる…でよいのではないか? そして、思念レベルが高ければ、サービス生産者のうちは上昇志向は病気になり過ぎない程度におさえ、サービス生産者から離れれば、上昇志向は危険なバクチをしない…商人が工人的になる…という感じでいいのではないか?

JRF2021/2/88968

……。

……。

○ 2021-01-14T19:34:55Z

…でも、宝くじみたいにはずれの可能性が高いような危険なバクチは、金持ちや経験を積んだ商人はそもそもしないんじゃないか? 債券と株式と大バクチがあって、大バクチは死んでもいいと思ってる貧乏な商人しかせず、普通は債券と株式のどちらを選好するかだけが商人の課題みたいな感じだと思うのだが…。「債券」「株式」とも経験年数によって、収益が上がり、「株式」はある程度の年数以前では、平均してマイナスになることが多いとでもするか…。

JRF2021/2/83705

いや、ならなんで、経験年数が少ないうちに「株式」を選好するのが上昇志向になるんだ? むしろ、大バクチというより、明確に宝くじ方式(頼母子講とか)を取り入れたほうがいいんじゃないか。必ず大きく上昇する者が出るというクジを。(…まぁ、そういうシステムは今回は考えないでいいんじゃないか?)

ただ、商人は、借金ができたら逃げれる…ことにして、「株式」はマイナスになることもありうるが、マイナスが大きくなったら逃げれるから、貧乏な商人はその賭けに出る…といったこともありえるか。

JRF2021/2/82296

「大バクチ」というのは、正規分布とマイナスのレヴィ分布の乱数を足したものといった感じなのかな。正規分布とレヴィ分布のμは 10 倍とか大きいところなのだけど、レヴィ分布がどこまでもマイナスになりうるので、平均ではマイナスの大バクチになっている。ただ、少ない試行数だと、プラスで終るものも多い…みたいな。

「株式」はマイナスのレイリー分布かワイブル分布で、「債券」は固定金利…といったところか。

JRF2021/2/83926

(「現実」は「株式」も「債券」もマイナスのレヴィ分布の要素を含んでいて、θやσが極度に小さいだけという気もするが。(…いや、マイナスの下限(たかだか元本全部ロスで済む等)があるとすれば、平均の利益というのは出るか…。そこを保険でカバーしたのが現実の固定金利の金融商品になるのかな?))

JRF2021/2/86062

……。

「現実」を受けて方針変更。

「債券」も「株式」も「大バクチ」も (μ1,σ)の正規分布と(μ2,θ)のマイナスのレヴィ分布の乱数を足したものとする。ただし、下限 c があり、「足したもの」が c 以下になったら c とするものとする。σ=10 * θ とする。μを決め、μ1=0.5μ、μ2=0.5μとする。

JRF2021/2/82700

「債券」は θ= 0.01、「株式」は θ= 0.1、「大バクチ」は θ=1 とする。μ=0 で元本 c を設定すると、平均がどれぐらいになるか求まる。マイナスの値になるが、だいたいその絶対値をそれぞれα倍したものを μ として、商人の収入を計算する。…で良いのではないか。αは「債券」は 1.00〜1.1、「株式」は 1.1〜1.2、「大バクチ」は 0.90〜1.0で。経験年数が多いとαは多くなる。

JRF2021/2/80525

商業財産が5までは「債券」しか持てない。あとはサービス生産で稼ぐ。商業財産が5を越えると、「大バクチ」ができるようになる。「大バクチ」のタネ銭は 5 以上だが、債券と大バクチの比率は、上昇志向の大きさによって変わる。商業財産が 10 を超えると「大バクチ」に変わって「株式」を買えるようになる。「株式」が買えるようになった年数が大きくなればなるほど「大バクチ」よりも「株式」を好む(…というか選んでそちらを買える)ようになる。…といった感じか。

JRF2021/2/80258

「景気」によって変化しても良いかもしれない。景気が悪いとαが低下したり、「債券」「株式」「大バクチ」の買いやすさの比率が変わる=リスクがより選好されるとかでも良いかもしれない。

ここも部分実装できそうだから、実装してみるか…。

JRF2021/2/81624

……。

……。

○ 2021-01-15T17:35:53Z

いや、おかしいな。

財産を持ってる者は、小口に分けて物事を試すこともできるはず。小口に分けてやるよりも、まとまった財産で勝負したほうが有利にならないといけない。

ただ、「大バクチ」については、以前書いたとおり、平均収益が 0 かそれ以下になるような μ でやればいいと思う。問題は「債券」と「株式」。

基本、財産が少ないうちは、不利でもいい。財産が 5 のときのμを k とし、財産額を a とすると、(k/5) * a をμとするようにすればいいのではないか。

JRF2021/2/82163

それが「債券」の場合は k = 0.3、「株式」の場合は k = 1.0 にすればよさそう。つまり、それぞれ 6% と 20% という割と近代的な数値となる。

「債券」も 0 付近は動作があやしいから、「債券」を働かせられるのも、額が 1 以上ないといけないとすべきだろう。

JRF2021/2/87289

あと、熱心さや経験年数の加味であるが、μ の値をバーゲンするというのはもちろんありえるが、それよりこれまで σ=10*θ にしてきたが、その σを固定(株式の場合は 1 に固定)し、θを最大50%ほど悪く(株式の場合はθを 0.1 から 0.15 まで)変化させればいいのではないか。そうしたほうが、「熱心でないと失敗が多くなる」というのをより反映した形になる。

JRF2021/2/87625

……。

で、ここらへんの額を基準に、相場を考えていく必要があるだろう。

まず、農地を持っている者の「運用益」は、株式に負けるぐらいで 10% の利益率として、1つの農地の地価が 10 として 5 つ持っていれば、人一人雇えるという話だったから、5 が一人を雇う最大金額といったところになろうか。

すると、サービス生産者の収入も、5 では大き過ぎるぐらいになるのではないか。

JRF2021/2/82806

それに対して、消費は、家族が多い場合でも 5 を越えてはならないから、就労可能年齢10歳として、毎年子供を1人産んでれば 10人産めるから、自分と妻と両親を合わせて扶養家族は最大で 14 として、5/14 が一人当たりの最小の消費となるか。子供が小さいうちはかかる費用も少ないとすれば、0.1 〜 0.5 が一人あたりの消費下限となるか。

そして、消費した残りが、商業財産に算入される。…と。

JRF2021/2/83046

……。

農地は何が有利なのか。どう有利にすればよいか…。

農地1つごとに分散投資ができる…とすればよいか。いや、それだと数のメリットが出ない。

θが 0.1 よりも小さい割に k (またはμ) が高い…とするか。

でも、「分散投資」という考え方のほうが魅力的だな…。

μ=3、θ=0.08 が基本で、農地1単位価値10ごとに投資がされる。商業的財産のうち一定割合が、農地のために使われると考え、それによって最大μ=4 にまでなりうる。…としようか…。(熱心さや経験年数の影響は、商業と同じで、μやθが変わるとしよう。)

JRF2021/2/87352

農地は一定の商業財産とセットになっていると考える。農地1 の場合は、ほぼ 0 だが、農地 5 のときは 1、農地 50 のときは 100 で、そこまでは放物線的に変化し、それ以降は同じ比率でセットになると考える。(農地数50以下では単に農地数 x としたときの付随商業財産は 0.04 x**2 でいいかな?)

商業財産は、農地付随商業財産を引いた額をスタートとする。マイナスになってもかまわない。それがプラスの場合、さらにその三分の一が農地用の商業財産として使われるとする。

上の付随する商業財産と、三分の一した商業財産をあわせて、それが多ければ多いほど農地のμが4に近づく。…という感じか。

JRF2021/2/88950

……。

「株式」については、上振れしにくいのが気になる。「債券」「株式」「農地」のσはμの要素も加えるようにしようか。σ=10*θ*0.5*μ…ってな感じで。

JRF2021/2/89243

……。

……。

○ 2021-01-15T18:52:39Z

言葉で説明するよりもプログラムを見たほうが早いと思うので、とりあえず「債券」「株式」「農地」「大バクチ」について、分布を表示する実験プログラムを Github Gist に置いた。

《test_normal_levy_3.py - 正規分布+マイナスのレヴィ分布の実験。「株式」「債券」「農地」「大バクチ」それぞれの分布の形を見てみる。》
https://gist.github.com/JRF-2018/50b29e2d95d067483c3e9465c9b510ad

JRF2021/2/87462

使う人がいるとはあまり想定していないが、test_normal_levy_3.py は -f に stock, bond, gamble, land のいずれかを指定し、--cut で財産額についてマイナスで設定する。プロット画面で分布の端が切れるときは --max の数値を変えればよい。ただし、実行する前に最初に一度、python generate_normal_levy_csv.py を実行する必要がある。

JRF2021/2/86363

プログラムを読めることが前提みたいなところがある。これを使って分布を見るより、どのようにパラメータを設定しているか、プログラムから読み取って欲しいという願いをこめて今回、半端な実験でしかないものを公開している。

(ちなみにファイル名についてる _3 は、未公開の _1 や _2 の実験が前にあったことを示しているだけ。)

JRF2021/2/82840

……。

……。

○ 2021-01-16T22:32:24Z

これまでのところの経済を何期か通してやってみた(↓)が、ぜんぜんダメだ。

《test_of_income_1.py - 主に商業財産から決まる収入のテスト経済シミュレーション。》
https://gist.github.com/JRF-2018/39ed54ff14cb3c79c21f42f7254fa7bc

(なお、これを実行するには、その前に↓の generate_normal_levy_csv.py を実行しておく必要がある。)

JRF2021/2/83635

《test_normal_levy_3.py - 正規分布+マイナスのレヴィ分布の実験。「株式」「債券」「農地」「大バクチ」それぞれの分布の形を見てみる。》
https://gist.github.com/JRF-2018/50b29e2d95d067483c3e9465c9b510ad

どこがダメかというと、とにかく金が儲かり過ぎる感じで、基本、財産が 10 ぐらいが普通で、100 とかになると金持ちだ。…という経済を想定していたんだけど、上の test_of_income_1.py では、50 ステップ後、平均が 2500、最大が 18000 とかのメチャクチャな数字になる。

JRF2021/2/89672

「債券」だけにしたり「大バクチ」だけにしたり、むりやりθを増やしたり、いろいろ試してはみたんだけど、その傾向は変わらない。

どうしても、その経済を矯めたいとなったら、どうにか税のようなものを課すという方向なんだろうけど、これもあまりうまくいかない。

しかたなく、めちゃめちゃ強力な手段だが、財産が 300 を超えると、それ以上の部分はランダムに寄進されるか税で取られるかして、なくなる…とすれば、まぁまぁ、安定した経済にはなった。(それは test_of_income_1.py に --strong-donation オプションを付ければ試せる。)

JRF2021/2/84393

しかし、安定はしているものの、財産が 300 に近い金持ちだらけな経済となる。これはまったくリアリティがない。

税の取り方を工夫するか、それとも経済を一から見なおすか、…が求められる。

JRF2021/2/89676

……。

○ 2021-01-17T20:14:18Z

↓を改良。バージョン 0.0.2。--strong-donation をバージョン 0.0.1 から変えてみた。(これまでの --strong-donation は --strong-asset-tax で指定できる。)

《test_of_income_1.py - 主に商業財産から決まる収入のテスト経済シミュレーション。》
https://gist.github.com/JRF-2018/39ed54ff14cb3c79c21f42f7254fa7bc

JRF2021/2/81302

まず、おわびとして、実験で余計なことをしていたコードが残っていて、意図したコードになっていなかった。すみません。それを除くと、--strong-donation なしでは、test_of_income_1.py では、50 ステップ後、平均が 72300、最大が 1560000 とかのさらにメチャクチャな数字になる。

それを踏まえた上で --strong-donation の変更…。

資産税(寄進)を、資産が少ないうちからかかるようにした。ただし、資産が多いほど「寄進」の確率が上がり、資産が 300 を超えると必ず寄進するとする。寄進額は、資産の0割から 7 割までランダムに決める。

JRF2021/2/86316

こういう割と古代にはもっともらしそうな「税」で、かなり安定した経済になるのは良い感じか。ただ、まだ平均が 85 付近で高いのが気になるが。ただ、寄進額を7割までというのを3割までとすれば、50 ステップで平均 230 付近になり、最大値が 2500 近くと、やや不満な形となる。

(寄進額が 7 割までというのは --donation-rate=0.7 で指定する。資産が 300 を超えると必ず寄進するというのは --donation-limit=300 で指定する。)

JRF2021/2/81120

「株式」「債券」「大バクチ」の危険度すなわちθを設計に反してむりやり 10 倍にすると、わりと貧乏な者が増え、分布としては満足いく形にはなるが、「農地」を持つ者が有利になりすぎるし、変動が大き過ぎるのもいかがなものか…。(これを試すのは --strong-donation --theta-mag=10.0 にする。)

JRF2021/2/83930

……。

……。

○ 2021-01-18T19:56:25Z

--theta-mag=10.0 にしたとき、農地が有利になり過ぎる問題。災害等で農地等が被害を受けるというのと組み合わせたとき、また別の結論が出てくるかもしれないので、結論を急がないことにする。

JRF2021/2/84573

……。

収入などの計算は1年単位だが出来事は1ヶ月単位の予定。

そのため1年の期中に農地・財産の譲渡が発生したり、死亡があったり、しうる。

JRF2021/2/82353

農地・財産の譲渡については、期中平均(農地平均については端数切り上げ)について収入を求め、農地を持っていなければ商業財産についてマイナスになる場合は 0 に、農地を持っている場合は、農地の全評価額より商業財産のマイナスが大きくなれば、農地を手ばなして農地 0・商業財産 0 から次期首スタートで良いと思う。なお、test_of_merchant_peasant_ratio.py でやったような、変動は、期末の収入計算後に行い、変動後を期首のデータとすればよいと思う。

JRF2021/2/89439

死亡と収入の関係に関しては、資産収入については死亡や病気のとき、働いてない 1ヶ月は eagerness (熱心さ)を 0 として計算すれば十分だと思う。そして、労働収入については、働いてない月は労賃が 0 になるよう計算すれば良いと思う。その上で、得た財産を期末に相続人に渡したあと、死亡者を経済から取り除けばいいと思う(逆にいうと期中死んでもその時点では経済から取り除かない)。

JRF2021/2/80998

……。

今、economy.peaple はリストで実装してるけど、本実装のときは削除や関係の追跡等がしやすいように id に関する辞書にして、economy.peaple.values() について for を回すことになると思う。

JRF2021/2/85856

……。

家族制度についてそろそろ考えていく必要がある。

最近との絡みでいけば、家族の収入をどうするか。家族の財産を一つにして、その大きな財産で勝負できる…とするのが考えられるが、それは本当にメリットになるのか。むしろ、家族バラバラに分散投資できたほうが有利ではないのか。

妻の労働などは、普通の賃労働…例えば農地を手伝ったのは農地での賃労働だとして…としてみなせばいいだろう。子供を育てたり妊娠中などは、パートタイム的に賃金を何割かにすればいいのだろう…と思う。

JRF2021/2/87394

扶養されている老いた両親については、年齢がいくごとにパートタイムの評価が確率的に厳しくなっていく…でいいのではないか。まぁ、これは老いた両親に限らず、老いればそうなるということでいいと思うが、しかし、そうすると、扶養されてない老人をどう扱えばいいのか…。

JRF2021/2/82359

子供は、10歳ぐらいから労働力になりはじめ、18歳で完全な労働力となる…それまではパートタイム的評価を(確率的に)徐々に上げていく…でいいと思う。そして、18歳になるまでは賃労働しかできず、資産収入などはゼロとみなす。いや、資産収入は10歳まででいいな。ただ、18歳までは、商人とも農民ともみなさず、商農比率の更新にはひっかからないようにしよう。

子供は労働が十分にできないから、当然、消費量に見合う賃金が得られないだろう。子供が十分消費できるのが、家族収入を考える利点になるだろうか。

消費の理論というのをもっと詰めていく必要がありそうだな…。

JRF2021/2/84387

……。

……。

○ 2021-01-19T21:39:52Z

「シミュレーション仏教」らしく教化(education)にこだわって、test_of_income_1.py をいろいろいじってみた。(↓はバージョン 0.0.3 にアップデート。)

《test_of_income_1.py - 主に商業財産から決まる収入のテスト経済シミュレーション。》
https://gist.github.com/JRF-2018/39ed54ff14cb3c79c21f42f7254fa7bc

JRF2021/2/87900

教化が足りないと恨まれ(merchant_hated)がたまって、それが、いろいろ悪影響を及ぼす。…だから、教化が足りないと金持ちになりにくい…ということが観測されるべきなのだが、観測されない。悪影響の及ぼし方が足りないのかといろいろやってみるが、ちょっとやそっとのことではどうもうまくいかない。

JRF2021/2/86611

土地持ちに関しては悪影響を 5 倍(--strong-donation した上で(今後常に使う)、--hated-mag=5 --view-education で試せる)にしてみると影響が出るが、土地がない状態で試すと悪影響を 100 倍ぐらいにしないとはっきりとした影響は出ない(--no-land --view-hated --hated-mag=100)。

(なお、バージョン 0.0.2 の --theta-mag は --prop-theta-mag に名前を変更。)

JRF2021/2/80394

その話はおいておいて、次に、教化と寄進の影響を考える。教化があればより寄進しやすいだろう…その一方、教化があるものは好意を持って大目に見られるため --donation-limit が緩められるだろう…その両者の効果を同時に試すのが、--donation-education=0.5 のオプション(--strong-donation --view-education とともに)。こうすると、教育があるほうが財産形成にうっすら有利なことがわかる。--donation-limit が緩められる効果のほうがデカいのだろう。

JRF2021/2/85242

その話もおいておいて、次に、消費をみなおし、貧しいうちは収入(からマイナス3したもの)の 90% から 80% ぐらい消費してしまうし、ある程度貧しさから脱出しても収入(からマイナス10したもの)の 50% から 40% は消費すると考えるようにする。これが --strong-consumption オプションである。ここでは教化されているほうが消費が少ないと考えた。

JRF2021/2/86830

これを試すとなかなか貧乏から脱出できないので平均が下がり、貧乏な者が増え、グラフはよりリアリティのある形になってよい。また、教化がうっすらとだが効いてくる。貧乏からの脱出が難しくなるのは、--init-zero --no-land オプションを付け、財産 0 からスタートさせればよりいっそうよくわかる。

JRF2021/2/84347

……。

……。

○ 2021-01-21T23:11:07Z

test_of_income_1.py で教化が足りないと悪影響があるはずなのにそうならない話。開き直って、hated は空想的にしか影響しないから、商業における hated には宗教はそれほど関わらなくてよい…などと「結論」を導くのはどうだろう?

JRF2021/2/82170

……。

商人の借金と消費の理論を考える必要がありそう。

商人の借金は認めてもよいのではないか。そうすると、自然に分布が移動し、貧乏人の裾野が広がりよりリアリティが出るのではないか? でも、どこまでも借金できるとするのも不自然なのでどこかに下限がいるが、それは下限をゼロとするのと本質的な違いがあるだろうか?

家を買う…のは消費の一種ではあろうが test_of_income_1.py の枠組ではむしろ寄進と似ているか…。家や土地を持っていれば借金ができるようになる…でも、それは家が商業財産の一種であるとすることと違いはあるか?

JRF2021/2/89832

……。

……。

○ 2021-01-22T23:12:40Z

結婚以前のある意味「自然状態」の関係であるところの不倫関係について。

人数を決めて男女それぞれ選び出して…ということを考えるとき、一人が二人以上と関係を持つ可能性を考えると、数の重なりを考えながら男女同数に選ぶというのはとても難しいだろう。

JRF2021/2/86044

すると、そうではなく、ペアごとに抽出していくという形になるのだろう。一人で複数相手するようなものは確率を高くしておいて、一度、選ばれたら、確率を低くしていく…といった感じで。

ただ、それだと同じ地域にいるなど、選びやすい相手のパラメータを反映しづらい。ある地域にどれぐらいいるか決め、その後、確率発生→ソートで選んでいくというのは、パラメータの微妙な差異を反映しづらい。

まず、女性から選んで、それにマッチングする男性を選ぶ…というのは、計算コストが大きそうだが…。

JRF2021/2/86686

先に不倫者を選んでおいて…それからマッチングじゃないと計算コストが大きくなり過ぎる気がする。何段階かに分けて、「不倫者」と選ばれても不倫せずに終ることもあるみたいにすればいいのかな…。

あと、不倫は一度切りの関係というのももちろんあるだろうが、ある程度同じ相手と続くこともあるのではないか。3年ぐらい続くものがあっても自然な気がする。そういう確率の与え方とはどのようなものだろう?

JRF2021/2/83011

成功した商人が、二号さん的な意味で「不倫」することもあるだろう。その場合、子供が生まれれば、成功した商人が失敗しない限りは3年どころかその先ずっと関係が続くだろう。それは「不倫」よりは「結婚」に近い処理が必要になるものと思われる。

そういう続く関係があるという中で、不倫関係を選び出すというのはどうすればいいのだろう? 一人で複数というのは、複数期間に渡る場合のみ現れ、一期では一対一としてもよいのだろうか? まだ、詰めねばならないことがありそうだ。

JRF2021/2/85503

……。

……。

○ 2021-01-23T23:06:17Z

不倫関係のアルゴリズムについて。

一対複数を許すために、重なりを認めながら、まず、地域ごとに不倫者を選ぶ。このとき越境を認めるために、ある一定割合は、他の地域からの者を含めるようにする。そして、地域ごとに資産額に応じてマッチングする。

JRF2021/2/87583

男性は、資産が高い者が選ばれやすくし、女性は、基本は、ランダムに選んでくるものとする。マッチングについては、女性側ができるだけ資産の高い男性を選ぶというように、資産額に乱数を加味したものをソートして、女性が資産額の高い者から上から順に選んでいくという形で良いのではないか。

相手を選ぶのは、リアルには容姿・強さなども重要な要素だが、それはこのモデルでは扱えないかな…?

JRF2021/2/89840

あと、あるとすれば、階級か…。このモデルでは支配階級が数少ないながらもいることを想定している。ただ、それは一定の資産を持っているとみなすとして、資産が高い者をマッチングするところにもぐりこませたらいいのかな?

不倫のしやすさは、成功のたびに成長していく感じかな。そして、すでに結婚していたり不倫したりしていると、その分下がる。…と。

JRF2021/2/82667

「不倫の成功」とは何か。子供が生まれるのは、成功のこともあるし失敗のこともある。その辺は、結婚において子供を何人産もうとするかとも関連することではないか。子供を生むのを望まないような不倫である場合は特に、見つかったら明確に失敗だろう。見つかって相手が誰かがわからないものもあれば、誰かがわかって、誰々から誰々に恨みが生じるようなものもあるだろう。ただ、その場合、不倫をしなくなるかというと微妙に違うのではないか。それまでの結婚などは崩れるだろうが、崩れたあと「不倫」すなわち婚前交渉をやらなくなるかというと、そういうわけではないだろう…。

JRF2021/2/80446

……。

……。

○ 2021-01-24T23:03:02Z

不倫関係のアルゴリズムについて。

年齢について考えないとダメか。同じ世代のほうが不倫しやすいというのはあるだろう。

資産とランダムさと年齢の三つの指標について距離が近いものから順にやっていけばいいんだろうか? 年齢に関する距離が違うので、各個人についてソートはしないまでも、スコアの再計算と max を取る処理が必要とすれば、計算コストが大きくなるな…。何かアルゴリズムを考えねば。

JRF2021/2/81445

年齢についてソートしておいて、自分の近くの年齢 20 個からしかスコアを計算しないとしてはどうだろう…。しかし、これだと資産家が、若い娘に手を出すみたいなことができなくなるな…。資産のほうで逆にソートする…というのは…。

いや、そもそも、年齢が近いことよりも、若い娘(結婚適齢期の娘)のほうが価値があるみたいなのも考慮すべきなのか?

マッチングアルゴリズム、一度、何種類か実装してみるか…。

JRF2021/2/87985

……。

……。

○ 2021-01-27T22:53:30Z

不倫関係のアルゴリズムについて。

マッチングもある種の最適化なんだろうか。男女の好みのスコアの和を最大値になるようにすればよいんだろうか。それとも、男女限らず、社会的高スコアの者は、相手からの好みに関係なく、自分の好みを達成できるよう、片方の好みの最大値のみ見ればよいのだろうか?

片方の好みの最大値を取ることにした場合、全体最適みたいなスコアはどうなるのだろう? やってみないとわからないな。

JRF2021/2/83296

社会的高スコアの者から選んでいくことを考えているが、これをまったくランダムにその時の幸運度が高い者から順に選んでいくとした場合、どれぐらい全体最適が損われるのだろう? これもやってみないと…。

あと、教化レベルをどう反映するかという問題もある。教化(education)は、まず、不倫者を選ぶときに、選ばれにくくする効果があるとして良いだろう。

JRF2021/2/83342

その上で、教化レベルの近い者が好き合うべきなのか、教化レベルの高い者が常に好かれるべきなのか…。これも年齢と同じような二つの基準がありうる。ただ、教化レベルの近い者ということだと、女性は男性がレベルが高いほうが良く、男性は女性のレベルが低くてもかまわないとするような面があり、それを反映させることも不可能ではないが、それは、むしろ年齢のマッチングにおいて、女性よりも男性のほうが年上になりやすいというのとの相関が影響しているだけではないか…という気もする。

JRF2021/2/88662

……。

……。

○ 2021-01-28T22:56:55Z

借金について。

test_of_income_1.py では、借金はほぼ扱わなかった。test_of_income_1.py 以前には、借金は返済の支払いのみが大事で借金額は重要でないという話だったが、test_of_income_1.py では農民は借金額のみが出てきて、商人はまったく借金ができなくなっていた。

JRF2021/2/82265

test_of_income_1.py の ---strong-consumption では、貧困層は 1割か2割しか貯められず、残りを消費するということだったが、そこでは、限界まで借金するためその返済とあわせて、「消費」がほとんどになるというイメージを私個人は持っていた。

しかし、例えば家を買って借金したとしよう。すると、このモデル内で考えると、それは、家の資産評価額と借金額が相殺されて、ほぼ 0 (または若干マイナス) の財産を持っているとなろう。

JRF2021/2/81755

実際には金利があったり物価上昇や使用による価値下落等があったりするのだが、そういうのを捨象して、借金が少しずつ返済されていくという考えると、確実に返済された分だけ、帳簿の反対側の家の価値が残ることになる。すると、それはこのモデル内では、商業財産が確実に増えることになる。これは、--super-consumption で「消費」がほとんどになるというイメージとは逆に、確実に一定割合が、消費とは別に商業財産として貯まっていく状況を示唆している。

JRF2021/2/89234

ならば、逆に super-consumption な状態というのは、借金して家を建てたものの、災害などで家が失われて借金のみが残った…ような状態のことなんだろうか? そういうのはこのモデルでは「大バクチ」が相応の役割を持っているはずだが…。

そして、「古代」のモデルで、借金まみれになってるのに、逃げない・逃げられないというのがよくわからない。長く暮らしているとできる「のれん」みたいな信用があって、その分、給料が上がり、より借金ができるようになる…。とかあるとしても、返済で上がった分の給料が相殺されるぐらいなら、逃げて、返済なしの状態からはじめたほうが、得になるのではないか?

JRF2021/2/81942

どこへ行っても super-consumption な状態になる。その状態でも 1 割は残るのだから、給料が大きいほうが残る額は大きくなるから、「のれん」のあるところに住む…といった感じなのだろうか。

でも、それじゃあ、どうして super-consumtion な状態になるのかの説明は出て来ない…。

JRF2021/2/83355

家を借金で買えるようになるためには、頭金が必要で、その頭金は「大バクチ」で稼ぐ必要があり、頭金を出して家を借金で買ったあとは、super-cunsumption な状況から離れ、資産が貯まるようになる。…というのは、資産がたまると super-cunsumption から離れるというので、すでにモデル化されている…と言える。

なぜ、super-consumption になるかは問うてもしかたないところなのだろうか?

JRF2021/2/87872

あるところから取るというのが常態としてあって、貧困のうちには、ある程度免除されているから、逆に給料ギリギリまでの消費が常態としてある。…とか? 逆に、どんなに給料が低くてもやっていけるというのは、非金銭的なシェアがあるから。…とか? 「非金銭的なシェア」は借金などとしては表せない…まぁ、金の借し貸り的なシェアもあるとして…といったところか?

super-consumption 的な設定さえあれば借金返済についてもモデル化できている…と考えて良いのだろうか? それとももっと精緻な借金モデルを考えるべきなのだろうか?

JRF2021/2/88437

結構な固定給が出てて、それで借金ができて家が買える…現代サラリーマンみたいなのは「古代」にはないだろうし…。

「のれん」があると非金銭的なシェアにおける返済みたいなのが猶予され、また給料も増えるので、資産を貯めやすくなる…というのはあっていいかな。ほぼ逃げることがないとするなら、それは年齢が代理指標になる。そして、それには上限があるとすれば、成人になるまでに給料が増えていくというので、ほぼそれはモデル化できているのではないか?

もっと考慮すべき点(考慮してモデル化して本質が変わるような点)はあるだろうか?

JRF2021/2/82770

……。

……。

○ 2021-01-29T09:33:16Z

現代のサラリーマンっていうのは、「古代」で言えば、知的奴隷っていうかまぁ、使用人なんだけど、モデルの中では、上昇志向(ambition) が小さく「債券」を中心に運用している…その「債券」というのは基本的には自宅を商売に使わないことを示していたりするんだろう。そして技能を金にしているというのは、「株式」が「大バクチ」より技能が必要だというところで表されているといったところか。

これで十分モデル化できているだろうか?

JRF2021/2/86418

自宅を持つというが「債券」に相当するというのがわかりにくいかもしれないが、家賃がいらない分、余計に消費できるのが「債券」からのあがりに似ている。…というか、「債券」は基本貸家と考え、自分に貸して自分に払い自分が受け取ると考えればよいのだと思う。

「古代」には、債券や株式と言ったものはない。「債券」に相当するのはだいたい貸家であり、「株式」は技能(帳簿つけたり計算できたりを含む)を持って何かを仕入れて売るような商売なのだろう。「大バクチ」は技能がなくてもできる一時仕事みたいなものか。

JRF2021/2/85857

いろいろな商売を「債券」「株式」の比率で表現できるという考え方がこのモデルということになろう。例えば、「金貸し」は…どうなるのかな。貸家みたいな固い金貸しもあれば、リスクを取る銀行のような「金貸し」もあり、高利貸しみたいなのもある。それぞれ「債券」「株式」「大バクチ」に相当するイメージだが、少し「株式」に偏るイメージか。

JRF2021/2/83244

……。

……。

○ 2021-01-29T23:15:09Z

test_of_income_1.py において、--strong-donation がないと、どこまでも金を儲ける者が現れた。しかし、なんというか、これは夢があり過ぎる。

donation システムがなくても、どこかで商売上の限界にぶつからねばならない。そこで「債券」「株式」「大バクチ」に賭けられる限界(それぞれ 1000, 300, 50 に設定)を設け、それを超えた額は「死蔵」せねばならないとした。

JRF2021/2/80753

「死蔵」の場合も、「債券」と同じく θ= 0.01 のマイナスのレヴィ分布に支配されるとした。その分布のようすは、↓(バージョン 0.0.2)で python test_normal_levy_3.py -f dead --max=10 --min=-100 などとすれば確かめられる。

《test_normal_levy_3.py - 正規分布+マイナスのレヴィ分布の実験。「株式」「債券」「農地」「大バクチ」「死蔵」それぞれの分布の形を見てみる。》
https://gist.github.com/JRF-2018/50b29e2d95d067483c3e9465c9b510ad

JRF2021/2/86326

(なお、↑も↓も実行するには、generate_normal_levy_csv.py を実行しておく必要がある。以前に実行してあるなら必要ない。)

test_of_income_1.py では、上昇志向(ambition)に従って「債券」か「株式」(または「大バクチ」)かを決めたあと、「株式」が max を超えたら「大バクチ」にまわし、「大バクチ」が max を超えたら「債券」にまわす。「債券」が max を超えたら「死蔵」にまわすというアルゴリズムにしている。

JRF2021/2/88419

そのように改良したのが↓ (バージョン 0.0.4)。

《test_of_income_1.py - 主に商業財産から決まる収入のテスト経済シミュレーション。》
https://gist.github.com/JRF-2018/39ed54ff14cb3c79c21f42f7254fa7bc

これを --strong-donation なしで実行すると、最大値の上昇はかなり緩やかになり 50 ステップで、平均が 3400 最大が 6400 ぐらいとなる。

JRF2021/2/85862

一方、--strong-donation しても平均が 80 ぐらいと前と変わらない。--donation-rate=0.3 でも、最大値が 800 程度で許容範囲だ。さらに --strong-consumption を組み合わせると平均 58 最大 300 程度。ちなみに、これまでのバージョンでは --strong-consumption に大きなミスがあり、最大値などが大きくなり過ぎていた。

JRF2021/2/87093

さらに --donation-limit=1000 にすると平均が 153 最大が 722 だが、グラフの形がかなりリアリティがあってよい。さらに試しに --no-land を付けても平均 60、最大 700。

これに災害が加わればどうなるか…。

JRF2021/2/80887

……。

……。

○ 2021-01-30T11:39:07Z

不倫関係のアルゴリズムについて。

最初に不倫誘度(seduction)に従って地域ごとに不倫者が選ばれるようにする。

人口のうち2割が不倫者となるが、地域ごとに選ばれるとき、各地域ごとに3割は別の地域から選ばれるとする。

JRF2021/2/89786

このとき、不倫をよくする人間は重複して選ばれるようにしたい。しかし、どれぐらい重複があるかはコントロールしたいため、np.random.choice で重複なし(replace=False)で選ぶが、例えば、不倫誘度が 0.3 あれば、0.3 のほかに 0.2 や 0.1 でもその人が含まれるよう重複して配列に入れておくことにする。

一定年齢以上のすべての人に不倫の可能性はあるとし、不倫誘度の下限は 0 ではなく、0.02 ぐらいとする。

JRF2021/2/88936

……。

問題は不倫誘度をどう設定するか。

男性の財産を持っている者の不倫誘度は高いが、それは教育でなんとかなる程度にしたい。

結婚は、二人と不倫する以上の効果があるとする。いってみれば、一人とすでに不倫している者の不倫誘度マイナス度を -0.1 とすれば、結婚者は -0.2 ぐらい。

ただ、結婚して3年しても子供がない場合は、不倫誘度が上がるようにしたい。5年たつと不倫誘度のマイナスはなくなり、8年たつと不倫誘度は逆に 0.1 のプラスになる感じ。ただ、それ以上たっても 0.1 のプラスから上がらない感じで。

JRF2021/2/89076

結婚適齢期のものは不倫誘度が上がる。が、それは結婚すればおさまる程度なので、最大 0.2 ぐらいのプラスか。

不倫は成功するごとに不倫誘度が高くなる。結婚で一時下がるように考えがちだが、これは結婚者は -0.2 下がるという以上の効果はないものとする。時間効果のようなものはないとする。また、生来の不倫成功度が高い者(最大3ぐらい?)もいるとする。一回の成功で 0.1 のプラスといった感じか。子供を作ったことがあることは成功度の 0.5 (不倫誘度の 0.05)のプラスぐらい。男性と女性で差があるかな、成功度に対する誘度は女性の場合半分ぐらいか。

JRF2021/2/87739

不倫の成功失敗は、子供ができたかどうかよりも、それで恨みを買ったかどうかが大きいとしたい。このあたりは不倫の終りを考えるところで考えたい。

男性の財産を持っている者は最大で 0.3 増え、教育で最大 0.3 下がる感じか。それとも教育の効果を重くし、全体に最大 7 割かけるというのもありうるか。最大 0.3 下がるほうがいいかな…。

JRF2021/2/86585

女性と保有財産の直接の関係はあまりない感じか。結婚や不倫をしている場合、旦那が財産を持っていると逆にマイナスになるのはあるか。逆に旦那より財産をもっていればプラスというのはありそう。旦那との相対財産で、-0.1 から +0.1 のプラスマイナスぐらいか? 旦那の財産が 3 倍かそれ以上で -0.1、1.1倍で 0、1/3 かそれ以下で +0.1 ぐらいか。

女性のほうが低めに誘度が出ることになるが、不倫は男女でなされるものとするから、男性と同じだけ女性が選ばれるので、低い誘度だが数は選ばれることになる。(やりたい人は、不倫を男女関係なくするようモデル化してみればいい。)

JRF2021/2/87088

……。

結婚して子供が生まれてないのが何年続いているかみたいなのを記録しておく必要がある。それをどう初期値で設定するか…。

とりあえず成人人口の7割結婚していることにして、子供がいない年数のみを 0 年から 10 年で uniform にランダムに設定してみるか…。9年から10年は 9年以上いないということで。

JRF2021/2/88994

すでに1割は不倫していることにするか。そこも子供がいない年数のみを 0 年から 10年(以上)で uniform にランダムに設定するか。

ちょっとリアリティはないけど、その辺はあとから作っていくということで。

誰と誰が結婚しているか、誰が誰の子供か、何人子供がいるか…は(不倫のアルゴリズムのテストをするだけの)今のところはデータにせずにおくか。

JRF2021/2/83247

……。

……。

○ 2021-01-30T15:03:49Z

気になったのでちょっとだけ↓をバージョンアップ (バージョン 0.0.5)。

《test_of_income_1.py - 主に商業財産から決まる収入のテスト経済シミュレーション。》
https://gist.github.com/JRF-2018/39ed54ff14cb3c79c21f42f7254fa7bc

--strong-consumption をやったとき収入 10 あたりでなめらかでないところがあった。そこをなめらかにした。これを変えることで心配していたようなグラフの形が大きく変わるようなことはなかった。

JRF2021/2/86757

……。

……。

○ 2021-01-31T07:49:30Z

不倫は、1ヶ月で半分は終るものとする。子供がいない場合は3年で 199/200 は終了するものとする。子供ができた場合は、離婚に準じるが、少し別れる可能性が高い程度か。

いや、もっと簡単に、確率 r で減少していって、36ヶ月で 1/200 になる(つまり (1-r) ** 36 = 1/200) というと、r = 0.13685... ぐらいか。これだと 5ヶ月 で 1/2 になる程度。ちょっと最初の減り方が甘い気がするが、それでいいか?

JRF2021/2/87725

それとも最初の1ヶ月のみ特別視して、ここは 0.5 減るとする。その後は 0.5 * ((1-r) ** (36-1)) = 1/200 になる感じにすると r = 0.12328... ぐらい。7ヶ月で 1/4 になる程度。1回限りの関係を特別視するとこんなものかもしれない。

別れる可能性を云々する場合でも、r = 0.1 から 0.2 までの変化で十分かな? 1ヶ月ごとにかけていくとすると、それぐらいでも大きい。子供ができた上で別れるのは、年単位のイベントとか死亡とかに準じる人口ごと1期ごとに一定数起きるイベントにするか…。

JRF2021/2/81371

……。

恨みの発生。不倫がバレたときなどに恨みが発生する他に、何だかわからないがとにかく発生する恨みみたいなのがあって良いかもしれない。結婚が発生するように恨みも発生する…と。

相手がわからない恨みもありうる(商業的恨みの他に)。 誰かがわかれば恨みが解消すると考え、「とにかく発生する恨み」が振りかかれば、一定の確率で、一定程度、相手がわからない恨みが解消する…とするか。

JRF2021/2/85134

……。

不倫関係のアルゴリズムについて。

とりあえず成人人口の7割結婚していることにして、そのうち7割にはすでに子供がいることにする。

すでに成人人口の1割は不倫していることにして、ちょっと多いかもしれないが、そのうち2割にはすでに子供がいることとする。

JRF2021/2/86676

妊娠途中というのも考えないといけないか。「とつきとうか」…だがまぁ、11ヶ月が期間としてあるとして、8ヶ月でおなかが急に大きくなるようだから、8ヶ月から11ヶ月は物理的に不倫できなくなる感じか。

結婚者の 1 割、不倫者の 1 割は妊娠しているとするか。結婚者はのべ期間が長いのに1割で、不倫者はのべ期間が短いのに1割はどちらが多いのか…。不倫者は妊娠していても「堕胎」することが多い・妊娠はするが子供にはならない・しかし妊娠して8ヶ月目になるとさらなる不倫はしない…というのが前提かな。

JRF2021/2/87246

そして妊娠のどの時期にあたるかは、uniform に決める。本当は流産とかあって uniform ではないけど、まぁ、そこはテストの段階だしそこまでの精度は求めない。…と。

JRF2021/2/84895

……。

……。

○ 2021-01-31T11:19:16Z

私が今やってることは何なのかというと、「科学」ではなく「哲学」なのだと思う。

「シミュレーション」と言えば「科学」のように聞こえるが、それぞれの数値・モデルの根拠は薄弱で、それは私がどう考えるか・偏見を持っているかというのを反映するものでしかない。

JRF2021/2/81797

逆に言うと、そのような「偏見」を明示的な言葉にしていくこと自体が一つの目的となっており、自己を掘り下げる「哲学」の意味はあるのではないか。…と思う。まぁ、プロの哲学者からすれば、私のは哲学以前の話だろうが。

仏教が宗教というより哲学の側面を強く持っているように、私の「シミュレーション仏教」は科学というよりは哲学の側面を持っていると思う。これを人が受け継がねばならないとするのならある種の宗教にすらなるのかもしれない…。

コンピュータをおともに(それをある意味「補助脳」として)行う「自己の探求」、私のはそういう「哲学」。

JRF2021/2/86880

……。

……。

○ 2021-02-02T08:31:24Z

不倫関係のアルゴリズムについて。

人によって、資産を重視する度合いなどは違うだろう。まず、男女でかなり違うのではないか。

女性は、妊娠・子育てを有利にするため、資産を重視する? 教化レベルが上がるほど、容姿(すなわち結婚適齢期性)よりも資産を持っているほうを好むようになる? それとも裏切りにくい男=同世代の男(財産では選ばない)を選ぶようになるんだろうか?

JRF2021/2/87529

女性は、教育が中等度だと資産重視に、高度だと同世代重視にとりあえずしてみるか…。

男性はどうなのかなぁ…。常に結婚適齢期重視でああるだろう。女性とは逆に、教育がないほど、捨てられとき親権も残らないことや自分の稼ぎや「名誉」を気にしなくなるという点で、資産が高いことを重視するというのはあるか。そして教育が高度だと女性ほどではないが、やはり裏切りにくさ・同世代重視になるとでもするか。

JRF2021/2/82080

……。

不倫カップルとして選ばれたカップルが、偶然、もとから不倫していたカップルに一致していたり、結婚カップルに一致していたり…ということは起こりうる。

もし、倦怠感みたいなパラメータがあるなら、そうやって一致したカップルの倦怠感は下がるみたいなことをしていいかもしれないが、しかし、そうやって選ばれることはマレなはずで、にもかかわらず、倦怠感を「直す」意味を見出すのはあまり意味がないかな。…と思う。

基本的にはそういう一致は無視する方向で問題ないと思う。不倫期間等を更新してしまう「間違い」は起こさないように注意するだけかな。

JRF2021/2/82178

……。

支配層については以前少し検討した。基本、一定の財産をプラスして持っているとして扱えば不倫に関しては問題ないだろう。

僧侶についてはどうするか。不倫ができないわけではない。教化レベルが高い状態にあるとすれば十分なのか、それともさらに職業的責任感で不倫しにくいとすべきなのか。

あと、不倫が見つかった場合どうするかというのは一般にも全々詰め切れてないが、僧侶の場合は、さらに「徳」のようなパラメータが下がるとせねばならないだろう。

JRF2021/2/89970

……。

……。

○ 2021-02-03T12:55:05Z

恥ずかしい間違いをしていた。typo 「peaple」→「people」。

↓をバージョン 0.0.6 に。

《test_of_income_1.py - 主に商業財産から決まる収入のテスト経済シミュレーション。》
https://gist.github.com/JRF-2018/39ed54ff14cb3c79c21f42f7254fa7bc

JRF2021/2/86177

↓をバージョン 0.0.3 に。

《test_of_merchant_peasant_ratio.py - 商人(merchant) と 農民(peasant) の比率と農民の農地の垂直的分布を一定の関数に保つアルゴリズムのテスト》
https://gist.github.com/JRF-2018/a8e857bd4377fb800952f193c87ba174

まぁ、まだまだ恥ずかしい間違いはあるかもしれないが、一人で基本やってることなのでそういうことはままある…ということで。

ごめんなさい。

JRF2021/2/85968

……。

……。

○ 2021-02-05T10:22:55Z

不倫関係のアルゴリズムについて。

一応、実装してみた。↓ (バージョン 0.0.1)。

《test_of_matchin_1.py - 不倫のマッチングのシミュレーション》
https://gist.github.com/JRF-2018/2792da451992dae3e918c72a66ab67b0

不倫誘度については、前書いたとおり、不倫好意度(adultery_favor)についてもできるだけ前に書いてた通りに実装した。

JRF2021/2/86483

ただ、前は、不倫好意度に元づくマッチングについて、魅力(ほぼイコール不倫誘度)についてソートして、大きいものから順番に不倫好意度が高い者とマッチングしていく…みたいに考えていた(その高速版も考えていた)が、それはやめた。

結局、男女のすべての組み合わせについて不倫好意度を計算しないといけなくなるのだろうから、それなら、最初から不倫好意度を全部の組み合わせについて計算してしまってから、男女の好意度の和が高いものから順にマッチングを成立させればいい…という単純なアルゴリズムにした。

JRF2021/2/80736

結構、時間はかかる。np.exp を math.exp に置き換えるなどちょっとした高速化もしたが、それでも時間がかかっている。

まぁ、機械学習に比べればかかる時間はたいしたことないが…。

あと、デバッグはあまりできてない。何をどう確かめればいいのかが、いまいちよくわからず…といったところ。

JRF2021/2/86297

……。

……。

○ 2021-02-06T08:42:14Z

不倫関係のアルゴリズムについて。

不倫の終りは確率的にやってくるとして、子供がいるかいないかを関係させるという話だった。それ以外に、財産スッって落ちぶれたなど、好みじゃなくなったから、別れるというのもありうる話だ。

JRF2021/2/86177

そこまでして意味があるか疑問だから、私が実装する必要はないんじゃないかという気もチラとするが、やるなら、毎度、大きく好みが変わるのに連動するのはあれだから、初期の好意度を覚えていて、そこからの変化を別れの確率に少し反映させるか。

このときの好意度については、temporal な幸運度は除いた(それを 0 と置いた) adultery_favor の計算をすればいいかな。

JRF2021/2/86936

……。

不倫の終りは最初ガタっと下げて、あとは一定率で別れていく…みたいなことをこれまで考えてきたが、それだと不倫してる人がだんだん多くなり、最後はすべての人が不倫してる…みたくなってしまうのではと心配するようになった。

そこで、新たな不倫者は従来の不倫者と合わせて二割となるように増やしたあと、人口に対する不倫者の割合が一定(一割)となるように、減らすという処理をすればいい。…と考えなおした。

JRF2021/2/85693

プログラムで書くと↓ (バージョン 0.0.1) みたいな感じ。

《test_of_reduce_2.py - 不倫の終る確率のテスト》
https://gist.github.com/JRF-2018/dee67ffed33e367bec68cc36e1e663dd

新たな不倫者の 6 割が削られ、残りの 4 割と従来からの不倫者を合わせて、そこからその期の終りの不倫者が全体の 1 割となるように不倫の終りが起こる…としている。不倫の終りを選ぶとき、長く不倫をしているものは選ばれにくくなるようにもしている。

JRF2021/2/87945

選ばれにくくなっているところの処理に上に書いたような、子供がいるかいないか、落ちぶれたかどうかを反映させるのは難しくないはず。

決定稿ではないが、こんな感じにしようかと…。

JRF2021/2/88466

……。

……。

○ 2021-02-07T14:15:34Z

次はどこに向かおうか。ちょっと中ぶらりんな状態。

不倫の終りを詰めていく方向が一つある。不倫のデータ構造を決めたり、不倫の成功・失敗の確率のかけかたを決めて adultery_success の増減を精緻にする。…とか固めていきたい。が、これは結婚とか、もう少し他を固めてからでもいい気がする。

JRF2021/2/84733

次は、結婚について考えるというのも一つの方向。好意度は、運の要素が少なめで、資産はより重視される…とかそういうのを考えるが、基本、不倫と似たアルゴリズムになる。ただ、結婚の終りの分布は、すぐに離婚は少なく、子ができなくて離婚みたいなのがある…とか結構、違う感じになるだろう。ただ、この前に不倫の終りを固めたほうがいいかな…という気もする。どっちを先にするか…。

JRF2021/2/80208

また一つは、生死…誕生と死について考えるというもの。このあたり、不倫の終りに似たアルゴリズムで、死を考えたりすると、人口が常に一定になるよう死ぬ者が選ばれる…となってしまう。赤ん坊のうちに死ぬ者が多く、高齢者もまた死ぬ…というのを別の処理にするとしても、普通の人の死を一定にする意味とは何なのか。栄養が足りなくなって死ぬということなのか…とすると財産を持ってない人が死にやすいとすれば良いのか…とか考えることになる。逆に人口を増やすときは、何か理由をつけて割合を増やすみたいな処理が必要になる。…そんなんでいいのか?…みたいに迷う。

JRF2021/2/86358

こういう基本的なところで、使うアルゴリズムは出揃ったのかな…という感もある。これらを組み上げてから、災害や殺人等を入れていく感じか。それとも災害や殺人等は別で test なシミュレーションを作っておくべきなのか…?

不倫や結婚を詰めるなら、しばらく集中する必要があるが、そうでないなら、ここらでいったん長めの休憩を入れて他のことに気をまわすのもいい。

JRF2021/2/89790

« 前のひとこと | トップページ | 次のひとこと »