Windows XP が初期ユーザーの画像を選択するために使用したアルゴリズムは何ですか。

2026/09/10 18:04

Windows XP が初期ユーザーの画像を選択するために使用したアルゴリズムは何ですか。

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

レイモンド・チェン氏の解説によれば、Windows XP は初期ユーザー画像を「

%ALLUSERSPROFILE%\Application Data\Microsoft\User Account Pictures\Default Pictures
」から選び出します。この選定は
GetTickCount()
の現在値を種とする
RtlRandomEx
を用いて行われます。ファイルシステムへの呼び出し過多によるパフォーマンスのボトルネックを回避するため、2パス方式ではなく 1 パスのレジヴォアサンプリングアルゴリズム(k=1)が採用されています:項目を順次走査する際、各項目は「当選者」として維持されるのは、1 から現在の個数までの範囲で生成された一様乱数がその現在の個数と一致する場合のみです。また、異常に多数のファイルが存在するような経路対策として、チェック対象の画像が 100 枚に達すればサンプリングを終了する追加の保護措置も設けられています。この効率的な設計により、起動時の不要なデータ処理を最小限に抑えつつ、視覚的なバリエーションを保証しています。

本文

Windows XP の壁紙選択アルゴリズムと乱数生成器の解明

ある時期、Windows XP は初期設定の壁紙(プロファイル画像)をランダムに選択していました。この機能は、

%ALLUSERSPROFILE%\Application Data\Microsoft\User Account Pictures\Default Pictures
ディレクトリに格納されている画像の中から決定されていました。

誰かが、その背後にある乱数生成器 (RNG) の仕組みについて解明を試みましたか?

採用された乱数生成器とシード値

  • 使用関数:
    RtlRandomEx
  • シード値:
    GetTickCount()
    の現在の値を使用。

1 パスアルゴリズムの採用理由

システムは、全項目をカウントしてから選択する「2 パスアルゴリズム」ではなく、「1 パスアルゴリズム」を採用しています。その主な理由は以下の 2 つです。

  • パフォーマンス向上
    • ファイルシステムへの呼び出し回数を削減できるため、処理が高速化されます。
    • 従来の naive な 2 パスアルゴリズムと比較し、ファイルシステム操作というボトルネックを回避できます。
  • 実装の簡潔性と安全性
    • ディレクトリ内のファイル数が実行中に変化しても、後続ステップでの矛盾を生じるリスクがありません。
    • 結果として、実装上の複雑さを大幅に低減できます。

アルゴリズムの詳細と動作原理

この 1 パスアルゴリズムは、リザーブサンプリング (Reservoir Sampling) の特殊ケース (

k = 1
) に相当します。これにより大幅にシンプル化された専用ロジックが可能になります。

プセウドコードによる実装例

selectRandomFromIterator(iterator)
{
    var count = 0;
    var winner = null;

    while (iterator.moveNext()) {
        ++count;
        if (uniform_random(min: 1, max: count) == count) {
            winner = iterator.current();
        }
    }

    return winner;
}

動作の根拠

  • 確率的特性: n 個の項目を持つ集合において、「最後の項目」が選ばれる確率は厳密に 1/n です。
  • 帰納的プロセス:
    • もし現在の項目が選ばれなくても、残りの
      n - 1
      個の項目から再度ランダムに選択を試みます。
    • このプロセスを繰り返すことで、リストが 1 項になる場合(基底ケース)に唯一の選択肢が残ることを導き出します。
  • 処理の流れ:
    1. リストの先頭
      n - 1
      個の項目からランダムに 1 つを選択する。
    2. その際、確率 1/n
      n
      番目の項目(最後の項目)へ切り替わる仕組みです。

安全対策と処理制限

  • ファイル数制限: サンプル対象は画像を最大 100 枚までとして処理を終了します。
  • 目的: 「Default Pictures」ディレクトリに数百万のファイルが存在するなど、病理的な状況が発生してもシステムが適切に対応することを保証するためです。

同じ日のほかのニュース

一覧に戻る →

2026/09/11 0:29

Cognition が新たな SWE-2 モデルを発表。Fable 5.1 や GPT-Astra と競合する性能を誇ります。

