F*your Internet

ゴミみたいな記事を目指します

元ネタはたぶんこれ

engineering.linecorp.com

予備リンク

この記事では問題例として素数列挙を取り上げており、そのための「賢い」方法としてエラトステネスの篩が紹介されているのだが、よく見るとそれが O(N2) (ここで N は判定したい数)掛かっているというミスをしたコードになっている。という指摘をしている記事が次。

zenn.dev

元記事のLINEの人がどこまで本気でこの誤ったコードを書いたのかは分からない。本当にそれがエラトステネスの篩になっていて高速に動くと思っていたのか、ただのうっかりミスなのか。 今回はあえてそこは目を瞑ろう。うっかりミスに違いない。 「素朴に計算する」と「エラトステネスの篩」の間に強引に置かれた「キャッシュ化」が気持ち悪くて、素数定理を考えるとこの is_prime は結局 O(N / log N) なので、これが高速化?という気持ちになる。いや今はこれも目を瞑ろう。

それより気になるのはここ

しかし、このぐらいのプログラミングだと、多くの人が回答してきそうです。

  • 個性がない
  • 技術力や知識をアピールできていない

LINE ではコーディングに個性や技術力と知識アピールを要求してくるらしい。 例えば N が 1000 以下ならいつも試し割りでいいだろう(計算空間も小さい)。しかしLINEではそれは通じない。個性も何もない。 (アリストテネスの篩なんて、古代ギリシアで発明されたものだけど、それに今更個性…?)

コーディングで個性をアピールするな💢 コーディングで技術力や知識アピールをするな💢 その場に適したアルゴリズムを採用してただただ素直なコーディングをしてくれ。

確かにこの記事は、普段の業務プログラミングとしてより、採用試験という文脈の話だ。 そしてこの人にとってはその2つは違うもので、後者はアピールが大事だと思っているらしい。 確かに、エラトステネスの篩を知らない人よりは知ってる人のほうが教養はありそうでそちらの採用したくなるのは分かる。

しかし、コーディング試験こそ実際の業務を想定したやり取りをするべきで、その中で例えば「このNはどのくらい大きくなりますか?」とか「どの程度メモリを使うことが許容されますか?」などという会話をして適切なアルゴリズムを考えるべきだ。 その結果としてエラトステネスの篩が採用されるならそれでもいいし、試験官はそのように誘導すればいいだけだ。ていうか普通はそうだよね。 例えば、この「N番目に小さい素数を見つける」という問題なら、極端な方法として、埋め込み(答えを予め作って持っておく)というのがある。Nがそれなりに小さく、本当に高速に計算しないといけないなら、十分これも選択肢に入る。 初手でエラトステネスの篩を選ぶことを攻めはしないが、複雑なアルゴリズムはバグりやすい(実際この人はバグらせているわけだ)。 競技プログラミングを経験していると、たぶんこういう感覚が自然と身につくと思う。

ブレインストーミングとは何か, なぜやるか

ブレインストーミングとは何か

集団でアイデアを出し合うことで創造性の高いアイデアを捻出する方法論。略してブレストなどと言われる。この方法についてはWikipediaが詳しい。

ブレインストーミング - Wikipedia

掻い摘んで言うと次のようである

  1. 何人か集団が集まる
  2. 各自が思い思いにアイデアを出し合う
    • ここで、他人のアイデアを批判してはいけない
  3. 最後に、集まったアイデアを吟味する
    • イデアの取捨選択をしたり、結合したりなどする

重視するのは創造的なアイデアであり、そのためには多少突飛であっても量を出すことを優先する。そしてそのためにはどんなアイデアでも萎縮せずに出せる環境づくりが重要になる。

ブレインストーミングはどうか, 私の場合

今の会社に入り、上司がこの方法が好きで何度かやらされたことがある。アイデアを出す際に結局、司会役の上司が相槌程度にはなにか言葉を挟むためにそれがアイデアへの評価となり、やがてアイデアを出すことに萎縮するし、最終的に選ばれるアイデアは上司が出したもの、というのが常だった。そんなわけでブレストという形式を採用することはなくなった。

結局の所、この手の方法論というのは「上手くやれば上手く行くが、向き不向きもあるよね」という当たり前にも思える前提がある。しかし、これは果たして本当だろうか? 多くの人にとってこの方法は有効なもので、上手く活用出来ているのだろうか。

ブレインストーミングを何故やるか

Wikipedia を見ても、どのように実践するかは詳細に書いてあっても、その効果については何も触れていない。ブレインストーミングAlex Faickney Osborn - Wikipedia が開発したとされ、1942年出版の彼の著書 "How To Think Up" で既に "Brainstorming" というそのままの名前で紹介されている。

この効果を調べようとした研究はいくつかある。1991年のメタ分析論文によれば

