Edited at

愛はたまたま生まれたのか?誰かの陰謀なのか?

More than 3 years have passed since last update.


TLDR

たまたまです。私は、なるべくしてなったのだと信じたい!

プログラムを作って検証しました。

愛以外の漢字についてもパターンを作成することができます。


概要

愛が生まれた, なんで愛が生まれるのか がトレンドなので



'生' & '死' = '愛'



これがたまたまなのを検証する。


検証1 : Unicode の順番

Unicodeでは、漢字はどのような順番なのか?


UnicodeのCJK統合漢字は、概ね部首順(部首内は画数順)に並んでいます。


cf. http://www.asahi-net.or.jp/~ax2s-kmtn/ref/unicode/cjku_radical.html

'生', '死', '愛' を参照してみると、部首通りに並んでいた。

i.e. 陰謀ではない


検証2 : 逆算ができない

そもそも、bit演算であるため、逆算ができない。

i.e. '愛'と'死'からは、'生'は導きだせない。

では、'愛'を作るパターンは他にもあるのでは?


検証3 : '愛'を作るパターンは?

プログラムを書いてみた。

実行はこちらPaiza.IO

# coding: utf-8

import operator

# 任意の漢字で
kanji = '愛'
# __and__ を__or__, __xor__に変更可
bit_operation = operator.__and__

def f(word, bit_pattern, obj1='', obj2=''):
if(len(word) == len(obj1)):
# 終端処理
return [(obj1, obj2)] if not(word == obj1 == obj2) else []
else:
use_pattern = bit_pattern[int(word[len(obj1)])]
# flatMap化
return [tup for i, j in use_pattern
for tup in f(word, bit_pattern, obj1 + str(i), obj2 + str(j))]

bits = (1, 0)
# 論理演算の結果から引く辞書を作成する。dict(結果:[パターン])
bit_pattern = {bit:
[pattern
for ans, pattern in
((bit_operation(x,y), (x,y)) for x in bits
for y in bits)
if ans == bit]
for bit in bits}

kanji_bit = bin(ord('愛'))
# 漢字の範囲でfiltering
result = filter(lambda x:
int('4E00', 16) <= int(kanji_bit[:2]+x[0],2) <= int('9FFF', 16) and int('4E00', 16) <= int(kanji_bit[:2]+x[1],2) <= int('9FFF', 16),
f(kanji_bit[2:], bit_pattern))
result = list(
map(lambda x:(chr(int(kanji_bit[:2]+x[0],2)), chr(int(kanji_bit[:2]+x[1],2))),
result))
print("'"+kanji+"' を作り得るパターン数", end=" : ")
print(len(result))
print("漢字一覧", end="\n")
print({y for x in result for y in x})


結果

'愛'を作るパターン : 6560

使われうる漢字数 : 256

{'榟', '疛', '愛', '浟', '篛', '涿', '羻', '禛', '斻', '礟', '熿', '欛', '涟', '漿', '焛', '柿', '敟', '焻', '祻', '綛', '殟', '椻', '緟', '毿', '愻', '掛', '罟', '捿', '攛', '箛', '矛', '朻', '換', '箿', '楛', '淟', '甿', '濛', '移', '眻', '眛', '歿', '祿', '椿', '挻', '紿', '懻', '翿', '生', '懟', '翛', '欟', '涛', '熻', '憿', '掟', '羿', '缛', '猻', '畟', '添', '煻', '翟', '甛', '猿', '挟', '敻', '猟', '燻', '淿', '枻', '煟', '朿', '禿', '礿', '痟', '潻', '潿', '敿', '猛', '燛', '掻', '畛', '槟', '絿', '浿', '獿', '珛', '睻', '疿', '枟', '枿', '珻', '缟', '椛', '死', '羟', '歟', '槛', '羛', '紛', '絛', '掿', '租', '獻', '榻', '秿', '旟', '瞻', '笿', '緻', '筻', '杛', '礻', '涻', '柟', '焿', '画', '柛', '损', '篿', '离', '椟', '淛', '澿', '珿', '槿', '笻', '浻', '感', '挿', '慿', '欿', '旿', '歛', '絻', '禟', '翻', '煛', '矟', '熟', '毟', '濟', '憟', '憻', '緿', '疟', '營', '燿', '篟', '瞟', '祛', '旛', '睟', '睿', '紟', '槻', '殿', '捛', '玿', '濻', '痿', '痻', '眿', '殻', '緛', '獛', '捻', '榛', '篻', '慟', '榿', '毛', '楻', '真', '煿', '缿', '玛', '綟', '旻', '罿', '絟', '秛', '攟', '矻', '浛', '疻', '缻', '挛', '罻', '笛', '畿', '漛', '杻', '懿', '楟', '瞛', '礛', '揿', '筛', '揟', '活', '枛', '珟', '筿', '痛', '玟', '毻', '焟', '綿', '束', '笟', '楿', '政', '望', '熛', '板', '綻', '筟', '懛', '獟', '斛', '欻', '畻', '箟', '洟', '澟', '澻', '祟', '玻', '澛', '濿', '瞿', '慻', '査', '斟', '潟', '慛', '揻', '斿', '漟', '攻', '洿', '期', '洛', '憛', '潛', '殛', '紻', '愿', '漻', '罛', '矿', '睛', '敛', '箻'}

作られるパターンは多いが、この中で関連あるペアのパターンはあるのか?


まとめ

作られるパターンは多いが、この中で関連あるペアのパターンはあるのか?

i.e.

存在することが非常に稀ではないか

'生'&'死'='愛'はたまたま

しかし、生・死・愛は関連が非常に強い単語のように思える。

なるべくしてなったのではないか?


蛇足 : 他の漢字は?

作成したプログラムで他の漢字についてもいじれます。

また、and だけではなく、or、xor についても行えます。

(xorは漢字限定では結果が出ません漢字が4E00~9FFFのため、一桁目で漢字と漢字以外の組み合わせになるため)

いろいろ試行してください。


Link

生死から愛が生まれるとき教科書から恐が生まれる

愛を生む二人を探して