好奇心の横断歩道を創る!

自分の思考をラバーダック・デバッグするためのブログ

クリティカルシンキング チェックリスト

タイトル通り、チェックリストです。私自身への問いかけを意識して書いているので、(言い換えると、「こんなのあったらいいな」を形にしただけなので)万人向けの代物ではないとおもいます。あとどうでもいいけど、アイディアマンには格言好きな人が多いらしい。本記事と類似の記事として、事実を直視する覚悟はあるか?:認知バイアスを回避したい我々への提案もあります。ご興味あればどうぞ。

ではでは。

 

 

 

 

☑知っていることと理解していることを区別する

何度も同じ情報に触れていると、それを理解した気になるものです。ですが、自分の頭で考えて解釈しなければ、理解することはできません。理解することができなければ、説明できないし、予測もできません。

 

☑相関と因果を区別する

何かを理解するということは、因果関係を説明できるということでもあります。「どんな物事にも因果関係がある」と錯覚するバイアスにとらわれていないか注意しながら、因果関係の説明を試みましょう。因果関係を説明できることが理想ですが、相関関係しかわからないなら、はっきりそれを認めましょう。

「理屈と膏薬はどこにでもくっつく」

 

☑前提を意識化し、疑問視する

科学の偉大な発見は、たいていこれが出発点ですよね。別に科学者ではなくても、真実に近づきたい我々に必要な感覚です。言葉の定義の確認も、この項目に含まれます。

「論拠やデータ自体が誤っていたら、それを前提としている論理も間違い」

 

☑疑問と目的を明確化し、意識し続ける

いますよね、何を聞きたいのか分からない質問をする人。それじゃ困ります。何を調べればいいのか、何を考えればいいのかわかりません。そして、疑問はしつこく意識し続ける必要があります。情報あふれる現代においては、すぐに気が散ってほかのことに意識が持っていかれるので。私は「先に解決したい疑問をメモしておいて、その上で本やウェブで調べる」というのをよくやります。ほかのことが気になったら、それをまたメモして、後で調べます。

定義し、細分化し、相対化すれば、世界が見えてくる。

 

☑何に疑問を持つかがその疑問の答えよりも重要だ。と心得る

何に疑問を持つかは、思考の方向を決める作業です。思考の方向を決めるということは、何を前提として受け入れ、何がわからないかを明確化し、何を知りたいのかを決めるということです。求めている答えが右にあるのに左にサーチライトを当てても、意味がありません。

「一番大きな問題は、たいていの失敗は手遅れになるまで気づかないということだ」

 

 

☑「分からない」と「あり得ない」を混同しやすいことに注意する

人は、自分で考えないために最大限努力する生き物です。理解が及ばないものに対して「ありえない」と一蹴したくなるのは当然です。たいていの場合は「ありえない」という感想が的を得ているのかもしれませんが、常に「ありえない」とは限りません。

「反対派が死に絶えた後に、その真理になじみを感じる新しい世代が育ってきて、ようやく認められる。」

「彼の書いた本は独創的で面白い。ただし、独創的な部分は面白くないし、面白い部分は独創性がない。」

「愚か者はすぐに否定する。理解が及ばないから否定しかできないのだ。」

 

 

☑誰が何のために提供した情報なのか考る

マスメディアやほとんどのSNSでは、検閲済みの情報ばかりが出回ります。運営する団体にはその団体特有の道徳観があって当たり前だからです。発現する人には必ず何かしらの意図があります。情報が提供された理由をできるだけ把握するべきです。

金の流れを追うなど、人の意図を探るのに有効な手段がないか、考えてみるとよいかもしれません。また、人の行動や発言は、その人自身の社会的立場や思想や宗教に強く影響を受けるので、情報の発信減の意図を探るためにそのような背景を気にするのも良い傾向です。人事の確認も有効かもしれません。

「私たちが大衆に見せるものがすなわち現実だ。彼らはそれしか知らないし、知る必要もない。彼らに見せなければ、それは存在しないことになるのだ。」

「経済学を学ぶ理由は経済学者に騙されないためです」

 

☑文脈の前後関係を確認する

マスメディアがよくやる編集型のウソ(悪意の有無にかかわらず)を信じ込まないために、前後関係を確認しておくべきです。また、あらゆる出来事には歴史があり、その歴史の流れを知っておくことで初めて気付く解釈も存在します。

 

☑情報の信頼度を評価し、評価方法を吟味する

素人の意見より専門家の意見、専門家の意見より研究論文。どの情報がどの程度確からしいかを評価するフレームワークが必要です。

 

☑できるだけ定量的に理解し、説明する

数字は偉大な発明です。抽象的な議論を具体的にするためにとても便利です。ぜひ積極的に使いましょう。と言いつつこの記事では全く使わないという。私の力不足です。

数字がなければ、世界は理解できない。でも、数字だけでは世界はわからない。

 

☑因果関係が説明できたとしても、説明できること自体は因果関係の証明にはならない

人は「説明の中に潜む間違っている点」を発見するのがとても苦手です(ただし天才を除く?)。だからこそ、科学は実験による裏付けを重視するのです。あなたが観測した現象を自分なりに説明できたとして、それがどれだけ用心深く考えた結果であっても、正しさの証明にはなりません。複数のルートでそれを説明し、その説明を比較検討できる状態が理想です。

 