Generally, brainstorming groups are significantly less productive than nominal groups, in terms of both quantity and quality.

と結論付けられている。つまり頭数を揃えてもそれを活用する方法としてブレインストーミングは多くの人間にとっては適切ではない。

さて、"A Meta-Analysis of Group Size Effects in Electronic Brainstorming", 2007 によれば、研究はとっくの1980年代には エレクトロニックブレインストーミング (EBS) にシフトしており、この論文ではこちらの効果について検証している。EBS というのは従来のブレインストーミング (Verbal BrainStorming) のアイデア出し部分について改良したもので、アイデアを出す部分は結局一人で考える方がマシだというのが経験的に分かっていたので、そこを一人で、紙か何かに書き出し、皆のが集まったら他人のアイデアを見て、また一人でアイデア出しをする、というプロセスに変更したもの。同論文ではその効果について調べた論文のメタ分析を行っている。

We found that groupsize is a significant factor in predicting the performance of EBS relative to verbal brainstorming and nominal group brainstorming.

とあり、四人を超えると従来のブレストを超え、人数が増えるにつれて効果は増し、10人を超えると、個々で考えて最後にアイデアを集めるという方法 (nominal group) より良かった。

正しいブレストのやりかた

  • 10人いない場合
    • ブレストではなく、各自で勝手に考える
  • 10人いる場合
    • ブレストの改良版であるEBSという手法を採用する

Z言語のための記号はUnicode文字に入っている

Math Symbol カテゴリーの Unicode 文字の一覧をここから眺めることが出来る

www.compart.com

そしていくつかはその名前が "Z Notation ..." で始まっている。

これは Z 言語という形式言語のための記号として用意されている。例えば Z Notation はここから眺めることができる。

staff.washington.edu

日本が第二次世界大戦で負けたふりをし続けているように、トランプもまた負けたふりをしているだけ

就任式 録画

www.youtube.com

www.youtube.com

日本時間で 2021/01/20 20:40 頃からトランプの退任式があり、初め曇天だったのが徐々に晴れてきた。その後の 01/21 01:30 頃からバイデンの就任式があり、引き続き晴れていた。

就任式 録画 since:2021-01-21 until:2021-01-22 - Twitter Search

曇天に包まれたワシントンの様子と、晴天のワシントンを比較して、これはリアルタイムの就任式ではなくて、録画映像なのだという主張。録画映像だから何なのかというと、リアルタイムでない就任式に効力はないので、バイデンは就任していない、という論理が働くらしい。

yaneuraou.yaneu.com

参照記事がこれ

number.bunshun.jp

仮にこの記事が実際に言ったことをそのままテキストにしてるのだとして、池谷裕二というのは薬学の研究者であってそれが勝手に脳科学及びAIの研究者を自称しているということ? しかも頓珍漢なことを言っていて、とても信用できない人だなという印象を受ける。門外漢の人だし、AI研究者がゲーム理論にまで詳しいことを期待できないのは確かだが、この記事を読むとまるで自信満々に嘘を言っていて、学術方面でまともな人なのか疑ってしまう。 やねうらお氏が書いてるように、この対談記事を書いた雨宮圭吾という人間が勝手な解釈で書き直した結果がこれなだけかもだけど。

twitter.com

どちらの意味の方向にも対談記事は話題なのに、文責を持っているはずのライターにはいちいち注目されない気がする。

給付金はただ労働者に負担を押し付ける愚策(労働者の立場から言えば)

全国民に10万円配るとするじゃん。全国民がN人いるとして  N \times 10 万円ね。これをどこから回収するかと言えばもちろん国のお金。つまりみんなの税金。ただでさえお金ないからつって消費税上げてるのにこのお金がどこから湧いてるかって言えばそれは将来の皆のお金、っていう仮想の貯蓄から回してる。これを誰が埋めるのかと言えば労働者。それ以外も払ってるじゃん。それこそ消費税は働いてない子供も老人も払ってる。でも同じくらいそれは労働者も払ってる。結局支払ってる税金に比例して取られてると思ったほうが良い。あなたが労働者なら、働いてない人への10万円は、あなたの給料から少しずつ抜かれている。毎月の給与明細を見るとよい。1/4から1/3くらいが堂々と引かれてるだろう。それがここに回されている。

感染症と心穏やかに渡り合うには賢い政治じゃなくて宗教

人の力でどうしようもならないものを相手にするのに宗教が発明された。科学や医学が発達した(ということになってる)今でも結局人は感染症に怯えている。ある人達は思い込みによって心の安寧を図っている。ここに宗教の原型がある。私はそれを馬鹿にするつもりはなくて、実際どうしようもないものを相手にしてる以上は宗教を自分たちで発明するか既存のものを採用するかして、せめて、心を穏やかに生活するのが最善だと思う。