なぜ現代アルゴリズムを学ぶか:教科書には載っていない実システムの心臓
Pinecone・BigQuery・Notion・Bitcoin。これらの中で動いているのは、教科書のソート・探索ではない。確率的・近似・分散アルゴリズムが現代システムを支える。本シリーズの導入。
HNSW:Pinecone・Qdrant・pgvector を 100 倍速くする近似最近傍探索
「あるベクトルに近い 10 個」を 100 万件から 10ms で見つける。Pinecone・Qdrant・pgvector・OpenSearch の中で動いているアルゴリズムを、Python と hnswlib で実装・ベンチ。
HyperLogLog:BigQuery が 1 兆件のユニーク数を 16KB で数えるアルゴリズム
COUNT(DISTINCT) は本来メモリ大食い、1 兆件のユニーク数なら数百 GB 必要。これを 16KB・1% 誤差で実現するのが HyperLogLog。Python で実装し、実機で 1.01% 誤差を確認。
Count-Min Sketch:Twitter のトレンドを支える頻度推定アルゴリズム
「過去 1 時間で最も投稿された単語 TOP 10」をリアルタイムに集計するには? 頻度上位を確率的に推定する Count-Min Sketch を Python で実装、Twitter / Cloudflare の中身。
Bloom Filter:Cloudflare のセキュリティと Bitcoin SPV を支える確率的フィルタ
「この URL は犯罪サイトか?」を 117KB のメモリで 99% 正答。Cloudflare・Bitcoin・Chrome の Safe Browsing で動く Bloom Filter を Python で実装。
MinHash + LSH:1 億文書から似たペアを高速発見する確率的アルゴリズム
「剽窃検査」「重複コンテンツ検出」「商品レコメンド」。1 億件の文書から似たペアを O(n) で見つける MinHash + LSH を Python で実装、Google・Spotify の中身。
CRDT:Notion・Figma・Linear のリアルタイム同時編集を支える分散データ構造
「複数人が同じドキュメントを同時に編集してもコンフリクトしない」を数学的に保証する CRDT を Python で実装。G-Counter・LWW-Set・RGA の仕組み。
Raft:etcd・Consul・TiDB の中核を支える分散合意アルゴリズム
「複数のサーバが障害を起こしても、全員が同じ値で合意する」分散合意 Raft を Python で実装。Paxos より理解しやすく、Kubernetes / TiDB / CockroachDB が採用。
Merkle Tree:Bitcoin・Git・IPFS が使う改ざん検出のハッシュツリー
「巨大データのどこか 1 bit が変わったら、ハッシュ 1 つで検出できる」Merkle Tree を Python で実装。Bitcoin の SPV、Git のオブジェクト、IPFS の中身。
PageRank:Google を作ったグラフ中心性アルゴリズムを Python で再現
「重要なページからリンクされているページが重要」を再帰的に解く PageRank。Google が 1998 年に発明、現在も Twitter のフォロー / 論文の引用解析で生きる。
Reservoir Sampling:1 兆件のストリームから k 件を等確率で取る 5 行の魔法
「全件読まずに、ストリームから k 件をランダム抽出」を可能にする Reservoir Sampling。BigQuery TABLESAMPLE / ABTest / ログ取得の中身を Python で実装。
Skip List:Redis の Sorted Set を支える確率的なソート済みデータ構造
「ソート済みリストに O(log n) で挿入・検索・順位取得」を確率的に実現する Skip List。Redis ZSET / LevelDB / RocksDB の中身を Python で実装。
LSM Tree:Cassandra・RocksDB・BigTable の書込み性能を支えるストレージエンジン
「ランダム書込みを順次書込みに変換」して 100 倍速くする LSM Tree を Python で実装。Cassandra / RocksDB / BigTable / DynamoDB の中身。
MCTS:AlphaGo が世界チャンピオンを倒した木探索アルゴリズム
「ランダムプレイアウト + UCB」で評価関数なしに最善手を見つける Monte Carlo Tree Search を Python で実装。AlphaGo / AlphaZero / 将棋 AI の中核。
Self-Attention:ChatGPT・Claude・Gemini を支える Transformer の核心
「Attention is All You Need」(2017) を Python で実装。GPT・Claude・Gemini の中で動く Self-Attention を numpy だけで再現する。
まずは、現状を聞かせてください。
要件が固まっていなくて大丈夫です。現状診断と方針提案までを無料でお手伝いします。