☑様々な手段や選択肢を試みる

行き詰ったときに特に有効な考え方ですね。選択肢を思いつかないことが、しばしばネックになるのですが。。。。

「同じことを繰り返しながら違う結果を望むこと、それを狂気という。」

「ハンマーしか持っていなかったら、なんでも釘に見える」

 

☑幅広く関連分野に興味を持つ

思考に行き詰った時、それを突破するために必要なのは、多くの場合は同じ分野を深堀することではなく、近い分野の知識だったりします。専門バカは、専門分野ではだれにも負けないかもしれませんが、研究者ではない我々にとっての多くの問題解決の場面で、専門知識はたいてい役に立ちません。

「人間のやりたいことって想像力によって制限されてると思うんです」

 

過学習の可能性は常にある

ルールに従う事象うち、ごく少数の事象を繰り返し学習する。そうすると、ルールに従う他の事象を後で知っても、ルールを見抜けなくなるものです。馴染みのある方法で(たとえ矛盾があってもそれに気づかずに)説明してしまうためです。

「成功した人たちは、ある分野で得た知識を別の分野に応用するのが上手く、また、「認知的定着」を避けるのも上手だった。」

 

☑多重人格の視点で自問自答する

思考を深める良い方法の一つは、質疑応答です。質問するとき、何がわかっていて何がわかっていないのかを気付くことができます。 質問に答えるときも同様です。そして、いつでも、どこでも、無料でできる質疑応答は、自問自答です。

自問自答のコツの一つが、質問の形式を多様にすることです。共通点は何か?具体例は何か?5W1Hよりもさらに多様な質問を自分に投げかけるとよいでしょう。

ちなみに5W1Hは、

なに、いつ、どこで、どのように、だれが で具体化

なぜ で抽象化

に思考を誘導できます。

 

☑必ず複数の立場の意見を参考にする。必ず

マスメディアも検索エンジンも、学界から井戸端会議まで、我々が仕入れることができる情報は必ず偏っています。漫然と調べていれば、必ず自分も偏ります。

「予想というのは普通、将来のことよりも予測者自身のことを詳しく語っているものです。」

 

☑どんなことでも、結論は敢えて出さない

新しい情報は必ず出てきます。人は必ず間違います。自分の意見をいつでも変えることができるように、その問題を考え続けるために、結論は敢えて出さないでおくとよいでしょう。

「結論は、考え疲れた時に至る場所である」

「複雑な問題には、必ず、明解で、単純で、間違った答えがある。」

 

☑他の人が諦めても、答えを探し続ける

ほぼすべての人たちは、「できるだけ考えないこと」をモットーに生きています。すべての人は、与えられた情報に対して、少なくとも一度は、昆虫的に反射反応しています。IQが高くても関係ありません。情報を与える人たちの思惑通りに洗脳され、それが自身の不利益になったとしても、洗脳されたことに気づけないものです。(私は、どうせ洗脳されるなら有益な方向に、幸せになるように洗脳してほしいです。)ですから、事実を見つけることを大事だと思うなら、他人が考えることをやめても、自分で考え続けるべきです。

「自分の頭でものを考え続けるということは、一人で世界に立ち向かう孤独に耐えることでもある。それは、とてもつらいことだ。」

「世論を信じる者は、自分で目を隠し、自分で耳に栓をしている」

 

☑最後に、自分の判断に自信を持て

クリティカルシンキングする人は、その人自身が批判的に評価されるものです。議論することのできない他人からの攻撃に負けず、行動し続けるために、自分の判断に自信を持ちましょう。そして、判断は結論ではありませんから、常に判断を変えることができる勇気を持ちましょう。

結論は出さず、常に立場を変える勇気を持ち、自身の判断には自信を持つ。難しいことですし、たいていはしんどいですが、クリティカルシンキングを大事だと思うなら、頑張りたいものです。

「常識の最大の問題点は、ほとんどの人がアホだということだ」

「虚偽がまかり通る時代には、真実を語ることは革命的行為である」

 

「ガウス関数でピークフィッティングするのはなぜなのか」を感覚的に解釈。

参考程度に読んでください。自分がどこまで理解しているかを把握するために書いてる部分が大きいです。

物理現象の観測のスペクトルのピークをガウス関数でフィッティングするのはなぜ?

ガウス関数でフィッティングするとき、その理由は次の2つだと思います(責任を持てません)。

①, 実際の物理がガウス分布で表現できる場合

②, 吸光度のスペクトルなど、観測対象の物理現象自体は幅を持たないはずなのにガウス分布で観測される場合

今回の記事で言及するのは②の方です。実際に発生しているのはδ関数的な事象のはずなのに、なぜ幅を持って観測され、それがガウス関数の形をしているのか。 それは、実際の現象に計測機器による測定誤差を織り込んで考えるからです。

測定誤差はなぜガウス分布なの?

知りません。ただ、誤差分布といえば大抵ガウス分布と思って問題ありません(私的な経験則)し、誤差分布とはたいていガウス分布だと聞きます。また、誤差の原因が複数あって何重にも重なった誤差であっても、すべての段階の誤差分布がガウス分布であれば、最終的な誤差もガウス分布として考えることができます。(詳しくは後述)