## Japanese Translation: Cognition は、Fable 5.1 や GPT-5.6 Sol といったトップクラス競合に匹敵する最新コーディングモデルである SWE-2 を発表しました。SWE-2 は、大規模な Kimi K3 ベースモデル(パラメータ数 2.8 兆)での後学習により実現され、コストペナルティ付き報酬とファーストプリンシプルに基づくアプローチ、そして長さに基づく報酬ベースラインを採用してトレーニングを安定化させながら、多兆パラメータ領域への強化学習のスケーリングを達成しました。FrontierCode 1.1 Main では 50.0% のスコア(Fable 5.1 より僅か 1 ポイント下)を記録しながらコストは 64% 削減され、DeepSWE 1.1 では 73.0% を達成しました。単なるスコアを超え、SWE-2 は「エンジニアリング的判断」の優位性も示し、不要な迂回を避けることで初期コードエディットの中央値ステップ数を 48 から 18 に削減しました。また、モデルは安全性と信頼性を最優先しており、プロパガンダおよび検閲テストのうち 98% をパスしています。Devin Desktop と CLI 経由で即時利用可能(Web および Fusion では段階的展開中)の SWE-2 は、高パフォーマンス AI をアクセス可能な価格点で提供し、信頼性や安定性を損なうことなくソフトウェア開発サイクルの効率化を目的としています。 ## Text to translate: Cognition has introduced SWE-2, its most advanced coding model, which rivals top competitors like Fable 5.1 and GPT-5.6 Sol while offering significant efficiency gains. Achieved through post-training on the massive 2.8 trillion-parameter Kimi K3 base model, SWE-2 scales Reinforcement Learning to a multi-trillion parameter regime using cost-penalized rewards derived from first principles and a length-weighted reward baseline to stabilize training. On FrontierCode 1.1 Main, it scores 50.0% (just one point behind Fable 5.1) while being 64% cheaper; on DeepSWE 1.1, it achieves 73.0%. Beyond raw scores, SWE-2 demonstrates superior "engineering judgment," reducing the median steps to an initial code edit from 48 down to 18 by avoiding unnecessary detours. The model also prioritizes safety and reliability, passing 98% of propaganda and censorship tests. Available immediately via Devin Desktop and CLI (with rolling deployments on Web and Fusion), SWE-2 is designed to streamline software development cycles by delivering high-performance AI at an accessible price point without compromising trustworthiness or stability.

2026/09/11 6:30

米運輸安全委員会、マイアミでのボーイング767滑走路逸脱事故調査結果更新発表

## Japanese Translation: 9月6日のマイアミ国際空港におけるランウェイ逸脱事故に巻き込まれたボーイング7598貨物機からフライトレコーダーが回収され、正常に読み出されたことが、2026年9月9日に国立輸送安全委員会(NTSB)によって確認されました。アクロン航空社(Acron Aviation)のCVRからの高品質な音声および54時間以上にも及ぶフライトデータレコーダーのデータ——400以上のパラメータを記録——が確保されました。予備的分析によると、飛行機は conflicting なパイロットによる離陸再行(ゴーアラウンド)指令を受けながら、危険に甚だしい速度(ノーズギア158ノット)で接地しており、スピードブレーキやスラストリバーサの展開はされていなかったとのことです。現時点での記録は同期されていませんが、ワシントンDCのNTSBチームによって書面による要約が作成され、フラップ調整、オートパイロットの離脱、地形警告など特定の行動を含む事件の経過を明確にします。詳細なコックピット会話とデータパラメータのタイムラインは、専用調査ウェブページで確認できます。あるいは24時間365日の対応オペレーションセンター(1-844-373-9922)にお問い合わせいただくことも可能です。すべての所見は、公式要約が確定するまで予備的なものとされています。

2026/09/11 0:29

火星用に開発されたNASAの色彩トリックが、今や地球で岩壁画を解読する役割を果たすことになった

## Japanese Translation: 考古学者のジョン・ハーマンは、NASA の decorrelation stretch 手法を応用して古代岩絵の研究を行ないました。この手法は当初、JPL で 1978 年にジム・ソーハによってリモートセンシング画像の強化のために開発され、後にロナルド・アレイによって速度と精度の向上を目的として 1996 年に改良されました。ハーマンはこの研究成果に基づき、数学および医療イメージングの背景を応用し、Karhunen–Loève 変換定理に基づく Dstretch プラグインを開発しました。このソフトウェアは単なるコントラストの引き上げではなく、色彩を拡張された範囲へマッピングします。Dstretch を用いることで、研究者たちは複数の遺跡において以前は目に見えなかった図像を発見しました:カリフォルニア州バイアのカベ・デ・サン・ボルヒタスで新たな黄色の図像が確認され、カンボジアのアングルワット周辺で 200 点以上の色あせた絵画が発見されています。エジプトのベニハッサンではコウモリや豚の画像が、カナダ・アルバーツアのライティングオンストーン州立公園ではクロ族の戦士による初期のグラフィティと解釈される馬と騎士を描いたピクトグラフが、ノルウェーのアールサンド 1 遺跡では新たに約 15 点の図像に加え、28 点で新たな詳細が浮き彫りになりました。このプラグインのカスタムカラー空間は岩絵のイメージングに特に有用であることが実証されています。火星イメージングの強化に元々使用された既確立のリモートセンシング手法を適用することで、Dstretch は低コントラストの写真に対して侵襲のないデジタルアクセスを提供し、世界中の隠れた芸術作品の解明に貢献しています。