JA EN

#algorithm

15 記事

01 ·数値計算·★ 会員·16分で読めます 連立方程式の解き方 — 直接法と反復法 橋のたわみも部屋の温度もガウス過程回帰も、計算機にやらせる段では Ax=b という同じ形に化けます。消していく直接法(LU)と近づいていく反復法(共役勾配法)を、なぜ100万元の方程式が消去法で解けないのかから始めて、条件数・前処理・matrix-free まで前提知識ゼロでつなぎます。 02 ·数値計算·★ 会員·16分で読めます 連立方程式の解き方 — 直接法と反復法 橋のたわみも部屋の温度もガウス過程回帰も、計算機にやらせる段では Ax=b という同じ形に化けます。消していく直接法(LU)と近づいていく反復法(共役勾配法)を、なぜ100万元の方程式が消去法で解けないのかから始めて、条件数・前処理・matrix-free まで前提知識ゼロでつなぎます。 03 ·並列・分散·★ 会員·12分で読めます 並行処理を1から — ロック・アトミック・メモリモデル データ競合はなぜ起きるのか、なぜテストで再現しないのかを前提知識ゼロから解説。ロック・アトミック操作・CAS・メモリモデルまで、比喩と式とコードで順に積み上げます。 04 ·数値計算·★ 会員·18分で読めます 【実装】自動微分を自作する — 100行のミニPyTorch Valueクラス1つから始めて、演算子オーバーロード・トポロジカル順序・勾配の加算までを組み上げ、その上にニューラルネットを載せて学習させます。設計の理由を辿ると、zero_grad() や retain_graph が仕様の暗記ではなく必然に変わります。 05 ·数値計算·★ 会員·18分で読めます 【実装】自動微分を自作する — 100行のミニPyTorch Valueクラス1つから始めて、演算子オーバーロード・トポロジカル順序・勾配の加算までを組み上げ、その上にニューラルネットを載せて学習させます。設計の理由を辿ると、zero_grad() や retain_graph が仕様の暗記ではなく必然に変わります。 06 ·データ構造·★ 会員·論文·16分で読めます 確率的データ構造 — 数えずに数える Space/Time Trade-offs in Hash Coding with Allowable Errors (Bloom ブルームフィルタ・HyperLogLog・Count-Minスケッチを前提知識ゼロから解説。「少しだけ間違える権利」と引き換えにメモリを数KBに固定する仕組みと、巨大サービスの裏でどう運用されているかまで。 07 ·計算量と評価·★ 会員·16分で読めます 近似アルゴリズム — 厳密を諦めて保証を取る 最適解を諦める代わりに「最悪でも◯倍以内」という値札を付ける技術。近似比の定義から、貪欲アルゴリズムの保証を最後まで証明する手つき、巡回セールスマンで三角不等式の有無が結論をひっくり返す理由までを前提知識ゼロで積み上げます。 08 ·計算量と評価·無料·12分で読めます NP完全を1から — 「解けない」ではなく「検証は速い」 NPはNon-Polynomialの略ではありません。「答えを見せられたら速く確認できる」というクラスの話です。P vs NP・還元・NP完全を前提知識ゼロから積み上げ、シフト表や配送計画といった現場の問題にそれがどう現れるかまで見ます。 09 ·データ構造·★ 会員·14分で読めます B木とLSM木 — データベースの心臓 世のデータベースはほぼ全部、B木かLSM木のどちらかの上に建っています。「ディスクはページ単位でしか書けない」という物理から出発して、両者がなぜ正反対の設計になったのか、書込増幅とは何か、PostgreSQLとRocksDBで何が違うのかを、前提知識ゼロから実務のパラメータ名まで。 10 ·数値計算·無料·14分で読めます 自動微分の仕組み — PyTorchの魔法を1から loss.backward() と書くだけで何百万個ものパラメータの微分が出てくるのはなぜか。計算グラフ・連鎖律・前進モードと後退モードを前提知識ゼロから解き、40行のミニautogradまで自作します。 11 ·計算量と評価·★ 会員·14分で読めます 乱択アルゴリズム — サイコロを振ると速くなる不思議 なぜ乱数を混ぜると速くなるのか。ランダムピボットのクイックソート、片側誤りのブルームフィルタ、モンテカルロとラスベガスの違いを前提知識ゼロから積み上げ、乱数の扱いを間違えたときに起きる事故まで見ます。 12 ·数値計算·★ 会員·13分で読めます 数値の落とし穴 — 桁落ち・丸め・logsumexp 「学習を回して3時間後に損失がnanになる」の正体を、浮動小数点の丸め・条件数・桁落ちの順に前提知識ゼロから解きます。最後は、softmaxと交差エントロピーの実装に必ず入っている logsumexp という一つの定石に合流します。 13 ·数値計算·★ 会員·13分で読めます 数値の落とし穴 — 桁落ち・丸め・logsumexp 「学習を回して3時間後に損失がnanになる」の正体を、浮動小数点の丸め・条件数・桁落ちの順に前提知識ゼロから解きます。最後は、softmaxと交差エントロピーの実装に必ず入っている logsumexp という一つの定石に合流します。 14 ·データ構造·★ 会員·13分で読めます キャッシュに優しいコード — 同じO(n)で10倍差がつく理由 計算量が同じ2つの実装で実行時間が桁違いになるのは、CPUがデータを「1個ずつ」ではなく「64バイトの塊」で運ぶからです。局所性・キャッシュライン・配列と連結リストの実測差・AoS/SoA・ループ順序・false sharing を、前提知識ゼロから、最後は perf で自分の目で確かめるところまで。 15 ·数値計算·★ 会員·論文·12分で読めます FFTを1から理解する — なぜ畳み込みが掛け算になるのか An Algorithm for the Machine Calculation of Complex Fourier Series (Cooley & Tukey 音を周波数に分解するフーリエ変換を、比喩→回転する針の直感→DFTの式→分割統治のFFTの順に前提知識ゼロから解説。畳み込みがなぜ周波数領域では掛け算1回になるのか、多項式の積の視点で腹落ちさせる。