測定誤差を含む観測結果を、誤差分布と真実の分布を使って表す数学

畳み込み積分を使えばよいのです。(そしてそれは、誤差分布がガウス分布でなくても同じこと。)

どういう意味か直観的にとらえるために、実際の物理現象がデルタ関数、誤差分布がガウス分布のときを考えます。

まず、物理現象としてディラックのデルタ関数を採用します。電子状態の緩和によるエネルギー放出など、とびとびの値をとる物理現象を想定しています。

次に確率分布ですが、確率分布を表すためには積分をとった時に1になる必要があります。また、簡単のために、観測される誤差が観測誤差0を中心に分布すると仮定します(中心が0にならない観測も中にはあるはず)。上記のように、誤差分布はガウス関数で表されることを経験的に知っているので、誤差分布にガウス幅σで中心が0の規格化されたガウス分布関数をそれぞれ採用します。

f:id:rokaboNatttsu:20191128221017p:plain
半値幅σ、中心0、規格化されたガウス関数

f:id:rokaboNatttsu:20191128202538p:plain
ディラックデルタ関数

ガウス分布の幅は半値幅と同じスケールです(数学屋さんにはボコられそうですが)。下にガウス幅1,中心が0で規格化されたガウス関数のグラフを示します。

f:id:rokaboNatttsu:20191128210423p:plain
ガウス幅1のガウス関数

さて、このときデルタ関数ガウス関数畳み込み積分するとどうなるのか。ディラックデルタの定義に従って考えれば、畳み込み積分の結果もまたガウス関数になることがわかります。*1それも、誤差分布として定義したガウス関数そのものなのです。

f:id:rokaboNatttsu:20191128220650p:plain
関数f,gの畳み込み積分の定義
f:id:rokaboNatttsu:20191128222854p:plain
デルタ関数ガウス関数で畳み込み積分
つまり、厳密に一つの値を持つ物理量を十分な回数繰り返し計測したとき、その計測結果はガウス分布に従うはずだということです。

同様に、観測される物理量が幅を持つ分布でも(そういうときの方が多いですが)、計測誤差を含む観測結果は、実際の物理量とガウス分布の畳み込み積分で表現できます。

例えばこんな分布をする物理現象を観測することにします。

f:id:rokaboNatttsu:20191128214807p:plain
物理現象Xが示す分布
ここに次のようなガウス関数を誤差分布として、
f:id:rokaboNatttsu:20191128214954p:plain
誤差分布を示すガウス分布関数
畳み込み積分すると、こんな分布になります。
f:id:rokaboNatttsu:20191128215909p:plain
物理現象と計測誤差の畳み込み積分

ちなみに、ガウス分布ガウス分布の誤差で畳み込み積分すると、その結果もガウス分布になります。 qiita.com こちらを参照してください。

全てのピークで、誤差分布のガウス幅は(基本的に)一定です

高いピークだからガウス幅が大きくなるなどといった、そんなことは基本的にはありません。

①測定機器の性能による理由

②横軸対数でプロットする

③物理現象そのものが幅を持って分布をしている

などの場合を除き、どこのピークもガウス幅は多くの場合一定です。理由?知るかそんなもん!

あとがき

人生初のMarkdownによる記事(ただし数式とグラフは画像をキャプチャ。調べてみたけど上手くいかなかったんだもの)だったことを、自分の心の中だけで記念しつつ。またいつか。

*1:分からない方は各自調べてください。

”鈍すぎる人たちに囲まれて繊細な感性を持て余している人”のためのアニメを一覧したい

繊細な方たちは、鈍感な人と比べてよく感じ、よく思いつき、よく考えるように見えます(主観)。そこで、そんな人たちがどんなアニメを好きになりそうか想像しつつ(超主観)、その結果を列挙していきます。私自身、比較的感じやすい性質なので、あながち間違ってないんじゃないかなぁ(ハイパー主観インフレ)。

 

タイトルを見てピンときた方は、おそらくこの記事が想定している方々です。アニメとの素敵な出会いの助けになれば幸いです。

なお、以下に挙げるタイトルは、自分が一通り鑑賞したことがあるものに限ります。あにこれβというサービスで高得点な順番(本記事アップ時)に並べました。あにこれβによる採点結果と、何かあれば感想を書いていきます。ネタバレは多少ありますが、作品鑑賞に支障をきたすレベルではありません。

 

それでは。

 

 

魔法少女まどか☆マギカ

あにこれβの採点:90.8

絵がきつくて生理的に無理とか、そういう的外れな理由で観ないという選択肢は、この作品では許されません。実刑判決が下されます。シャフト制作。最後まで見てもいまいち分からなかった際は、公式キメ台詞「わけがわからないよ」を使うことが推奨されています。もちろんウソです。やや哲学的かつ男性向けの内容なのかな。個人的には激情版の方が一層好みでした。

 

 

氷菓

あにこれβの採点:90.2

