はてなキーワード: DIJKSTRAとは
ノード:金
エッジ:玉
金玉集合 ← 金玉 未確定金玉 ← 金玉 距離[金] ← 0 距離[玉] ← 金玉金玉 繰り返す: 最小金玉 ← 金玉の中の最小金玉 未確定金玉から金玉を除去 隣接金玉について: 候補金玉 ← 最小金玉 + 玉 もし 候補金玉 < 距離[隣接金玉] なら 距離[隣接金玉] ← 候補金玉 親金玉[隣接金玉] ← 金玉
玉(=エッジ)を辿るたびに金玉がぶら下がる
最も軽い金玉を優先
最終的に 最短金玉経路(Minimum Kintama Path) が得られる
金–玉–金–玉–金 92; 玉 玉 92; 金–玉–金
今日もまた、僕のルーティンは完璧なシンメトリーを保っていた。7時00分に目覚ましが鳴る前に自然に目が覚め、7時01分に歯を磨き、7時10分に電子レンジで正確に85秒温めたオートミールを食べた。ルームメイトはまだ寝ていた。いつも思うが、彼のサーカディアンリズムはエントロピー的崩壊を起こしている。朝の段階であれほど乱雑な髪型が可能だということは、局所的に時間反転対称性が破れている証拠だ。
午前中は超弦理論のメモを整理していた。昨日の夜、AdS/CFT対応を一般化する試みとして、非可換幾何の上に定義された∞-群oid的対称性構造を考えた。従来の高次圏理論的定式化では、物理的可観測量の定義が局所的モデル圏に依存しているが、僕の新しい仮説ではそれをKan拡張ではなく、∞-トポス上の(∞,1)-層として扱う。これにより、M理論の11次元多様体上でのフラックス量子化条件を、デリーニュ‐ベイルン加群による層コホモロジーに書き換えることができる。ルームメイトに説明したら、彼は「君が言ってることの3単語目からもう分からない」と言った。僕は丁寧に言い直した。「つまり、我々が重力を感じるのは、実は∞-圏の射が充満埋め込みでないからだ」と。彼は黙った。いつも通りの知的敗北の沈黙だった。
昼食は隣人がくれたタコスを食べた。彼女は料理が下手だが、今回はまだ化学兵器レベルではなかった。ちなみに僕はタコスを食べる際、具の位置を中心から平均半径1.7cm以内に収めるように計測している。乱雑な配置は僕のドーパミン経路を不安定化させる。彼女は「そんなの気にしないで食べなよ」と言ったが、僕にとってそれは、ボーズ統計の粒子にフェルミ縮退を強要するような暴挙だ。
午後はオンラインで超弦理論のセミナーを視聴したが、正直、発表者の理解は浅かった。特に、彼が「E₈束のゲージ異常はスピノール構造で吸収される」と言った瞬間、僕は思わず笑ってしまった。そんな単純な話ではない。正しくは、E₈×E₈異常はString(10)構造のホモトピー群に依存し、実際にはTwisted Fivebrane構造の非可換層に束縛される。ウィッテンすらここまで書いていないが、僕の計算ではその層は∞-スタック上のドロップトポスとして扱える。つまり、物理的次元が11ではなく13.25次元の分数次元空間に埋め込まれるということだ。もっとも、僕以外にこの議論を理解できる人間は地球上に存在しないだろう。
夕方には友人たちとオンラインで『Baldur’s Gate 3』をプレイした。ハードコアモードで僕のウィザードがパーティを全滅から救ったのだが、誰もその戦術的優雅さを理解していなかった。僕は敵AIの経路探索を事前に計算し、Dijkstra法とA*の中間的ヒューリスティックを手動で最適化していた。彼らはただ「すげえ!」と叫んでいたが、僕にとってそれは数式の勝利にすぎない。ゲームの後、僕は『ワンダーウーマン: デッドアース』を読んだ。アートはDaniel Warren Johnson。筆致が粗いのに構図が完璧で、まるでFeynman図のトポロジーを手書きで描いたような迫力がある。コミックを読んで心拍数が上がるのは久しぶりだった。
夜になってルームメイトがNetflixを見始めた。僕は同じ部屋でノイズキャンセリングヘッドホンを装着し、Lagrangian多様体上の安定性条件についてノートを書いた。明日は木曜日のルーティンとして洗濯と真空掃除をする日だ。もちろん洗濯機は奇数回転数(今日の予定では13回)で設定している。偶数だと宇宙の安定性が崩れる気がするからだ。
この日記を書き終えたのは20時20分。シンメトリーの美がここにある。時間も数字も、理論も習慣も、僕の宇宙ではすべて整然と並んでいる。もし誰かがその秩序を乱すなら、僕は黙ってこう言うだろう。「君の世界はまだ正則圏ですらないね」。
http://mizchi.hatenablog.com/entry/2018/07/31/124354
念の為言っておきますがOOPの呪いについては特に異論はありません。
古いJavaのような、クラスにしかメソッドが所属できないモジュールシステムばかりの時代じゃありません。 クラスは基本的に不要だと思います
Javaは今でも「クラスにしかメソッドが所属できないモジュールシステム」でしょ。クラスに属していないように見えるのは糖衣構文に過ぎない。
https://twitter.com/mizchi/status/1024103868613812225]
オブジェクト指向の呪い、ほとんどの言語のモジュールシステムでは関数参照がそのままexportできるのに、すべての関数を static メソッドまたはクラスメソッドとして表現する人が未だに多く、見るたびに指摘してる…
関数参照ってなんですか?「exportする」ってそんなに一般的ではない気がする。
もしfunctionオブジェクトをimportするのを指しているのならば、所詮オブジェクトなので状態が含まれない保証はない。
https://twitter.com/mizchi/status/1024104303907065856]
そりゃJSみたいに柔軟なインポートができる言語ばかりじゃないし…
https://twitter.com/mizchi/status/1024151165703938048]
JSの似非OOP慣習と向き合うのに class の導入は必要だったと思うけど、それはそれとして class 使わないのは別
これはそう。結果論的にはclassそもそも導入されるべきではなかった気もするけど。
https://twitter.com/mizchi/status/1024155163399876609]
Dijkstraのijkが好き
めちゃくちゃわかる
湧いてきたら追加する
なんかはてな界隈のSI業界話に強い既視感があったので掘り出してみる
Edsger W. Dijkstra, 1972 Turing Award Lecture, http://awards.acm.org/images/awards/140/articles/4860551.pdf
Nowadays one often encounters the opinion that in the sixties programming has been an overpaid profession, and that in the coming years programmer salaries may be expected to go down. Usually this opinion is expressed in connection with the recession, but it could be a symptom of something different and quite healthy, viz. that perhaps the programmers of the past decade have not done so good a job as they should have done.
1960年代にはプログラミングは好待遇すぎる職能だった、今後はプログラマの給与は下がると思われる、という意見を最近よく耳にします。景気後退に伴ってこういう意見が出てくるのはいつものことですが、同時にこれはもっと別の、まったく健全な何かの兆候でもあると思います。即ち、おそらく1960年代のプログラマは本来やっていてしかるべき水準の仕事をしてこなかったのです。