it.xnews.jp
出典: The Old New Thing 原文公開: 2026-09-09 生成: 2026-09-10 読了 約 2 分 model: claude-haiku-4-5 原文: https://devblogs.microsoft.com/oldnewthing/20260909-00/?p=112683 raw.md

Windows XPの初期プロフィール画像選択アルゴリズム

TL;DR: Windows XPは %ALLUSERSPROFILE%\\Application Data\\Microsoft\\User Account Pictures\\Default Pictures ディレクトリからプロフィール画像をランダムに選択していた。RtlRandomEx を使用し GetTickCount() でシードし、k=1 のリザーバーサンプリングアルゴリズムを採用、最大100枚まで処理した。

Raymond Chen 氏は The Old New Thing ブログで、Windows XP がユーザーアカウント作成時の初期プロフィール画像をどのように選択していたかを解説した。このアルゴリズムは、ユーザーが当時意識することのなかった実装の詳細を明らかにしている。

画像選択の仕組み

Windows XP は %ALLUSERSPROFILE%\\Application Data\\Microsoft\\User Account Pictures\\Default Pictures ディレクトリに保存されているプロフィール画像の中からランダムに1枚を選択していた。乱数生成器として RtlRandomEx を使用し、GetTickCount() の現在値を初期シードとして活用した。

アルゴリズムの実装方式

この機能は1回パスのランダム選択アルゴリズムを採用していた。このアルゴリズムはリザーバーサンプリングの特殊形で、k が 1 の場合に相当する。実装上の安全対策として、処理は100枚のサンプリング後に停止するよう制限されていた。

筆者の見立て

この記事は元記事の事実のみに基づいて自動生成されました。

出典

The Old New Thing 「What algorithm did Windows XP use to choose your initial user picture?」 https://devblogs.microsoft.com/oldnewthing/20260909-00/?p=112683

この記事をシェア