学園モノ、ミステリー、日常系?です。何から何までレベルが高い。さすが京都アニメーションといったところでしょうか。心理描写が緻密です。ちゃんと観ないと気が付かない。人のどす黒い感情をしっかり見せつつ、口当たりはまるでアイスクリーム(そういう意味の”氷菓”ではありませんが)。「データベースは、結論を出せないんだ」に込められた感情に心当たりがある方も多いはず。「私、気になります!」はそうでもないかな。彼女はたぶん、何かしらの病気です(笑)。日常の中の謎や、二度三度ひっくり返される快感が好みなら、ぜひどうぞ。

 

 

ゆるキャン△

あにこれβの採点:87.8

キャンプでほのぼのな”きらら系”。主人公のリンちゃんのソロキャン好き、友達のなでしこのうっとうしさを華麗にかわす姿、なんだかんだで心を開いて仲良くなる感じ。微笑ましいような羨ましいような。※注意:シーズンオフのソロキャンを実写化すると、レベル90以下の方は決してほのぼのできません。(当方調べ)

 

 

ARIA The ANIMATION

あにこれβの採点:87.2

ゆるーい雰囲気アニメ。セロトニン(時々オキシトシン)系の多幸感アニメです。ほっこりしたい、癒されたい方へ。うつ病の治療ができそうなレベル。この作品に関しては、ストーリーとかどうでもよいのです。

 

 

聲の形

あにこれβの採点:85.7

これに関しては原作の方が好みなのですが。主にえげつなさが。序盤のいじめ描写がやたらリアルとか、皆のわだかまりを最後まで無かった事にしないとか。映画では、京アニの山田監督らしく(?)登場人物を全肯定するスタンスが感じられるかと。登場人物ほとんどを嫌いなのに結構感動した。不思議だーこれを恋愛映画だというのは浅はかすぎると主張したい。

 

 

⑥さよならの朝に約束の花を飾ろう

あにこれβの採点:85.2

岡田真理監督の感性の鋭さが存分に生かされています。分類するなど恐れ多いのですが、あえてするなら親子愛についてなのかな。感動系。P.A.works。説明的なセリフとか、ほとんどありません。場面場面を切り取って、それでおしまいなので、話を追うのが難しい人もいるかも。ただ、説明しないスタイルにも理由があります。想像力豊かな方ほど感動するのではないでしょうか。親子関係が悪くなければ。

 

 

言の葉の庭

あにこれβの採点:83.2

この作品の主人公は「雨」です。お天気の雨です。甘くはありません。45分程度の短編映画だったと記憶していますが、リアルな世界よりはるかに美しい画面に息を飲みますから、体感としては5分程度です。それはさすがにあり得ない?いえいえ、世界5分前仮説という最終兵器を使えば矛盾はありません。

ごめんなさい。ふざけすぎました。いたるところにメタファーをぶち込んできます。それを拾える感性があれば、きっと感動します。最後の二人のシャウト、大好きです。新海誠

 

 

輪るピングドラム

あにこれβの採点:81.6

演出などの癖が強いので、見る人を選びます。ビッグファイブでいうところの開放性が高い人向けかと。ハケンアニメのモデルと噂の幾原邦彦監督です。彼の感性の鋭さと洞察の深さは、異常です。オウム真理教などの危険カルトに対する考察としても、かなり的を射ている気がします。大雑把なマスメディアが言っているほど、物事は単純じゃないんだよ、すべてつながっているんだよ、と。「愛してる」とは何なのか、私はこれを見て学びなおしました。PVだけ見るとつまらなそうだったのが懐かしい。

 

 

ReLIFE

あにこれβの採点:81.0

コミュ障あるあるをぶち込みつつ、切ない恋愛もの。主要な登場人物がみんな魅力的でやさしい世界なので、よいのではないでしょうか。

 

 

リズと青い鳥

あにこれβの採点:81.0

ガラス越しのごとき透明感ある画面がとても綺麗です。感情表現、心理描写、マジすげぇ(語彙力)。気持ちの動きを表現することだけのに特化した感じ。ここまで丁寧に描かれた作品を私はほかに知りません。みぞれ覚醒後のオーボエソロ、繊細な心を明るいふるまいでマスクし続けための希美のため息、圧巻でした。音周りがファンタスティックなので、映画館で見ることができない今、静かな部屋でヘッドホンして鑑賞したいものです。できることならな!(泣)

京アニ山田尚子監督。

 

 

⑪色づく世界の明日から

あにこれβの採点:80.5

PVが一番好きでした。本編よりも。面白くなかったわけではありませんよ。私も世界から色を失った経験があります。彼女ほど恵まれた友人関係を作れる人は少ないんですけどね。ファンタジーだからOK!

背景きれーだなー。P.A.works

 

 

魔法使いの嫁

あにこれβの採点:75.5

”鈍感な世界を生きる敏感な人たち”の為のアニメの代表格です。(もちろん某書籍のタイトルのパクりです。ごめんなさい。あまりに素敵な言い回しだったのでつい。)

「そうそう、孤独感ってそんな感じだよね~」だったり、「チセ好き!結婚して!」だったりでした。魔法なファンタジー。天才的な演技とラジオなどの独特な語り口でおなじみ、チセ役の種崎さんも、敏感な方なのかな?と勝手に思っております。原作ヤマザキコレさんは、間違いなくハイセンシティブです。

 

 

サクラダリセット

あにこれβの採点:72.9

