Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【PHP8.x】Random\Engine\Xoshiro256StarStar::jump()メソッドの使い方

jumpメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

jumpメソッドは、Random\Engine\Xoshiro256StarStar クラスが提供する擬似乱数生成エンジンの内部状態を、特定の距離だけ前方に進める(スキップする)メソッドです。

Random\Engine\Xoshiro256StarStar は、PHP 8.2以降で利用できる、高速かつ高品質な擬似乱数を生成するエンジンの一つです。コンピューターが作り出す乱数は、実際には複雑な計算によって生成される「擬似乱数」であり、その生成過程には現在の状態を示す内部的な数値が関与しています。

jump メソッドを呼び出すと、この乱数生成エンジンの内部状態が、通常の乱数生成処理を数え切れないほど多く実行したかのように、はるか先の地点まで一気に更新されます。このジャンプの距離は非常に大きく、実質的に、元のシードから生成される長い乱数列の中の、重複する可能性が極めて低い全く異なる部分から乱数生成を再開することになります。

この機能は、特に複数の独立した乱数ストリームが必要な場合に有用です。例えば、並列処理を行う際に、各プロセスやスレッドがそれぞれ異なる独立した乱数シーケンスを必要とする場合があります。そのような状況で、同じ初期シードを持つ乱数エンジンに対して、各々が異なる回数 jump メソッドを実行することで、互いに干渉せず、統計的に独立した高品質な乱数ストリームを効率的に供給することが可能になります。これにより、信頼性の高いシミュレーションやテストデータの生成が実現できます。

構文(syntax)

1<?php
2
3$engine = new Random\Engine\Xoshiro256StarStar();
4$engine->jump();

引数(parameters)

引数なし

引数はありません

戻り値(return)

void

このメソッドは何も値を返しません。

関連コンテンツ