霞と側杖を食らう

ほしいものです。なにかいただけるとしあわせです。[https://www.amazon.jp/hz/wishlist/ls/2EIEFTV4IKSIJ?ref_=wl_share]

蛇でいてくれてありがとう

 スイス育ちの方が、日本はハイコンテクスト文化の国で、日本で付き合ってた恋人たちとなぜ上手くいかなかったが分かったなんて言っていたツイートがバズっていた。

スイス育ちの人が日本の人とコミュニケーションが難しいという理由に共感する声「人にものを教えるときに気をつけたい」 - Togetter

ここでは文化人類学者のホールの研究が取り上げられているが、少し気になってgoogle先生に聞いてみると、その研究には実証的根拠はなく、むしろ追試によって実証的に否定されているのだとか。

「日本文化はハイコンテクスト」には実証的根拠がない - 旧版こにしき(言葉、日本社会、教育)※2018年4月、新ブログに移行済み

どのように実証的に示すのか、手法が気になるところではあるが、追試の論文についてまだ確認していない。

 日本がハイコンテクストな文化の国なのかどうかは知らないが、遊びの会話においてハイコンテクストだととても楽しい(「遊び」と書いたのは、遊びでない議論などではローコンテクストから積み上げるべきだからだ)。遊びの会話において、個人的には、どちらかというとツッコミよりボケの役割を負うことが多いのだが、会話でボケるとき、相手がボケの内容を知識として持っていることを期待してボケる。知らないであろうと予想することはボケても伝わらないので(スベるので)、思い付いてもお蔵入りになってしまう。そんなきわどい予測の中で、ハイコンテクストが共有できたとき、得も言われぬ快感が生じる(これに似た話は前回の記事で少し書いた)。自分に文化圏が近い人との会話において、相手の持っているであろう知識の推測はしやすい。会話の中で、仲良くなっていく過程で、相手の関心分野などから推し測っていけばよい。しかし、留学生や年の離れた人など、自分の文化圏と離れて文化圏に属している人の知識の推測は難しいし、そもそも相手の持つ知識自体を自分が知らないことが多く、コンテクストの共有が困難であることが多い(そんなことや表現力の不足から英語での会話がとても苦しい、ボケとツッコミなんて文化、海外にないだろうし、海外のお笑い文化が気になる)。

 相手の知識や戦略、行動の幅の予測は、バドミントンでも行っている。相手がどの球に反応できるのか、どういうショットを打ってくるのかの推測をラリーの中で、意識的にまたは無意識的にしている。逆に相手の予測を読んで、その予測の外側のショット、つまりフェイントショットを打つ。ダブルスのペアに対しても同様で、ペアがどう動くであろうから、自分はどこにポジションをとるといった行動をとったりする。どうして予測をしているのかというと、予測をして、予測の範囲外を計算から外して、早く速く動くためだ。余計な計算を省くことで、不確実性が多い中で、効率的に動くことができる。

 このような予測による計算の省略は、社会にありふれている。たとえば、左側通行だ。左側を通るものだと予測し合っているから、余計な計算コストを生じさせずに、互いに道を進むことができる。予測と違った行動をしてくると、事故が起きやすい。家の近くの信号がこの前、歩車分離式信号に変わったのだが、変わったばかりで、予測が現実とかみ合ってなくて危ない瞬間を何度も見かけた。車側は横断する信号が赤になったら、次はこっちが青になると予測しているので、歩行者信号のみが青になるタイミングで、進もうとしてしまう。歩行者は歩行者で、赤なのに青になると勘違いして歩こうとしてしまう。

 社会の設計(情報公開も含め)において、人々の予測や期待で以て行動をすることを考慮にいれなければならない。余計な計算コスト(エネルギーや時間)を省くようなデザインならば、各個人が余計な費用を省略出来て、全体として大きく厚生を改善できる。上の信号の話もそうだが、この話でよく思い浮かぶのが、公のホームページのデザインだ。必要な情報がどこにあるか分かりにくい設計のホームページが多い。東京都の人がホームページの、とある情報にアクセスしないといけないとして、その情報にアクセスするのに10秒でアクセスできる分かりやすいデザインと、情報のある位置が予測と全然違ってアクセスに1分かかってしまうデザインがあったとしたら、1人の人間が約19年間生きるくらいの時間コストの差が生まれる。おそろしい損失だ。ホームページのアクセシビリティに関わらず、無駄なコストを削減するために、予測や期待、コンテクストの構成について人々は真剣に考えなければいけないように思う。

 とりとめもなく言葉が散らばってしまったが、読者のハイコンテクストで補完しながら読んでくれることを期待する。

 

鯉よ "鷹未"へ

 気分転換に書籍部を散策していたら、『絶対フォント感を身につける。』というタイトルの本が目に留まった。異様な魅力に惹きつけられ、気が付いたらレジへ足を運んでいた。この本である。

MdN EXTRA Vol. 5 絶対フォント感を身につける。|株式会社エムディエヌコーポレーション

私からは、余計な説明など不要だ。少しでも魅力を感じたなら、一読してみてほしい。フォントに向ける視点を教えてくれる。読み終わった頃には、日常、目の当たりにしている何気ない風景に、一つ奥行きが増えることになるだろう。

  ある分野を学習するとき、その分野をよく知っている人が書いたロードマップがあると、とても助かる。良いロードマップには二種類ある。分かっている人にとってみると必要十分で素晴らしいと感じるが、分からない人には難しいというものと、分からない人にとってみると一歩一歩進むことができた助かるが、分かっている人には冗長だというものだ。良さが異なるからひとくくりにして評価してはいけない。ここでは、よく分かっていない状態を想定しているので、後者の良さを持つロードマップが便利だということだ。

 しかし、いつもそんなロードマップがあるとは限らない。むしろ、ロードマップが整備されているケースはとても少ない。そんなとき、私がやるのが、とりあえず百回試すというものだ。よく分からなくても百回なんとなく繰り返して試していれば、少しは何かが分かるようになる。何が分かっているのかは分からないこともあるが、何か感覚が掴める。これまで、私は、1年でラーメン百杯食べてみたり、1年で本を百冊読んでみたり、アニメを100本見てみたりした(その中でとても良いと感じたものをいくつか挙げると、『ピンポン』『SHIROBAKO』『ばらかもん』『スペース ダンディ』『宇宙よりも遠い場所』『四畳半神話大系』『けものフレンズ』『化物語』『日常』『天元突破グレンラガン』『氷菓』『輪るピングドラム』 といったところか。)。今年は日本酒を100種類飲んでみた。何でもいいからとりあえず100回試してみたり、100時間やってみたりすると、それまでよく分からなかったものに対して、何か差異を見つけられるようになる。

 ただ100回繰り返しているだけでも、何か掴めることがあるが、学習効率が悪い。何が違うかを探っていき、次に活かすということを意識的に行っていった方が効率が良い。統計学的な言葉で表すならば、パターン認識によって、異なるパターン・エラーパターンを把握して、因果推論でその原因を追求し、修正するという作業を愚直に続けていくといったところだろうか。これは、人生のあらゆるものに対する上達のコツだと思われる。このコツが若いうちに身についたかどうかがとても重要だろう。時として、この作業は、精神が磨り減る作業になる。何も見えない暗闇の中で何かを探す作業になったり、自分の誤りを探していく作業になったりするわけで、辛くなることもあるが(楽しくできるということであれば、それは才能なのだと思う。)、これをできるかどうかで、その先にあるものが見えるか否かが決まる。

  上達した者だけが、知っているものだけが眺められる地平というのがある。たとえば、「渋谷のハチ公、上野待ち」というフレーズを聞いて、あぁなるほどと楽しめる人は、渋谷と上野の関係と、ハチ公と上野の関係を知っている人だろう。知らないと何を言ってるか分からないため、分かっている人と地平を共有できない。知っている人だけが感じられる空間構造があって、遠く離れた点と点がつながる感じがとても快感である。それは、秘密の共有のような快感である。これが大っぴらに共有されていることであれば、その快感は薄れてしまう。だから、私はあまり下ネタを言わない。下ネタは人類のほとんどが共有できてしまうから。分かってる人が分かるという世界の共有がやはり楽しい。

 『ピンポン』のドラゴンとペコの試合のシーンが好きだ。あの感覚。共有される高みの世界。私ももっと高いところへ飛んでいきたい。

I'm a fuckup and I'm nuts so she's gone

 カルロス・ゴーン金融商品取引法違反容疑で逮捕されたことが話題となっている。自動車産業というものは、徹底したシステマティックな分業を以てして発展してきた。そのシステムのうちの1つの代表的存在が逮捕された。何が起きているのかは詳細を知らないので、ここでは語らない。

 

 代表が分業において果たす役割は大きい。その役割は、まず指示、統率、鼓舞は自明だろう。もうひとつ代表には重要な役割がある。それは穢れた際の共同体の浄化だ。不祥事を起こした会社の社長などは辞任したり、ときには自殺したりする。ちなみに、伊坂幸太郎の『グラスホッパー』の鯨(人を自殺させるタイプの殺し屋。)は、不祥事を起こした会社だったか政党だったかのエラい人を自殺させる際に、自殺させることの意味についてこんなことを言っている。「大筋では、「これで許してやろうじゃないか」という暗黙の了解のようなものが広がる。生贄を差し出されると、理屈に合わなくても、それ以上責めるのが面倒くさくなる。」

 

 共同体における王権の特質のひとつには日常生活において堆積される脅威や災厄をひきうけ、それを祓う役割を負わされていることがある。王権というものは穢れの浄化装置らしい。災厄が起こった場合、その原因を王に帰し、王を殺害する、'王殺し'っていう習俗が未開の社会にはある。また偽王(モックキング)という制度もある。王権の浄化作用の役割を祝祭の場で王を演じる奴隷や捕虜、すなわち偽の王に肩代わりさせるシステムのこと。ここらへんの話は、今までの記事で何度か出てきた赤坂憲雄の『異人論序説』に書かれている。社長の自殺と王殺しはとても似ている。

 

 自分も代表的な立場を任された経験は何度かあるが、うまくその役割を果たせたと自信を持って言えはしない。指示、統率、鼓舞、浄化(浄化は場面として経験していない。)をやるときは、多くの要素を頭の中に抱えて、当然自分のことをこなしながら、実行していかないといけない。そういう器用な立ち振る舞いがまだできるだけの能力を持っていないのだろう。自分のことに集中して、パフォーマンスを上げることくらいしかできないケツの青い若造なのだ。いい加減、レベルアップしないといけい時期なのだろう。最近、『NARUTO』を読み返していて、キャラクターが成長していくのを見るにつれて、そう思った。

 

(2012年11月11日に書いたものを編集)

心変わりは、人の世の常と申しますから

 ここ半年、今まで属していなかったコミュニティにお邪魔する機会が増えた。増えたというより、半分意識的に、そういう機会を増やしている。当然、最初の腰を上げるのは重いのだけれど、実際に行ってみると、従来の自分の行動パターンからは得られない発想や新しい出会いがあって面白い。いつだったか、ネットワークの研究の話を聞いたとき、多種多様なコミュニティに属している人はそうでない人より年収が高い傾向があるなんてことを聞いたこともある。年収の高い人は別のコミュニティに行けるだけの余裕があるってことなのかもしれない。そんな可能性もあるけれど、別のコミュニティに参加すれば、知らなかった世界が開けたりして、年収のようなものへの作用があるとも考えられる。コミュニティとコミュニティの狭間の人を異人と呼んだりしたと思うのだが、異人の役割といった、このへんの話は赤坂憲雄『異人論序説』に詳しく、面白かった記憶がある。いつも属しているコミュニティにばかりいないで、たまには、外に飛び出してみたりするのは面白いし、それが億劫に感じて、できなくなるような自分には、できることなら、なりたくないものだ。

 新しいコミュニティに行くと感じるのは、コミュニティというものが生き続けているというのはすごいことだということだ。コミュニティのメンバーの各々が、そのコミュニティに対して集まろうという気持ちがなければ、コミュニティは成立しえない。コミュニティを見ていると、積極的にコミュニティを運営しようとしている層と、運営されているコミュニティが生きているなら参加し、協力しようとする層と、参加はするがとくに協力しない層と、離れていく層があると感じる。これらの層がどれくらいの厚みがあって、どれくらいの熱量があるのかがコミュニティの存続・活発度に関わってくると考えられる。各々のメンバーは、それぞれの事情を抱えており、コミュニティへの貢献を一律に強制することは自律的なコミュニティでは難しい。コミュニティのメンバー構成やシステムによっても、メンバーの行動は変わってくる。様々な要因が絡み合っている中で、コミュニティというものが明かりを灯しているのは実はすごいことなんだと最近、実感している。

 コミュニティが存続していることで、属しているメンバーは受ける便益(どういった形かは決まらない。)がある。一方で、コミュニティを存続させるためには貢献が必要で、属しているメンバーにとって、費用(便益同様、どういった形かは決まらない。)となる。ここで、費用を嫌う一方で、便益を受け取るメンバーも、もちろん存在する。人なのだから。コミュニティを運営する人にとって、そういった人への態度というのが難しい。

 個人的に理想として思い描くコミュニティのメンバーのあるべき姿というものがある。それは、余裕があるときは自分が費用を被っても貢献するという姿勢だ。みんなが僅かな自己犠牲を捧げることでコミュニティが成立し、そのコミュニティによって大きな恩恵を得られるというのならばそうすべきだと思う。常に美味しいところだけ持って立ち去ってしまうような姿勢は個人的な理想的見地からすると、望ましくない。自分はそうありたくないし、他人もできることなら、そうあってほしくない。これが、そんな私のエゴである。

ユダヤ人の知恵を借りて資源配分したいときの覚書

 

ユダヤ人の平等な配分の仕方を自動的にやる方法

【用途】
庭から石油が湧いてきたときを想定してほしい。どうやら年間100万トンの産出ができるようだ。兄弟がそれぞれ権利を主張しており、兄は100万トンの権利を持つと主張しており、弟は50万トンの権利を持つと主張している。権利関係を確かめたところ、二人の主張はどうやら正しい。しかし、二人の権利の総量は150万トンで実際に存在する量の100万トンを超えている。このような場面で、どのように石油を配分するのが良いのだろうか。半分ずつに分けるという方法もあるし、割合に応じて2:1に分ける方法もあるが、ユダヤ人の聖典であるところの『タルムード』が規定する分配方法は少し異なる。このケースでは、75万トンと25万トンに分けられるようだ。石油の量が50万トンだと、25万トンずつになり、石油の量が、石油の量が120万トンだと、85万トンと35万トンになる。
この配分方法は一見不思議に見えるが整合性がある。詳しくは「タルムードの破産問題」や「ミシュナの分配」、「布争いの原理」、「仁(nucleolus)」といったキーワードで調べてほしい。
ここでは、その原理に従って、配分量を楽に計算したくなることがある。そんなときのための関数を作成した。

【内容】
JewishAllocという関数を作成した。引数にはtotalとvdemandをとり、totalには分配対象となるものの総量が入り、vdemandにはそれぞれの権利者の正しい権利の量のベクトルが入る。出力として、その権利者の番号とその人に対応する分配量が書かれたデータフレームが出てくる。
パッケージとして、dplyrとmagrittrが読み込まれるが、コードが書きやすいから使用している。使わなくても、該当箇所を書き換えることは難しくはないだろう。

JewishAlloc <- function(total,vdemand){
  #Loading Packages
  library(dplyr)
  library(magrittr)
  #sum of demand
  sdemand <- sum(vdemand)
  #number of people
  n <- length(vdemand)
  #data.frame
  dfdemand <- data.frame(no = 1:n ,
                       D = vdemand,
                       halfD = vdemand/2,
                       A = rep(0,n))
  counter <- 1 #initial counter
  hw <- 0 #initial height of water (metaphor)
  skip <- 0 #0は通常の配分処理を行う。1はdemand通りに配分。2は設定に問題あり。
  dfdemand <- dfdemand %>% arrange(D) #sort by amount
  if(sdemand <= total){
    #If: sdemand > total -> vallocation = vdemand
    dfdemand$A <- dfdemand$D
    skip <- 1
    } else if(0 < total & total < sdemand/2){
      #If: 0 < total <  sdemand/2
      remain <- total #initial remain
      reverse <- 0
      } else if(sdemand/2 <= total & total< sdemand){
        #If: sdemand/2 < total < sdemand
        remain <- sdemand - total #initial remain reverse
        #(空気を水に,水を空気にのイメージ)
        reverse <- 1
        } else{skip <- 2}
  if(skip == 0){
    while((n - counter + 1)*(dfdemand$halfD[counter] - hw) < remain){
      hw <- dfdemand$halfD[counter]
      remain <- remain - hw*(n-counter+1)
      dfdemand$A[counter] <- hw
      counter <- counter + 1
      }
    #dfに逐一入れる。0のとこに最後追加。
    dfdemand$A <- ifelse(dfdemand$A==0, hw + remain/(n- counter + 1), dfdemand$A)
    #reverseが1なら引き算
    if(reverse == 1){
      dfdemand$A <- dfdemand$D - dfdemand$A
    }
    }
  #no でdfをarrangeして元に戻す。
  dfdemand <- dfdemand %>% arrange(no)
  colnames(dfdemand) <- c("no","D","halfD","Alloc")
  if(skip == 2){
    print("something wrong!")
    }else{return(dfdemand[c("no","Alloc")])}
}

イデアのイメージとしては、需要量の多い順に並べて、半分に分けて、上下に貼り付けた筒をつくり、横をくりぬいた箱をつくる。上から水を流してやると、その通りの配分となるイメージだ。hwという変数は水の高さを上げていくイメージ。remainは徐々に水面を上げていってまだ水がどのくらい残っているのかを表している。次の高さまでいけないくらいのremainになったら、等分してやるといった具合だ。reverseという変数は、半分を越したところの計算は対称性を利用してあげると上手くいくので、そのようにしている。空気を水に、水を空気にして計算したあと、対称性を用いて元に戻す感覚だ。(たぶんここのパラグラフは文字だけでは人に伝わりにくいとは思う。)

最初の石油のケースを試してみる。最初の使用ではパッケージの読み込みの出力が出てくる。

t <- 100
vd <- c(100,50)
JewishAlloc(total = t, vdemand = vd)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
##   no Alloc
## 1  1    75
## 2  2    25

二番目のケース。

t <- 50
vd <- c(100,50)
JewishAlloc(total = t, vdemand = vd)
##   no Alloc
## 1  1    25
## 2  2    25

三番目のケース

t <- 120
vd <- c(100,50)
JewishAlloc(total = t, vdemand = vd)
##   no Alloc
## 1  1    85
## 2  2    35

想定通りの出力が出ている。権利の総量に対して十分な量がある場合は、需要量分全てが配分される。変なケースが出るときは、something wrongが出力されるようにした。たとえば、totalが負の値のときは、

t <- -200
vd <- c(100,50)
JewishAlloc(total = t, vdemand = vd)
## [1] "something wrong!"

となる。

権利の主張者が二人より多いときでも配分は出力されるように作成されている。たとえば、四人兄弟で、総量が150、それぞれの主張が100,75,50,25の場合は

t <- 150
vd <- c(100,75,50,25)
JewishAlloc(total = t, vdemand = vd)
##   no Alloc
## 1  1  87.5
## 2  2  62.5
## 3  3  25.0
## 4  4  12.5

となる。

【記憶の検索キーワード】
ユダヤ人, 配分, 知恵, 遺産, 布, タルムード, ミシュナ, 仁(nucleolus), 水を落とすイメージ

壊れるほど愛しても1/3も伝わらない純情な感情との衝動遊戯

 

【ABSTRACT】

一度壊れるほど愛したとき、1/3の感情が伝わるとして、壊れるほど愛する回数を増やしていくときの、すべての感情が伝わっている確率を計算した。感情が複雑になればなるほど、全てを伝えきるのは難しくなるという結論が得られた。

【OBJECTIVE】

SIAM SHADEの曲に『1/3の純情な感情』というものがある。この曲は、こう始まる。

壊れるほど愛しても1/3も伝わらない 純情な愛情は空回り I love you さえ言えないでいるMy heart

では、いったいぜんたい、どのくらい愛せば良いのだろうか。このような疑問が自然と湧いてくる。感情を伝えるのはとても難しいことだというのは周知の通りであるが、感情を全て伝えたいという欲求は否定されるべきではない。ただ、壊れるほど愛した結果、壊してしまってはいけない。そんなわけで、壊れるほど愛する回数を増やしていくとき、感情がどの程度伝わっているのかを考えていく。

【METHODS】

実際に、壊れるほど誰かを愛して、その人にどれくらい感情が伝わったかチェックするという手法が第一に思い浮かぶ。しかし、この手法には問題がいくつかある。壊れるほど愛した結果、その人を壊してしまってはいけないし、どれくらい感情が伝わったかをチェックするのはとても難しい(一番問題なのは壊れるほど愛する誰かの存在なのだが、これはここでは触れずに話を進めることにする。)。

こういう場面で役立つのがモデルだ。現象を近似・抽象化したモデルを作って考える。感情を要素に分解して、壊れるほど愛すると、要素のどれかが確率的に伝わっていくとするモデルをセッティングする。つまり、感情の要素を玉に見立てて、玉を箱に入れて、復元抽出することを想定すると分かりやすい。そのようなモデルで、感情の伝わっている割合、玉で言えば伝わっている玉の種類数の割合を確認していく。

【RESULTS】

感情には3つの要素があってどれか1つが伝わる場合

最も簡単なモデルを作る。伝えたい感情には3つの要素があるとする。1度壊れるほ愛すると、3つの要素のうち1つだけ伝わるとする。その1つの選ばれ方は一様で、それぞれ1/3ずつとする。つまり、ここでは壊れるほど愛すると感情の1/3が伝わるというわけだ。歌詞では1/3も伝わらないとあるが、簡単化のため、1/3とする。非復元抽出としてしまうと、3回愛せば終わってしまうので、復元抽出を考える。
たとえば、A,B,Cの要素があるとして、それぞれ1/3の確率で伝わるとする。5回壊れるほど愛したとして、A,B,A,A,Bと伝わる要素が実現したならば、伝わっているのはAとBで、Cは伝わっていないということになる。
初期値ベクトルと推移行列を用意して積をとれば、n回愛したあとの伝わっている確率は確認できるだろう。行列の積は面倒くさいので、以下、Rを用いて計算していく。

まず、必要なパッケージを読み込む。

library(expm) #行列のべき乗をするためのパッケージ

次に、初期値ベクトルと推移行列を用意する。A,B,Cが伝わっているか否かが問題なので、状態の数は2^3個の8個。伝わっていない状態を0,伝わっている状態を1としたら、(0,0,0),(1,0,0),(0,1,0),(0,0,1),(1,1,0),(1,0,1),(0,1,1),(1,1,1)の8個の状態があり、1回壊れるほど愛すると状態が確率的に推移するので、それを推移行列で表して、計算する。初期値ベクトルは(1,0,0,0,0,0,0,0)の転置したものである。

#初期値ベクトルの作成
vini <- numeric(2^3)
vini[1] <- 1
#推移行列
mtran <- matrix(c(0,1/3,1/3,1/3,0,0,0,0,
                    0,1/3,0,0,1/3,1/3,0,0,
                    0,0,1/3,0,1/3,0,1/3,0,
                    0,0,0,1/3,0,1/3,1/3,0,
                    0,0,0,0,2/3,0,0,1/3,
                    0,0,0,0,0,2/3,0,1/3,
                    0,0,0,0,0,0,2/3,1/3,
                    0,0,0,0,0,0,0,1),
                  nrow = 2^3,byrow = TRUE)

#5回壊れるほど愛したとする
k<-5
pmtran <- mtran%^%k
print(vini%*%pmtran)
##      [,1]        [,2]        [,3]        [,4]      [,5]      [,6]
## [1,]    0 0.004115226 0.004115226 0.004115226 0.1234568 0.1234568
##           [,7]     [,8]
## [1,] 0.1234568 0.617284

これは5回愛した後の(0,0,0),(1,0,0),(0,1,0),(0,0,1),(1,1,0),(1,0,1),(0,1,1),(1,1,1)の状態の確率である。5回壊れるほど愛することができれば、約6割の確率で全ての感情を伝えることができるということが分かる。また3割6分ほどの確率で感情の2/3は伝わっているということになる。

これを関数にする。k回愛した後の状態の確率分布を出力する関数を以下のように作る。

afterk <- function(k){
  vini <- numeric(2^3)
  vini[1] <- 1  #初期値ベクトル
  mtran <- matrix(c(0,1/3,1/3,1/3,0,0,0,0,
                    0,1/3,0,0,1/3,1/3,0,0,
                    0,0,1/3,0,1/3,0,1/3,0,
                    0,0,0,1/3,0,1/3,1/3,0,
                    0,0,0,0,2/3,0,0,1/3,
                    0,0,0,0,0,2/3,0,1/3,
                    0,0,0,0,0,0,2/3,1/3,
                    0,0,0,0,0,0,0,1),
                  nrow = 2^3,byrow = TRUE)    #推移行列
  pmtran <- mtran%^%k
  vini%*%pmtran
}

愛して伝える回数が、1回から15回のケースを計算して、感情が全部伝わっている確率をプロットする。

noftran <- 15
mresult<- apply(matrix(1:noftran, nrow = 1, byrow = TRUE), MARGIN = 2,afterk)
plot(mresult[2^3,], xlab = "伝える回数", ylab = "全部伝わっている確率",type="b")
abline(h=0.95)

y=0.95のところに直線を引いた。11回壊れるほど愛したら、95%以上の確率で全ての感情が伝わっていることが期待できるということだ。こりゃめでたい。

ちなみに、状態を0,1を全ての感情の種類に割り当てたものより、何種類の感情が伝わっているかを表したものの方が、楽に記述できる。結果は変わらない。後の比較のために、y=0.5にも直線を引いた。

afterk <- function(k){
  vini <- numeric(3*1+1)
  vini[1] <- 1  #初期値ベクトル
  mtran <- matrix(c(0,1,0,0,
                    0,1/3,2/3,0,
                    0,0,2/3,1/3,
                    0,0,0,1),
                  nrow = 3+1,byrow = TRUE)    #推移行列
  pmtran <- mtran%^%k
  vini%*%pmtran
}
noftran <- 15
mresult<- apply(matrix(1:noftran, nrow = 1, byrow = TRUE), MARGIN = 2,afterk)
plot(mresult[3+1,], xlab = "伝える回数", ylab = "全部伝わっている確率",type="b")
abline(h=0.95)
abline(h=0.5)

感情には6つの要素があってどれか2つが伝わる場合

感情の要素が3つの場合を考えてきたが、人間の感情はそんなに単純ではない。感情の要素を増やして、感情を複雑にしてみよう。具体的には同じセッティングで感情の要素を6つにして、どれか2つが伝わるとする。同様に関数を作成して、全ての感情が伝わっている確率をプロットする。

afterk <- function(k){
  vini <- numeric(3*2+1)
  vini[1] <- 1  #初期値ベクトル
  mtran <- matrix(c(0,0,choose(6,2),0,0,0,0,
                    0,0,choose(5,1),choose(5,2),0,0,0,
                    0,0,choose(2,2),choose(2,1)*choose(4,1),choose(4,2),0,0,
                    0,0,0,choose(3,2),choose(3,1)*choose(3,1),choose(3,2),0,
                    0,0,0,0,choose(4,2),choose(4,1)*choose(2,1),choose(2,2),
                    0,0,0,0,0,choose(5,2),choose(5,1),
                    0,0,0,0,0,0,choose(6,2)),
                  nrow = 3*2+1,byrow = TRUE)    #推移行列
  mtran <- mtran/choose(6,2)
  pmtran <- mtran%^%k
  vini%*%pmtran
}
noftran <- 15
mresult<- apply(matrix(1:noftran, nrow = 1, byrow = TRUE), MARGIN = 2,afterk)
plot(mresult[3*2+1,], xlab = "伝える回数", ylab = "全部伝わっている確率",type="b")
abline(h=0.95)
abline(h=0.5)

12回壊れるほど愛したら、95%以上の確率で全ての感情が伝わっていることが期待できるということだ。感情が3つのときは11回であったのに比べて必要な回数が増えている。伝える回数の増加に伴う確率の上昇も緩やかになっていることが分かる。これは同じ要素が伝わてしまう確率、つまりダブって伝わる確率が増えているためである。感情の要素をさらに増やしていくと同様のことが確認できる(昔pythonで推移行列を簡単に作成できるコードを書いたのだが、どこかに消えてしまったし、そのアイデアが思い出せないし、すぐに思いつかない。書ける人は書いて確認してほしい。)。このことは、感情が複雑になればなるほど、感情を伝えるのには時間がかかると解釈することができる。

【CONCLUSIONS】

一度壊れるほど愛したとき、1/3の感情が伝わるとして、壊れるほど愛する回数を増やしていくときの、感情の全部が伝わっている確率を計算した結果、感情が複雑になればなるほど、全てを伝えきるのは難しくなるという結論が得られた。

別の応用先としては、ガチャのコンプ問題が考えられる。ガチャの出てくるものが一様の確率で選ばれる復元抽出だった場合、今回のモデルと同様の問題に帰着する。また、以下のような拡張系も予想できる。

伝わる確率が一様だと想定しているが、そうでないケースも考えられる。分布を変えるとどうなるかは今回は試していない。伝わりにくい感情だってあるだろう。また、伝わる確率がそれぞれ独立だということを仮定していたが、あることが伝わっている状態ならば、別のあることは伝わりやすいということや、その逆もありうる。伝えたと思った感情の要素は次は少し弱めにして他の要素が伝わるように工夫することだって考えられる。そういった相関関係や連鎖関係を仮定したモデリングも今回は作っていない。壊れるほど愛することができる関係ならば、相手からのシグナルを受け取ったり、反応を見てみたりしながら、どれが伝わっているかを確認したり、推測したりすることもできるだろう。そんなモデルも考えられる。

今回モデル化したのは、n回伝えた時点での伝わり具合であったが、視点を変えた問題として、全部伝わるまでに何回かかるのかを確率的に考えることができるだろう。おそらく、負の二項分布の拡張になるのだろうと予想しているが、実際にどのような分布になるかは考えていない。

一度壊れるほど愛した場合、壊れるリスクについての検討もしていない。今回は何度壊れるほど愛しても壊れない仮定を置いていた。壊れるリスクを付与したモデルを作っても面白いのかもしれない。

以上挙げたような、拡張可能性を有したモデルであるので、好きに拡張して、壊れるほど愛する際の参考にしてください。

【REFERENCES】

SIAM SHADE1/3の純情な感情
今回の発想の源泉となった曲。聞いたことのない方はぜひ一度聞いてみてください。

「成功裡」という言葉との衝動遊戯

【ABSTRACT】

「成功裡」のような「○○裡」は、"~~ly"という英語もしくはそれに関係する言葉の和訳で造られたものだという仮説の検証を行ったが、筆者の力不足のため完遂はできなかった。

【OBJECTIVE】

「会は成功裡(裏)に終わった。」という文に、自分の日本語感覚は違和を覚える。全く日本語として問題ないのは事実なのだが、「成功裡」という単語がどうも私の日本語感覚にとってみると自然ではないのだ(こういうことは偶に起こる)。過去に一度、この「成功裡」という単語に齟齬を感じたがスルーしていたのだけど、最近、あることが思い浮かんだ。
英訳すると、"The meeting ended successfully."となる。明治時代以降、英語文献の和訳作業の中で、できた言葉なのではないかという仮説に行き着く。つまり、何が言いたいのかというと、successfully = successful + ly = 成功 + ly という式で以て造られた語なのではないかという仮説が浮かんだのだ。lyのところ、裡で上手く意味が合うし、この訳し方、天才では!って自画自賛して和訳した日本人の存在があったのではないか。そういう想像が膨らんだのだ。
秘密裡という言葉もある。これは、secretlyから来ているのではないか。そんなことを思いついたけど、実際のところどうなのだろうか。これを調べていきたい。

【METHODS】

まずは手始めにgoogle大先生にお話しを伺った。しかし、これでは解決しなかったので、ジャパンナレッジで調べてみた。

【RESULTS】

まず、googleで、「成功裡」「成功裡 secretly」「成功裡 語源」などと検索をかけてみたところ、2件の記事が、なるほどと思った。
「成功裏」とは?意味や使い方を解説 | 意味解説

裏 と 裡 : 語句楽散歩
だ。 「裡」には、内側の意味があり、「裡」を「うち」と読むこともあるということが分かった。(後者の記事は、裏原宿を台湾の文章で使うとき、裡原宿と書いていいかどうかという話で、面白かった。)

「裡」という言葉の知識はついたものの、語源は何なのか分からない。せめて初出が日本に西洋文化流入する前であるならば、自分の立てた仮説は否定される。ジャパンナレッジLibを使って、検索をかけて、語源情報もしくは凡例情報を探してみて、関係しているところを以下に、引用する。

3 その状態で。「暗暗裏・成功裏・秘密裏」

"り【裏】[漢字項目]", デジタル大辞泉, JapanKnowledge, https://japanknowledge.com , (参照 2018-11-03)

【二】〔語素〕
状態を表わす漢語に付いて、その状態のうちに物事が行なわれることを表わす。
竹沢先生と云ふ人〔1924〜25〕〈長与善郎〉竹沢先生の人生観・二「真に生きる実践的な力を得、不退の安心裡に住し得る底の現実力となって来なくては嘘だと」
多甚古村〔1939〕〈井伏鱒二〉休日を待つ「隠密裡に調査すべしとの別紙の書類が封入され」

"り【裏・裡】", 日本国語大辞典, JapanKnowledge, https://japanknowledge.com , (参照 2018-11-03)

4 (「裡」とも書く。「…のうちに」の形で)物事の行われる状況を表す。「暗黙の―に理解しあう」「会は成功の―に終わる」

"うち【内】", デジタル大辞泉, JapanKnowledge, https://japanknowledge.com , (参照 2018-11-03)

(13)(「裏」「裡」を訓読したものか。多く「の」を受けて用いられる) 物事の経過する間の状況、環境などを示すのに用いる。終始そのようなさまであるあいだ。「おたがいに暗黙のうちに了解しあった」
*米国及び英国に対する宣戦の詔書‐昭和一六年〔1941〕一二月八日「事態を平和の裡に回復せしめむとし、隠忍久しきに彌(わた)りたるも」

"うち【内】", 日本国語大辞典, JapanKnowledge, https://japanknowledge.com , (参照 2018-11-03)

人の知らないうち。ひそかな状態。内々(ないない)。
*内地雑居未来之夢〔1886〕〈坪内逍遙〉二「皮相論者が下院の勢力を称歎するにも係らず、其実暗々裡(アンアンリ)に、国家の権威を彼貴族輩が握れるならずや」
或る女〔1919〕〈有島武郎〉前・一四「何時でも暗々裡(アンアンリ)に事務長の為めにされてゐるのを意識しない訳には行かなかった」

"あんあん‐り【暗暗裏・暗暗裡】", 日本国語大辞典, JapanKnowledge, https://japanknowledge.com , (参照 2018-11-03)

どの凡例も明治期以降のもので困った。ただ、『日本国語大辞典』の「うち」の説明で、「裡」を訓読して、「(の)うち」にという使われ方が疑われている。もしも、この使い方が西洋文化流入以前の漢文にあるのだとしたら、仮説が否定されてくれるのだが、これ以上の調査はできなかった。

【CONCLUSIONS】

「○○裡」は、"~~ly"という英語もしくはそれに関係する言葉の和訳で造られたものだという仮説は否定できなかった。こういう文献調査・言葉の調査のような訓練を受けたのは大学の教養の講義くらいで、この方面では私は力不足だと感じた。誰か、この仮説の検証を引き継いでいただける方がいれば、ぜひ引き継いで検証していただきたい。
(あと、ジャパンナレッジすごい。)

【REFERENCES】

【RESULTS】にて、それぞれ記載しているので、今回は省略させていただきます。