見る人を選びます。潔癖かつ繊細な人の気持ちがわかる方のみ楽しめます。会話劇、無表情+感情的な声、緻密なストーリー。登場人物の特殊能力を組み合わせることで物語が動いていきます。すばらしい。相馬菫ファンは、終始、切ない気分を持て余すのではないでしょうか。中高生の会話じゃないんだよなぁ(べた褒め)。

 

 

以下簡略。

⑭さらざんまい

あにこれβの採点:70.1

思い出のマーニー

あにこれβの採点:66.5

ユリ熊嵐

あにこれβの採点:62.3

 

 

 

 

以上!たったこれだけ書くのに3時間半かかってる。恨めしや~。

 

またいつか。

PythonでできてCythonでできなかった表記方法2つ

 

実行環境は、
・Windows10
・Python3.7.3
・Cython0.29.6
AnacondaでインストールしたJupyter-Notebook上で実行

 

 

PythonでできてCythonでできなかった表記①
N**(-n)は使えない (nは1以上の整数)

Pythonでいう

a = 10**(-2) # a == 0.01
b = 10**(-5) # b == 0.00001

をCythonで実行しようとして

cdef double a = 10**(-2) # a == 0.0
cdef double b
b = 10**(-5) # b == 0.0

 のように書いたところ、a, b ともに0.0が代入されている。どうやら
10**(-n) という書き方を、Cythonは受け付けてくれないらしい。

つまり、こう書けということ。

cdef double c = 0.01, d  # c == 0.01
d = 0.00001 # d == 0.00001

0であってはならない変数が0だったら、これを疑うのもアリ。自分はこれに気づかず、whileの無限ループにはまりました。


 

PythonでできてCythonでできなかった表記②
X, Y = A, B は使えない

Pythonでいう

x, y, z = 0, 0, 0    # x == y == z == 0

をCythonで書こうとして、

cdef double x, y, z
x, y, z = 0.0, 0.0, 0.0    # コンパイルエラーが発生。 もちろん、int でもダメ。

 とすると、コンパイルエラーが発生。C/C++でこういうタプルな書き方は、(少なくとも自分の知識の範囲では)できないから、そういうことと関係するのかもしれないと思う。
改めて書くまでもないかもしれないが、正しくは

cdef double x = 0.0, y = 0.0, z = 0.0   # x == 0.0, y == 0.0, z == 0.0

のように書けばよい。
なお、Cythonでタプルを扱うことは可能らしい。少し調べてみたところ、慣れてないと難しい書き方のようだ。

 

今回は以上。それではまたいつか。

良いチーム作りのアイデア。

昔書いた記事に追加。2019/08/07

理想のチームのつくりかたの具体的な方法をほかにも追加。

 

他人を尊重できないなら出ていけ が、心理的安全性を担保するのによい手法。かの有名なGoogleの研究である、高い生産性を誇るチームの特徴の筆頭が、この心理的安全性。

 

www.youtube.com

 

それから、大きな組織だと特に、メンバー全員に「仕事上での馬鹿げた慣習を教えてください」って無記名で意見を促すとかもいいかと。アンチ・サボタージュ・マニュアル という本にそんなことが書いてあった。「手続きが助長すぎて、官僚的で意思決定が遅すぎる集団」にしないための方法だ。

 

 

 

Windows10+Anaconda+Vusual Studio 2019で、Jupyter上でCythonを使えましたという。2019/07/17

最近第2版が出たIPythonデータサイエンスクックブックの第1版を使ってCythonを勉強している。化学物理系なもんで、時々関数電卓の拡張版みたいにPythonを使うのですが、最近ちょっと、Pythonの速度の遅さにうんざりしていたところ。

 

2,3か月前にもCythonを使える環境を作ろうとして失敗、挫折したのですが、時間がちょっとできたので再チャレンジ。

そして、当時は悪戦苦闘した末に失敗したのですが、今回はJupyter上でCythonが実行できたので、ちょっとうれしくて記録。毎年7月17日はCython記念日としてお祭りせねば。ちょっといじっただけで40倍速になったり。凄まじい威力。頑張った甲斐があったなぁ。

 

 

Windows10でCythonが使えるようになるまで。

Cythonが使える環境をつくるまでに、具体的に何をしたのか。タイトルに書いたそのまんまなんだけど、

 

使ってるノートPCのOSはWindows10で、

①AnacondaでPython環境をつくる。conda install cython をAnaconda Powershell Promptで実行してCythonをインストール。

Visual Studio 2019で”C++でデスクトップ開発”的な選択肢をインストール。

③Jupyterで.ipynbのファイルを開く。最初のセルで、%load_ext cythonmagic を実行。次のセルの一行目で、%%Cython として、その後に続けてCythonコードを書きこみ。これでCythonが実行できた。

 

AnacondaやVisual Studio 2019のインストール方法はとても分かり易い紹介記事が沢山ヒットしたので、特に困りませんでした。ありがたいです。

なお、AnacondaとVisual Studio 2019 は、ともに2019/07/17時点のものをインストールして使っているので、それ以外だと再現性はないかも。エンジニアじゃないし、その手の勉強したことがないのでわからん。

 

 

長い蛇足

IPythonデータサイエンスクックブック第2版は、お金をためてから買いますよ。かなり良い本だと思う。大学図書館に第1版があったので、完全無料で使わせてもらっておりますのです。ありがたい。

 

あと、上に書いてきたこととまったく、ほとんど全く関係ないのだけど、書きたくなったから書いておく。

大学で量子力学を勉強した自分としては、量子コンピュータに興味があるのですよ。自然のシミュレーションは自然の性質そのものを利用してっと。日本のお家芸?の材料系や薬剤系の分野でも、強力な道具になるかもしれません。分子構造を計算するには、波動関数シュレディンガー方程式とお付き合いすることになるのですが、これが量子コンピュータととても相性が良いかもしれないのです。

 

ではまたいつか。

conda update --all に端を発したトラブル。解決法がわからず、結局Anacondaを再インストール。

この記事の続き。

Anaconda powershell prompt から、Pythonファイルを実行できないという問題も発生(condaでインストールしてるはずのパッケージ、NumpyやPnadasが使えなかったりする)。

Anacondaをアンインストール(”すべてのプログラム”から右クリックでファイルの場所を開き、削除。また、ピン止めしていたのも削除)し、その後、再インストール。

 

その結果、Anaconda PromptとSpyderがもとのアイコンで復活。無事解決。

 

今回の教訓。
conda update --all
は危険なコマンドかもしれない。パッケージのアップデートは依存関係を調べながら慎重に、と言いたいところだけど、condaパッケージの依存関係の調べ方がわからぬ。ちょっとだけググっただけではかすりもしなかった。カナシンス。

 

ではまたいつか。

AnacondaのパッケージをアップデートしたらAnaconda Promptに異変。その後AnacondaそのものをアップデートするとSpyderに異変(こっちは一部解決)。

2019/07/17 に起こった出来事。

Windows10。

 

起こった不具合の要約

AnacondaのパッケージをアップデートしたらAnaconda Promptのアイコン(タスクバーにピン止めしているもの)が、白いテキストになった。そして、Anaconda Powershell Promptになってた。スタートの”すべてのアプリ”からAnaconda Promptが消えた(検索しても見つからず)。

その後Anacondaそのものをアップデートすると”すべてのアプリ”のSpyderのアイコンが白のテキストになってた。スタート画面にピン止めしていたSpyderのアイコンは変化なし。どちらのSpyderアイコンをクリックして開こうとしても、どちらも開けない。

 

具体的な行動とその結果の記録

Anacondaのパッケージを全てアップデートしようとして、

conda uppdate --all
をした。

すると、タスクバーにピン止めしていたAnaconda prompt が Anaconda Powershell Promptになっていて、(もとは黒くて四角いマークの)アイコンが白いテキストになってた。しかも、CortanaでAnaconda Promptを検索しても出てこない。

 

Anacondaそのものをアップデートすれば解決するかもと思い、アイコンが白のテキストになったAnaconda Powershell Promptで、
conda update -n base conda
を実行。ポップアップ(提供元Python)が出てくる(2回)。ともに承認。


今度は、スタートの”すべてのプログラム”のSpyderまでも、アイコンが白いテキストになって、Spyderが開かなくなった。スタート画面にピン止めしていたSpyderのアイコンは変化なし。どちらのSpyderアイコンをクリックして開こうとしても、どちらも開けない。

 

どうすればいいかわからなかったが、とりあえずAnaconda Navigatorを開いた。

Anaconda Navigatorを開いたところ、Spyderの install ボタン(緑の字)がある。Spyderがインストールされていないことになっているらしい。そこで、Spyderをinstallした(緑のinstallボタンをクリック)。ポップアップ(提供元Python)を承認。

 

その結果、Spyderは使えるようになった。"すべてのプログラム"のアイコンは白いテキストのまま。

 

そこで今度は、
https://ameblo.jp/m37ri-kat23/entry-12447636962.html
に書いてある手順を実行。しかし、何も変化なし。

 

 

 

 

 

あとがき。

行動記録は以上。

 

Anacondaをアンインストールして再インストールするという方法以外に、Anaconda Promptを元に戻し、Spyderのアイコンを戻す方法が思いつかない。アンインストールと再インストールは試していない。

 

何か良い方法が分かればもう一度記事を書く予定。

 

 

またいつか。

 

2019/07/17追記

続きはここ

SymPyで、変数を含む行列式の計算方法をメモ

変数を含む行列式の計算をしたかった。ただ、やり方がわからず。

ググってもドンピシャな内容が見つからず、結局10分くらいかかってしまった。この記事を書ききるのにかかるのは大体15分だ。またいつか複数回にわたって同じことを調べそうなので、書いておく方が良いと判断し、メモ。

 

数値だけの行列式はNumPyで計算している。ただ、Numpyでは変数も含めた行列式の展開ができない。おそらくできない。

3×3までは簡単な手計算も、4×4からは途端に面倒になる。関数電卓をちょっと触った感じだと、無理そうだったし(数値だけならできる)、かと言って、金持ちじゃないからMathematicaを使うわけにもいかない。そこで登場するわれらがヒーローSymPy。

今回は、4×4の行列式

 

かっこよくコードを張り付ける方法がわからないので、こんな形になってしまいましたが。これがコード。

from sympy import *

x = symbols('x') # 変数xを定義

A = Matrix( ([x, 1, 0, 0], [1, x, 1, 0], [0, 1, x, 1], [0, 0, 1, x]) ) # 行列式Aを定義

print(A.det()) # 行列式の実行 .det() で行列式の計算が実行できる

 

 内容は以上。

ではまたいつか。

プラットフォーマーはいつの時代も存在し、いつの時代も強かったですよね という話。

GAFAじゃないけど、プラットフォーマーが強いっていうのをよく聞きますよね。少なくとも自分はよく目にする文句なのです。ただ、プラットフォーマーが強いのは何も今に始まったことではないはずなんですよね。確かに、コンピュータをガンガン使ってネット上でサービスを提供するプラットフォーマーが出てきたのは比較的最近ですが、プラットフォームという発想自体はずいぶん昔からあります。気づいてました?

 

といっても、言葉の定義をしておかないとちぐはぐですから、今回のこの記事におけるプラットフォーマーとは、こちらの説明によって定義されるものとします。

プラットフォーマーとは何? Weblio辞書

 

 

プラットフォームは昔から存在したといってもピンとこない方もいらっしゃるはずです。かつての私自身がそうでした。ですから、例を挙げましょう。

 

例1:楽市・楽座

例えば、日本史の教科書の定番の一つである城下町、その中でも今回は織田信長などが行った、当時最先端の経済政策である、楽市・楽座を考えてみましょう。

プラットフォームとは、ここでは城下町という土地、コンテンツは各店舗です。城下町には領主様が定めた法律みたいなものがあって、これが独自の生態系を作ります。そして、楽市・楽座の言い出しっぺであるお偉いさんは、城下町の商売のルールを定めますが、商売自体は商人や職人たちに任せます。その上で、税金を取ります。人々は、生活のために城下町で商売や買い物をします。当時の売れ筋は、食品や武器や農具などでしょうか?わかりませんが、たくさんの種類のサービスが提供されます。

この政策で一番得したのはだれなのか。言わずもがな、生態系を作ったお偉いさん方です。人と経済の中心をおひざ元に収めたことで、特に働かなくても軍資金を手に入れることができる仕組みを作ったのです。コンテンツ提供者の商売人は、以前より活動しやすく、そして儲かるようになったことと引き換えに、楽市・楽座という仕組みに生活を依存することになります。買い物する人たちにとっては、城下に行けばほしいものがことごとく手に入るので、これは便利だとなるわけです。

ね、Amazonっぽいでしょ?Amazonみたいに城主様が人々の購入履歴を持ってたりはしないですけども。プライムビデオ的なエンタメはあったかもしれませんが。

城下町ってのは、立派にプラットフォームなのです。

 

例2:本屋

日本初の本屋は京都で生まれたとか。真偽のほどはさておき。その当時の本屋というのは、作家や出版社を兼ねていて、自分で作ったコンテンツを自分で売ってるんだから、プラットフォーマーではないのです。そして、世の本好きたちに共通の悩みがあったはずです。金が足りないってのは今回は無視するとして、その共通の悩みというのは、欲しい本を手に入れるのが面倒くさいということ。人づてに目的の本を持つ人を聞いて回り、見つかったら今度はそれを借りに行くとか写しに行くとか買いに行くとかするわけです。交渉の必要すらあったかもしれません。あぁ、本好きの下剋上ここにあり!

んで、時代は進み、出版技術が出来上がると、人が手書きで行っていた出版を専門の業者がやるようになります。*1大量の本を安く売れるようになります。これに対抗しようとして、一人で作家・出版・販売を行おうとしても、時間も金も足りません。したがって、従来の方法で本を売ることはなくなります。作家が文章を書いて、出版社が出版して、小売り専門の本屋が大衆に売るようになるのです。金さえ払えば本を売ってやる(もしくは貸してやる?)などと言い出した元祖小売り専門の本屋は、従来の、作家と出版社とを兼ねる本屋と違い、複数の出版社から届く、さらにたくさんの作家さんの本を同じ場所で扱うことができます。本を買う人にとっては、そこに行けばどんな本でも手に入る便利な場所だったはずです。また、各種出版社も、どこで本を売ろうかと悩んだときに、小売り専用本屋は頼もしいメディアでした。たくさん売るには様々な場所で売る必要がありますが、自前で各地に直売店を用意しようものなら、費用がバカになりませんから。

こうして、本をコンテンツにするプラットフォーマーである本屋はやがて全国に広まります。

ほとんど同じやり口で、各種仲卸業者は、プラットフォーマーとして機能しています。彼らに共通するのは、生産者と消費者のコミュニケーションコストを極限まで小さくし、様々な種類のコンテンツをより多くの消費者に届けるパイプとしての価値を提供したことです。そして、あとで書くのですが、コンテンツの生産者が仲卸業者を選べなくなったとき、彼らは高い利益を手に入れるようになります。

 

例3:銀行

銀行だってプラットフォーマーです。ここでいう銀行というのは、不特定多数の相手と金を貸し借りして、金利や手数料を取るビジネスのことです。コンテンツは金。信用や期待をコンテンツにしているといってもよいでしょう。一時的に大量にお金が必要なのに、手元にそれがないとき、銀行が手を差し伸べます。そしてこのビジネスのすごいところは、ほとんど同じやり口が長い時代通用し続けてきたことですね。しかも、かなり高確率で、銀行利用者よりも儲けることに成功してきました。ほんと、どうなってるんだろ。

 

 

 

そんなこんなで、

プラットフォームはいつの時代も存在してきました。これからも存在し続けるでしょう。

 

 

 

 

 

話を変えます。

歴史上、プラットフォーマーがクリエイターよりも儲けるという構図は、しばしば発生してきました。多くの場合、クリエイターにはほかの人にはない特殊な能力がある一方、プラットフォーマーにはそれがないのにもかかわらずです。よく言われているクリエイター搾取問題です。本当に搾取なのかという議論は今はとりあえず横に置いておくとして。なぜプラットフォーマーは儲けることができるのか、なぜクリエイター搾取が起こるのか。私の残念な脳みそはちょっと考えました。

 

 

以下がその仮説です。

 

 

プラットフォームが提供する価値というのは、コンテンツ提供者には幅広い顧客を、消費者には幅広いコンテンツを届けるというものです。そして、よく言われていることですが、このプラットフォームというものは、利用者が増えれば増えるほどその便利さを増していきます。ですから、最初にプラットフォームを成功させたものは、似たようなプラットフォームを作ろうとする後続と比べ、圧倒的に有利です。*2スピード勝負なのです。

 

スピード勝負という概念について、本屋とAmazonの関係を例に見ていきます。

かつての小売り専門の本屋は、全国規模・世界規模で見ると、同系列の本屋が急激に拡大することができませんでした。そのため、同じ手法をとる同業者が各地に乱立しました。最初はそれでも、本屋はその地域で、寡占・独占を実現するプラットフォーマーだったのですが、後に人の流れが流動的になり、消費者が本屋を選べるようになってしまいます。隣町に買いに出るなど当たり前になってしまいました。必然的に、本屋同士が競争する必要が出てきます。この競争は未だに続いています。

一方のAmazonは、世界規模での急速な拡大を、同じ手法をとる後発が出てくる前に、成功させました。*3もしもAmazonが急速な拡大を最大の目標にしていなかったとしたら、世界中のあちこちで、同じ手法でプラットフォームをつくる人たちが表れ、現在の本屋と同じ目にあっていたでしょう。

GoogleAppleFacebookなども同様に、サービスの普及速度に過激なまでのこだわりを見せていますが、プラットフォーマーとしては当然の考え方です。

「なぜプラットフォーマーは急速に拡大できるのか」という疑問は的外れで、「急速に拡大できる方法を見つけたからこそプラットフォーマーになれた」というべきなのが分かっていただけたでしょう。

 

このようにして、プラットフォーマーは、その分野で寡占・独占することが多くなります。

そして。寡占・独占すると、消費者と生産者は、特に生産者は、特定のプラットフォーマーに依存せざるを得なくなります。ほかに選択肢がなくなれば、多少割に合わなかったとしても、交渉に応じる必要が出てきます。コンテンツをより多く売るためには、よりたくさんの人の目に触れて、よりたくさんの人に知ってもらうことがどうしても必要です。そのため、コンテンツ生産者は、多くの消費者にとってのメディアとして機能するプラットフォーマーに対して、サービスを採用してもらう立場になります。

同じことですが、別の視点から言い換えると、下のようになります。

コンテンツ生産者はにとって、まだ未熟なプラットフォームが相手であっても、販売ルートは多い方が良いので、プラットフォーマーがコンテンツを売りましょうという提案を受け入れます。十分に成長したプラットフォームは、コンテンツ生産者にとって、そこで売らないと現状と同じ利益を上げることすら難しいという状況を作ります。すなわち、プラットフォーマーの規模・成熟度とは関係なくコンテンツはプラットフォームに提供されやすく、プラットフォームは成長する一方、十分に成長したプラットフォームにコンテンツは頭を下げざるを得なくなるのです。簡単なゲーム理論ですね。

 

こうしてクリエイター搾取問題が発生します。クリエイターはプラットフォーマーを選べず、交渉がプラットフォーマー有利になるのが当たり前になります。

 

仮説は以上です。

 

 

話を変えます。もとい、話は以上です。ほかに書きたかったことがあったはずなのだけど、忘れてしまったし長くなるし。

 

最後に。

究極のプラットフォーマーは、プラットフォームの最終形態は、生活スタイルそのものをコンテンツにするものになるはずだ

と思っているのですが、どうでしょう。まあ、そこら辺のことも機会があればかきたいです。「そんないつかは絶対に来ない」って神の声が聞こえるぜ!

 

今日はここまで。またいつか。書けたらいいな。

*1:このページを参照

*2:コンテンツだとそうはいきません。草分けだろうが後発だろうが、良いものを作って宣伝に成功すれば、誰かが必ず飛びつきます。参入の時期はそれほど大きな意味を持たず、したがって同業者との競争を続ける必要に迫られやすいのです。

*3:「まだ一部の国や地域だけではないか」という反論は、ごもっともですが、流通網が発達した国でしかAmazon流のサービスは展開できないことを考えると、ほぼすべての通販市場を寡占・独占しつつある言えると思います