random
「random」とは、「無作為な」や「手当たり次第の」「思い付きの」といった特定の基準やパターンに従わず完全に偶然に選ばれることを意味する英語表現である。
「random」とは・「random」の意味
「random」とは、でたらめの、思い付きの、無作為の、などの意味で用いられる形容詞・名詞である。予測不可能で偶然性が高いことを指し、何のパターンや規則性もなく、完全に偶然によって決まることを意味する。また、「random」は、単に偶然によって決まったという意味だけでなく、「任意の」という意味で使われることもある。「random person(任意の人)」や「random selection(任意の選択)」という表現があるが、特定の人や選択を指すわけではない。ただし、「任意の」という意味で「random」が使われる場合でも、基本的にはランダムに選ばれたものであることが前提となっている。偏りのない無作為な選択が行われた上での「任意」という意味で使われる。「random」は、スラングとしても使われる。「ばかげた」「意味不明な」という意味で用いられており、「That's so random!」という表現は、「それって意味不明だよね」という意味になる。
「random」の発音・読み方
「random」の発音は、カタカナ語では「ランダム」である。発音記号では「rǽndəm」と表記されるため、カタカナにすると「ラァンダァム」という発音になる。「random」の語源・由来
「random」の語源は、中期英語の「randoun」である。「randoun」は古期フランス語の「randir(走り回る、跳ね回る)」に由来し、元々は騎士が騎乗している馬が跳躍したり、回転したりするさまを表現するために使われていた。その後、「偶然の、予測不可能な」という意味で使用されるようになった。「無作為な、ランダムな」という現代で使われている意味は、20世紀初頭に英語のスラングとして広まったものである。「random」を含む英熟語・英語表現「kind of random」とは
「kind of random」とは、が予想外で、全くの偶然でという意味の英語表現で、日常会話で広く使用されている。
・I ran into my ex-boyfriend at the grocery store today, which was kind of random since we haven't spoken in months.(今日、食料品店で元カレに会ったのですが、何ヶ月も話していなかったので偶然のことだった)
「at random」とは
「at random」とは、「無作為に」や「偶然に」の意味を持つ英語表現である。
・I picked a book at random from the library shelf.(私は図書館の本棚から無作為に本を一冊選んだ)
・The winners of the raffle were chosen at random.(抽選の当選者は無作為に選ばれた)「random」に関連する用語の解説
「random」の略とは
「random」の略とは、「RD」もしくは「RND」である。
「random関数」とは
「random関数」とは、コンピュータプログラムにおいて乱数を生成するために使用される関数のことである。「random関数」は、擬似乱数生成アルゴリズムを使用して、ランダムな数値を生成する。ランダム関数は、ゲームやシミュレーション、暗号学的アプリケーションなど、様々な用途で利用されている。ただし、ランダム関数が生成する値は完全にランダムではなく、擬似乱数であるため予測可能であることに留意する必要がある。「random」の使い方・例文
・I just picked a random book from the library and ended up loving it.
(私はちょうど図書館から無作為に本を選んで、それを気に入ってしまった)
・The teacher asked the students to choose a random topic for their research project.
(教師は生徒たちに、研究プロジェクトのトピックを無作為に選ぶように指示した)
・When we went on our road trip, we took random detours to explore different towns.
(ロードトリップに行ったとき、ランダムに迂回路を使ってさまざまな町を探索した)
・My phone keeps playing random songs, and I have no idea why.
(私の電話は無作為に曲を流し続けるが、その理由はわからない)
・I bumped into an old friend at a random coffee shop in the city.
(街でたまたま入った喫茶店で旧友にばったり会った)
・The lottery is a game of random chance, and anyone can win.
(宝くじはランダムにチャンスがあるゲームで、誰もが勝つことができる)
・The artist drew random shapes and colors on the canvas, creating a unique abstract painting.
(アーティストはキャンバスに無作為な形や色を描き、ユニークな抽象画を作成した)
・I always have random thoughts before I fall asleep at night.
(夜眠りにつく前に、いつもふとした考えが浮かぶ)
ランダム【random】
Random クラス
アセンブリ: mscorlib (mscorlib.dll 内)
構文
擬似乱数は、有限個の数値の中から等しい確率で選び出されます。この数字を選出するために使用する演算アルゴリズムには限界があるため、選び出された数字は完全な乱数ではありませんが、実質的には乱数として十分使用できます。Random クラスの現在の実装は、Donald E. Knuth の乱数ジェネレータ減算アルゴリズムに基づいています。詳細については、D. E. Knuth 著『The Art of Computer Programming, volume 2: Seminumerical Algorithms』(第 2 版、1981 年 Addision-Wesley, Reading, MA 出版) を参照してください。
乱数の生成には、初期値としてシード値を使用します。同じシードを繰り返し使用すると、生成される乱数系列も同じになります。異なる乱数系列を生成する 1 つの方法は、シード値を時間によって決定することです。これにより、Random の新しいインスタンスごとに異なる乱数系列を生成できます。
パフォーマンスを向上するには、1 つの乱数を生成するために繰り返し新しい Random を作成するのではなく、1 つの Random を作成して何回も使用し、多くの乱数を生成するようにします。
ランダム パスワードの作成に適した、暗号として安全な乱数を生成するには、たとえば、System.Security.Cryptography.RNGCryptoServiceProvider などの System.Security.Cryptography.RandomNumberGenerator から派生したクラスを使用します。
クラス コンストラクタのさまざまなオーバーロードを使用して Random オブジェクトを作成し、それらのオブジェクトから整数および倍精度浮動小数点数のランダムなシーケンスを生成するコード例を次に示します。
' Example of the Random class constructors and Random.NextDouble( ) ' method. Imports System Imports System.Threading Imports Microsoft.VisualBasic Module RandomObjectDemo ' Generate random numbers from the specified Random object. Sub RunIntNDoubleRandoms( randObj As Random ) ' Generate the first six random integers. Dim j As Integer For j = 0 To 5 Console.Write( " {0,10} ", randObj.Next( ) ) Next j Console.WriteLine( ) ' Generate the first six random doubles. For j = 0 To 5 Console.Write( " {0:F8} ", randObj.NextDouble( ) ) Next j Console.WriteLine( ) End Sub ' Create a Random object with the specified seed. Sub FixedSeedRandoms( seed As Integer ) Console.WriteLine( vbCrLf & _ "Random numbers from a Random object with " & _ "seed = {0}:", seed ) Dim fixRand As New Random( seed ) RunIntNDoubleRandoms( fixRand ) End Sub ' Create a random object with a timer-generated seed. Sub AutoSeedRandoms( ) ' Wait to allow the timer to advance. Thread.Sleep( 1 ) Console.WriteLine( vbCrLf & _ "Random numbers from a Random object " & _ "with an auto-generated seed:" ) Dim autoRand As New Random( ) RunIntNDoubleRandoms( autoRand ) End Sub Sub Main( ) Console.WriteLine( _ "This example of the Random class constructors " & _ "and Random.NextDouble( ) " & vbCrLf & _ "generates the following output." & vbCrLf ) Console.WriteLine( "Create Random " & _ "objects, and then generate and display six " & _ "integers and " & vbCrLf & "six doubles from each." ) FixedSeedRandoms( 123 ) FixedSeedRandoms( 123 ) FixedSeedRandoms( 456 ) FixedSeedRandoms( 456 ) AutoSeedRandoms( ) AutoSeedRandoms( ) AutoSeedRandoms( ) End Sub End Module ' This example of the Random class constructors and Random.NextDouble( ) ' generates the following output. ' ' Create Random objects, and then generate and display six integers and ' six doubles from each. ' ' Random numbers from a Random object with seed = 123: ' 2114319875 1949518561 1596751841 1742987178 1586516133 103755708 ' 0.01700087 0.14935942 0.19470390 0.63008947 0.90976122 0.49519146 ' ' Random numbers from a Random object with seed = 123: ' 2114319875 1949518561 1596751841 1742987178 1586516133 103755708 ' 0.01700087 0.14935942 0.19470390 0.63008947 0.90976122 0.49519146 ' ' Random numbers from a Random object with seed = 456: ' 2044805024 1323311594 1087799997 1907260840 179380355 120870348 ' 0.21988117 0.21026556 0.39236514 0.42420498 0.24102703 0.47310170 ' ' Random numbers from a Random object with seed = 456: ' 2044805024 1323311594 1087799997 1907260840 179380355 120870348 ' 0.21988117 0.21026556 0.39236514 0.42420498 0.24102703 0.47310170 ' ' Random numbers from a Random object with an auto-generated seed: ' 1920831619 1346865774 2006582766 1968819760 332463652 110770792 ' 0.71326689 0.50383335 0.50446082 0.66312569 0.94517193 0.58059287 ' ' Random numbers from a Random object with an auto-generated seed: ' 254927927 1205531663 1984850027 110020849 1438111494 1697714106 ' 0.19383387 0.52067738 0.74162783 0.35063667 0.31247720 0.38773733 ' ' Random numbers from a Random object with an auto-generated seed: ' 736507882 1064197552 1963117288 398705585 396275689 1137173773 ' 0.67440084 0.53752140 0.97879483 0.03814764 0.67978248 0.19488178
// Example of the Random class constructors and Random.NextDouble( ) // method. using System; using System.Threading; public class RandomObjectDemo { // Generate random numbers from the specified Random object. static void RunIntNDoubleRandoms( Random randObj ) { // Generate the first six random integers. for( int j = 0; j < 6; j++ ) Console.Write( " {0,10} ", randObj.Next( ) ); Console.WriteLine( ); // Generate the first six random doubles. for( int j = 0; j < 6; j++ ) Console.Write( " {0:F8} ", randObj.NextDouble( ) ); Console.WriteLine( ); } // Create a Random object with the specified seed. static void FixedSeedRandoms( int seed ) { Console.WriteLine( "\nRandom numbers from a Random object with " + "seed = {0}:", seed ); Random fixRand = new Random( seed ); RunIntNDoubleRandoms( fixRand ); } // Create a random object with a timer-generated seed. static void AutoSeedRandoms( ) { // Wait to allow the timer to advance. Thread.Sleep( 1 ); Console.WriteLine( "\nRandom numbers from a Random object " + "with an auto-generated seed:" ); Random autoRand = new Random( ); RunIntNDoubleRandoms( autoRand ); } static void Main( ) { Console.WriteLine( "This example of the Random class constructors and " + "Random.NextDouble( ) \n" + "generates the following output.\n" ); Console.WriteLine( "Create Random objects, and then generate and " + "display six integers and \nsix doubles from each."); FixedSeedRandoms( 123 ); FixedSeedRandoms( 123 ); FixedSeedRandoms( 456 ); FixedSeedRandoms( 456 ); AutoSeedRandoms( ); AutoSeedRandoms( ); AutoSeedRandoms( ); } } /* This example of the Random class constructors and Random.NextDouble( ) generates the following output. Create Random objects, and then generate and display six integers and six doubles from each. Random numbers from a Random object with seed = 123: 2114319875 1949518561 1596751841 1742987178 1586516133 103755708 0.01700087 0.14935942 0.19470390 0.63008947 0.90976122 0.49519146 Random numbers from a Random object with seed = 123: 2114319875 1949518561 1596751841 1742987178 1586516133 103755708 0.01700087 0.14935942 0.19470390 0.63008947 0.90976122 0.49519146 Random numbers from a Random object with seed = 456: 2044805024 1323311594 1087799997 1907260840 179380355 120870348 0.21988117 0.21026556 0.39236514 0.42420498 0.24102703 0.47310170 Random numbers from a Random object with seed = 456: 2044805024 1323311594 1087799997 1907260840 179380355 120870348 0.21988117 0.21026556 0.39236514 0.42420498 0.24102703 0.47310170 Random numbers from a Random object with an auto-generated seed: 380213349 127379247 1969091178 1983029819 1963098450 1648433124 0.08824121 0.41249688 0.36445811 0.05637512 0.62702451 0.49595560 Random numbers from a Random object with an auto-generated seed: 861793304 2133528783 1947358439 124230908 921262645 1087892791 0.56880819 0.42934091 0.60162512 0.74388610 0.99432979 0.30310005 Random numbers from a Random object with an auto-generated seed: 1343373259 1992194672 1925625700 412915644 2026910487 527352458 0.04937517 0.44618494 0.83879212 0.43139707 0.36163507 0.11024451 */
// Example of the Random class constructors and Random::NextDouble( ) // method. using namespace System; using namespace System::Threading; // Generate random numbers from the specified Random object. void RunIntNDoubleRandoms( Random^ randObj ) { // Generate the first six random integers. for ( int j = 0; j < 6; j++ ) Console::Write( " {0,10} ", randObj->Next() ); Console::WriteLine(); // Generate the first six random doubles. for ( int j = 0; j < 6; j++ ) Console::Write( " {0:F8} ", randObj->NextDouble() ); Console::WriteLine(); } // Create a Random object with the specified seed. void FixedSeedRandoms( int seed ) { Console::WriteLine( "\nRandom numbers from a Random object with seed = {0}:", seed ); Random^ fixRand = gcnew Random( seed ); RunIntNDoubleRandoms( fixRand ); } // Create a random object with a timer-generated seed. void AutoSeedRandoms() { // Wait to allow the timer to advance. Thread::Sleep( 1 ); Console::WriteLine( "\nRandom numbers from a Random object " "with an auto-generated seed:" ); Random^ autoRand = gcnew Random; RunIntNDoubleRandoms( autoRand ); } int main() { Console::WriteLine( "This example of the Random class constructors and Random" "::NextDouble( ) \ngenerates the following output.\n" ); Console::WriteLine( "Create Random objects, and then generate and " "display six integers and \nsix doubles from each." ); FixedSeedRandoms( 123 ); FixedSeedRandoms( 123 ); FixedSeedRandoms( 456 ); FixedSeedRandoms( 456 ); AutoSeedRandoms(); AutoSeedRandoms(); AutoSeedRandoms(); } /* This example of the Random class constructors and Random::NextDouble( ) generates the following output. Create Random objects, and then generate and display six integers and six doubles from each. Random numbers from a Random object with seed = 123: 2114319875 1949518561 1596751841 1742987178 1586516133 103755708 0.01700087 0.14935942 0.19470390 0.63008947 0.90976122 0.49519146 Random numbers from a Random object with seed = 123: 2114319875 1949518561 1596751841 1742987178 1586516133 103755708 0.01700087 0.14935942 0.19470390 0.63008947 0.90976122 0.49519146 Random numbers from a Random object with seed = 456: 2044805024 1323311594 1087799997 1907260840 179380355 120870348 0.21988117 0.21026556 0.39236514 0.42420498 0.24102703 0.47310170 Random numbers from a Random object with seed = 456: 2044805024 1323311594 1087799997 1907260840 179380355 120870348 0.21988117 0.21026556 0.39236514 0.42420498 0.24102703 0.47310170 Random numbers from a Random object with an auto-generated seed: 1624372556 1894939458 302472229 588108304 23919954 1085111949 0.14595512 0.30162298 0.92267372 0.55707657 0.25430079 0.74143239 Random numbers from a Random object with an auto-generated seed: 2105952511 1753605347 280739490 876793040 1129567796 524571616 0.62652210 0.31846701 0.15984073 0.24458755 0.62160607 0.54857684 Random numbers from a Random object with an auto-generated seed: 440048819 1612271236 259006751 1165477776 87731991 2111514930 0.10708907 0.33531104 0.39700773 0.93209853 0.98891135 0.35572129 */
System.Random
プラットフォーム
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
Random コンストラクタ ()
アセンブリ: mscorlib (mscorlib.dll 内)
構文
解説
生成される数値の分布は一様で、どの数字も同じ確率で返される可能性があります。
既定のシード値は、システム時計から導かれます。ただし、パフォーマンスの高いシステムで乱数を生成する場合、システム時計の値を使用すると、期待した動作が得られない可能性があります。詳細については、Random コンストラクタの解説を参照してください。
パラメータなしのクラス コンストラクタを使用して Random オブジェクトを作成し、整数および倍精度浮動小数点数のランダムなシーケンスを生成するコード例を次に示します。パラメータのないコンストラクタを使用して Random オブジェクトを再度生成すると、異なるシーケンスが生成されることがわかります。
' Example of the Random class constructors and Random.NextDouble( ) ' method. Imports System Imports System.Threading Imports Microsoft.VisualBasic Module RandomObjectDemo ' Generate random numbers from the specified Random object. Sub RunIntNDoubleRandoms( randObj As Random ) ' Generate the first six random integers. Dim j As Integer For j = 0 To 5 Console.Write( " {0,10} ", randObj.Next( ) ) Next j Console.WriteLine( ) ' Generate the first six random doubles. For j = 0 To 5 Console.Write( " {0:F8} ", randObj.NextDouble( ) ) Next j Console.WriteLine( ) End Sub ' Create a Random object with the specified seed. Sub FixedSeedRandoms( seed As Integer ) Console.WriteLine( vbCrLf & _ "Random numbers from a Random object with " & _ "seed = {0}:", seed ) Dim fixRand As New Random( seed ) RunIntNDoubleRandoms( fixRand ) End Sub ' Create a random object with a timer-generated seed. Sub AutoSeedRandoms( ) ' Wait to allow the timer to advance. Thread.Sleep( 1 ) Console.WriteLine( vbCrLf & _ "Random numbers from a Random object " & _ "with an auto-generated seed:" ) Dim autoRand As New Random( ) RunIntNDoubleRandoms( autoRand ) End Sub Sub Main( ) Console.WriteLine( _ "This example of the Random class constructors " & _ "and Random.NextDouble( ) " & vbCrLf & _ "generates the following output." & vbCrLf ) Console.WriteLine( "Create Random " & _ "objects, and then generate and display six " & _ "integers and " & vbCrLf & "six doubles from each." ) FixedSeedRandoms( 123 ) FixedSeedRandoms( 123 ) FixedSeedRandoms( 456 ) FixedSeedRandoms( 456 ) AutoSeedRandoms( ) AutoSeedRandoms( ) AutoSeedRandoms( ) End Sub End Module ' This example of the Random class constructors and Random.NextDouble( ) ' generates the following output. ' ' Create Random objects, and then generate and display six integers and ' six doubles from each. ' ' Random numbers from a Random object with seed = 123: ' 2114319875 1949518561 1596751841 1742987178 1586516133 103755708 ' 0.01700087 0.14935942 0.19470390 0.63008947 0.90976122 0.49519146 ' ' Random numbers from a Random object with seed = 123: ' 2114319875 1949518561 1596751841 1742987178 1586516133 103755708 ' 0.01700087 0.14935942 0.19470390 0.63008947 0.90976122 0.49519146 ' ' Random numbers from a Random object with seed = 456: ' 2044805024 1323311594 1087799997 1907260840 179380355 120870348 ' 0.21988117 0.21026556 0.39236514 0.42420498 0.24102703 0.47310170 ' ' Random numbers from a Random object with seed = 456: ' 2044805024 1323311594 1087799997 1907260840 179380355 120870348 ' 0.21988117 0.21026556 0.39236514 0.42420498 0.24102703 0.47310170 ' ' Random numbers from a Random object with an auto-generated seed: ' 1920831619 1346865774 2006582766 1968819760 332463652 110770792 ' 0.71326689 0.50383335 0.50446082 0.66312569 0.94517193 0.58059287 ' ' Random numbers from a Random object with an auto-generated seed: ' 254927927 1205531663 1984850027 110020849 1438111494 1697714106 ' 0.19383387 0.52067738 0.74162783 0.35063667 0.31247720 0.38773733 ' ' Random numbers from a Random object with an auto-generated seed: ' 736507882 1064197552 1963117288 398705585 396275689 1137173773 ' 0.67440084 0.53752140 0.97879483 0.03814764 0.67978248 0.19488178
// Example of the Random class constructors and Random.NextDouble( ) // method. using System; using System.Threading; public class RandomObjectDemo { // Generate random numbers from the specified Random object. static void RunIntNDoubleRandoms( Random randObj ) { // Generate the first six random integers. for( int j = 0; j < 6; j++ ) Console.Write( " {0,10} ", randObj.Next( ) ); Console.WriteLine( ); // Generate the first six random doubles. for( int j = 0; j < 6; j++ ) Console.Write( " {0:F8} ", randObj.NextDouble( ) ); Console.WriteLine( ); } // Create a Random object with the specified seed. static void FixedSeedRandoms( int seed ) { Console.WriteLine( "\nRandom numbers from a Random object with " + "seed = {0}:", seed ); Random fixRand = new Random( seed ); RunIntNDoubleRandoms( fixRand ); } // Create a random object with a timer-generated seed. static void AutoSeedRandoms( ) { // Wait to allow the timer to advance. Thread.Sleep( 1 ); Console.WriteLine( "\nRandom numbers from a Random object " + "with an auto-generated seed:" ); Random autoRand = new Random( ); RunIntNDoubleRandoms( autoRand ); } static void Main( ) { Console.WriteLine( "This example of the Random class constructors and " + "Random.NextDouble( ) \n" + "generates the following output.\n" ); Console.WriteLine( "Create Random objects, and then generate and " + "display six integers and \nsix doubles from each."); FixedSeedRandoms( 123 ); FixedSeedRandoms( 123 ); FixedSeedRandoms( 456 ); FixedSeedRandoms( 456 ); AutoSeedRandoms( ); AutoSeedRandoms( ); AutoSeedRandoms( ); } } /* This example of the Random class constructors and Random.NextDouble( ) generates the following output. Create Random objects, and then generate and display six integers and six doubles from each. Random numbers from a Random object with seed = 123: 2114319875 1949518561 1596751841 1742987178 1586516133 103755708 0.01700087 0.14935942 0.19470390 0.63008947 0.90976122 0.49519146 Random numbers from a Random object with seed = 123: 2114319875 1949518561 1596751841 1742987178 1586516133 103755708 0.01700087 0.14935942 0.19470390 0.63008947 0.90976122 0.49519146 Random numbers from a Random object with seed = 456: 2044805024 1323311594 1087799997 1907260840 179380355 120870348 0.21988117 0.21026556 0.39236514 0.42420498 0.24102703 0.47310170 Random numbers from a Random object with seed = 456: 2044805024 1323311594 1087799997 1907260840 179380355 120870348 0.21988117 0.21026556 0.39236514 0.42420498 0.24102703 0.47310170 Random numbers from a Random object with an auto-generated seed: 380213349 127379247 1969091178 1983029819 1963098450 1648433124 0.08824121 0.41249688 0.36445811 0.05637512 0.62702451 0.49595560 Random numbers from a Random object with an auto-generated seed: 861793304 2133528783 1947358439 124230908 921262645 1087892791 0.56880819 0.42934091 0.60162512 0.74388610 0.99432979 0.30310005 Random numbers from a Random object with an auto-generated seed: 1343373259 1992194672 1925625700 412915644 2026910487 527352458 0.04937517 0.44618494 0.83879212 0.43139707 0.36163507 0.11024451 */
// Example of the Random class constructors and Random::NextDouble( ) // method. using namespace System; using namespace System::Threading; // Generate random numbers from the specified Random object. void RunIntNDoubleRandoms( Random^ randObj ) { // Generate the first six random integers. for ( int j = 0; j < 6; j++ ) Console::Write( " {0,10} ", randObj->Next() ); Console::WriteLine(); // Generate the first six random doubles. for ( int j = 0; j < 6; j++ ) Console::Write( " {0:F8} ", randObj->NextDouble() ); Console::WriteLine(); } // Create a Random object with the specified seed. void FixedSeedRandoms( int seed ) { Console::WriteLine( "\nRandom numbers from a Random object with seed = {0}:", seed ); Random^ fixRand = gcnew Random( seed ); RunIntNDoubleRandoms( fixRand ); } // Create a random object with a timer-generated seed. void AutoSeedRandoms() { // Wait to allow the timer to advance. Thread::Sleep( 1 ); Console::WriteLine( "\nRandom numbers from a Random object " "with an auto-generated seed:" ); Random^ autoRand = gcnew Random; RunIntNDoubleRandoms( autoRand ); } int main() { Console::WriteLine( "This example of the Random class constructors and Random" "::NextDouble( ) \ngenerates the following output.\n" ); Console::WriteLine( "Create Random objects, and then generate and " "display six integers and \nsix doubles from each." ); FixedSeedRandoms( 123 ); FixedSeedRandoms( 123 ); FixedSeedRandoms( 456 ); FixedSeedRandoms( 456 ); AutoSeedRandoms(); AutoSeedRandoms(); AutoSeedRandoms(); } /* This example of the Random class constructors and Random::NextDouble( ) generates the following output. Create Random objects, and then generate and display six integers and six doubles from each. Random numbers from a Random object with seed = 123: 2114319875 1949518561 1596751841 1742987178 1586516133 103755708 0.01700087 0.14935942 0.19470390 0.63008947 0.90976122 0.49519146 Random numbers from a Random object with seed = 123: 2114319875 1949518561 1596751841 1742987178 1586516133 103755708 0.01700087 0.14935942 0.19470390 0.63008947 0.90976122 0.49519146 Random numbers from a Random object with seed = 456: 2044805024 1323311594 1087799997 1907260840 179380355 120870348 0.21988117 0.21026556 0.39236514 0.42420498 0.24102703 0.47310170 Random numbers from a Random object with seed = 456: 2044805024 1323311594 1087799997 1907260840 179380355 120870348 0.21988117 0.21026556 0.39236514 0.42420498 0.24102703 0.47310170 Random numbers from a Random object with an auto-generated seed: 1624372556 1894939458 302472229 588108304 23919954 1085111949 0.14595512 0.30162298 0.92267372 0.55707657 0.25430079 0.74143239 Random numbers from a Random object with an auto-generated seed: 2105952511 1753605347 280739490 876793040 1129567796 524571616 0.62652210 0.31846701 0.15984073 0.24458755 0.62160607 0.54857684 Random numbers from a Random object with an auto-generated seed: 440048819 1612271236 259006751 1165477776 87731991 2111514930 0.10708907 0.33531104 0.39700773 0.93209853 0.98891135 0.35572129 */
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
Random コンストラクタ (Int32)
アセンブリ: mscorlib (mscorlib.dll 内)
構文
例外
解説
アプリケーションで複数の異なるシーケンスが必要な場合は、異なるシード値を使用して、このコンストラクタを複数回呼び出します。一意のシード値を生成する方法の 1 つに、シード値を時刻依存させる方法があります。たとえば、シード値の生成をシステム時計によって行います。
しかし、アプリケーションが高速なコンピュータ上で実行された場合には、このコンストラクタが複数回呼び出される間にシステム時計の値が変化せず、Random の複数の異なるインスタンスに対して同じシード値が生成される可能性があります。このような場合には、呼び出しのたびにシード値を変えるためのアルゴリズムを適用します。
たとえば、次に示す C# の式では、ビットごとの補数演算を使用して、システム時刻の値が変化しない場合でも 2 つの異なるシード値を生成します。
シード パラメータを受け取るクラス コンストラクタを使用して Random オブジェクトを作成し、整数および倍精度浮動小数点数のランダムなシーケンスを生成するコード例を次に示します。シード パラメータを受け取るコンストラクタを使用して Random オブジェクトを再度生成すると、同じシーケンスが生成されることがわかります。
' Example of the Random class constructors and Random.NextDouble( ) ' method. Imports System Imports System.Threading Imports Microsoft.VisualBasic Module RandomObjectDemo ' Generate random numbers from the specified Random object. Sub RunIntNDoubleRandoms( randObj As Random ) ' Generate the first six random integers. Dim j As Integer For j = 0 To 5 Console.Write( " {0,10} ", randObj.Next( ) ) Next j Console.WriteLine( ) ' Generate the first six random doubles. For j = 0 To 5 Console.Write( " {0:F8} ", randObj.NextDouble( ) ) Next j Console.WriteLine( ) End Sub ' Create a Random object with the specified seed. Sub FixedSeedRandoms( seed As Integer ) Console.WriteLine( vbCrLf & _ "Random numbers from a Random object with " & _ "seed = {0}:", seed ) Dim fixRand As New Random( seed ) RunIntNDoubleRandoms( fixRand ) End Sub ' Create a random object with a timer-generated seed. Sub AutoSeedRandoms( ) ' Wait to allow the timer to advance. Thread.Sleep( 1 ) Console.WriteLine( vbCrLf & _ "Random numbers from a Random object " & _ "with an auto-generated seed:" ) Dim autoRand As New Random( ) RunIntNDoubleRandoms( autoRand ) End Sub Sub Main( ) Console.WriteLine( _ "This example of the Random class constructors " & _ "and Random.NextDouble( ) " & vbCrLf & _ "generates the following output." & vbCrLf ) Console.WriteLine( "Create Random " & _ "objects, and then generate and display six " & _ "integers and " & vbCrLf & "six doubles from each." ) FixedSeedRandoms( 123 ) FixedSeedRandoms( 123 ) FixedSeedRandoms( 456 ) FixedSeedRandoms( 456 ) AutoSeedRandoms( ) AutoSeedRandoms( ) AutoSeedRandoms( ) End Sub End Module ' This example of the Random class constructors and Random.NextDouble( ) ' generates the following output. ' ' Create Random objects, and then generate and display six integers and ' six doubles from each. ' ' Random numbers from a Random object with seed = 123: ' 2114319875 1949518561 1596751841 1742987178 1586516133 103755708 ' 0.01700087 0.14935942 0.19470390 0.63008947 0.90976122 0.49519146 ' ' Random numbers from a Random object with seed = 123: ' 2114319875 1949518561 1596751841 1742987178 1586516133 103755708 ' 0.01700087 0.14935942 0.19470390 0.63008947 0.90976122 0.49519146 ' ' Random numbers from a Random object with seed = 456: ' 2044805024 1323311594 1087799997 1907260840 179380355 120870348 ' 0.21988117 0.21026556 0.39236514 0.42420498 0.24102703 0.47310170 ' ' Random numbers from a Random object with seed = 456: ' 2044805024 1323311594 1087799997 1907260840 179380355 120870348 ' 0.21988117 0.21026556 0.39236514 0.42420498 0.24102703 0.47310170 ' ' Random numbers from a Random object with an auto-generated seed: ' 1920831619 1346865774 2006582766 1968819760 332463652 110770792 ' 0.71326689 0.50383335 0.50446082 0.66312569 0.94517193 0.58059287 ' ' Random numbers from a Random object with an auto-generated seed: ' 254927927 1205531663 1984850027 110020849 1438111494 1697714106 ' 0.19383387 0.52067738 0.74162783 0.35063667 0.31247720 0.38773733 ' ' Random numbers from a Random object with an auto-generated seed: ' 736507882 1064197552 1963117288 398705585 396275689 1137173773 ' 0.67440084 0.53752140 0.97879483 0.03814764 0.67978248 0.19488178
// Example of the Random class constructors and Random.NextDouble( ) // method. using System; using System.Threading; public class RandomObjectDemo { // Generate random numbers from the specified Random object. static void RunIntNDoubleRandoms( Random randObj ) { // Generate the first six random integers. for( int j = 0; j < 6; j++ ) Console.Write( " {0,10} ", randObj.Next( ) ); Console.WriteLine( ); // Generate the first six random doubles. for( int j = 0; j < 6; j++ ) Console.Write( " {0:F8} ", randObj.NextDouble( ) ); Console.WriteLine( ); } // Create a Random object with the specified seed. static void FixedSeedRandoms( int seed ) { Console.WriteLine( "\nRandom numbers from a Random object with " + "seed = {0}:", seed ); Random fixRand = new Random( seed ); RunIntNDoubleRandoms( fixRand ); } // Create a random object with a timer-generated seed. static void AutoSeedRandoms( ) { // Wait to allow the timer to advance. Thread.Sleep( 1 ); Console.WriteLine( "\nRandom numbers from a Random object " + "with an auto-generated seed:" ); Random autoRand = new Random( ); RunIntNDoubleRandoms( autoRand ); } static void Main( ) { Console.WriteLine( "This example of the Random class constructors and " + "Random.NextDouble( ) \n" + "generates the following output.\n" ); Console.WriteLine( "Create Random objects, and then generate and " + "display six integers and \nsix doubles from each."); FixedSeedRandoms( 123 ); FixedSeedRandoms( 123 ); FixedSeedRandoms( 456 ); FixedSeedRandoms( 456 ); AutoSeedRandoms( ); AutoSeedRandoms( ); AutoSeedRandoms( ); } } /* This example of the Random class constructors and Random.NextDouble( ) generates the following output. Create Random objects, and then generate and display six integers and six doubles from each. Random numbers from a Random object with seed = 123: 2114319875 1949518561 1596751841 1742987178 1586516133 103755708 0.01700087 0.14935942 0.19470390 0.63008947 0.90976122 0.49519146 Random numbers from a Random object with seed = 123: 2114319875 1949518561 1596751841 1742987178 1586516133 103755708 0.01700087 0.14935942 0.19470390 0.63008947 0.90976122 0.49519146 Random numbers from a Random object with seed = 456: 2044805024 1323311594 1087799997 1907260840 179380355 120870348 0.21988117 0.21026556 0.39236514 0.42420498 0.24102703 0.47310170 Random numbers from a Random object with seed = 456: 2044805024 1323311594 1087799997 1907260840 179380355 120870348 0.21988117 0.21026556 0.39236514 0.42420498 0.24102703 0.47310170 Random numbers from a Random object with an auto-generated seed: 380213349 127379247 1969091178 1983029819 1963098450 1648433124 0.08824121 0.41249688 0.36445811 0.05637512 0.62702451 0.49595560 Random numbers from a Random object with an auto-generated seed: 861793304 2133528783 1947358439 124230908 921262645 1087892791 0.56880819 0.42934091 0.60162512 0.74388610 0.99432979 0.30310005 Random numbers from a Random object with an auto-generated seed: 1343373259 1992194672 1925625700 412915644 2026910487 527352458 0.04937517 0.44618494 0.83879212 0.43139707 0.36163507 0.11024451 */
// Example of the Random class constructors and Random::NextDouble( ) // method. using namespace System; using namespace System::Threading; // Generate random numbers from the specified Random object. void RunIntNDoubleRandoms( Random^ randObj ) { // Generate the first six random integers. for ( int j = 0; j < 6; j++ ) Console::Write( " {0,10} ", randObj->Next() ); Console::WriteLine(); // Generate the first six random doubles. for ( int j = 0; j < 6; j++ ) Console::Write( " {0:F8} ", randObj->NextDouble() ); Console::WriteLine(); } // Create a Random object with the specified seed. void FixedSeedRandoms( int seed ) { Console::WriteLine( "\nRandom numbers from a Random object with seed = {0}:", seed ); Random^ fixRand = gcnew Random( seed ); RunIntNDoubleRandoms( fixRand ); } // Create a random object with a timer-generated seed. void AutoSeedRandoms() { // Wait to allow the timer to advance. Thread::Sleep( 1 ); Console::WriteLine( "\nRandom numbers from a Random object " "with an auto-generated seed:" ); Random^ autoRand = gcnew Random; RunIntNDoubleRandoms( autoRand ); } int main() { Console::WriteLine( "This example of the Random class constructors and Random" "::NextDouble( ) \ngenerates the following output.\n" ); Console::WriteLine( "Create Random objects, and then generate and " "display six integers and \nsix doubles from each." ); FixedSeedRandoms( 123 ); FixedSeedRandoms( 123 ); FixedSeedRandoms( 456 ); FixedSeedRandoms( 456 ); AutoSeedRandoms(); AutoSeedRandoms(); AutoSeedRandoms(); } /* This example of the Random class constructors and Random::NextDouble( ) generates the following output. Create Random objects, and then generate and display six integers and six doubles from each. Random numbers from a Random object with seed = 123: 2114319875 1949518561 1596751841 1742987178 1586516133 103755708 0.01700087 0.14935942 0.19470390 0.63008947 0.90976122 0.49519146 Random numbers from a Random object with seed = 123: 2114319875 1949518561 1596751841 1742987178 1586516133 103755708 0.01700087 0.14935942 0.19470390 0.63008947 0.90976122 0.49519146 Random numbers from a Random object with seed = 456: 2044805024 1323311594 1087799997 1907260840 179380355 120870348 0.21988117 0.21026556 0.39236514 0.42420498 0.24102703 0.47310170 Random numbers from a Random object with seed = 456: 2044805024 1323311594 1087799997 1907260840 179380355 120870348 0.21988117 0.21026556 0.39236514 0.42420498 0.24102703 0.47310170 Random numbers from a Random object with an auto-generated seed: 1624372556 1894939458 302472229 588108304 23919954 1085111949 0.14595512 0.30162298 0.92267372 0.55707657 0.25430079 0.74143239 Random numbers from a Random object with an auto-generated seed: 2105952511 1753605347 280739490 876793040 1129567796 524571616 0.62652210 0.31846701 0.15984073 0.24458755 0.62160607 0.54857684 Random numbers from a Random object with an auto-generated seed: 440048819 1612271236 259006751 1165477776 87731991 2111514930 0.10708907 0.33531104 0.39700773 0.93209853 0.98891135 0.35572129 */
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
参照
Random コンストラクタ
オーバーロードの一覧
名前 | 説明 |
---|---|
Random () | 時間に応じて決定される既定のシード値を使用し、Random クラスの新しいインスタンスを初期化します。 .NET Compact Framework によってサポートされています。 |
Random (Int32) | 指定したシード値を使用して Random クラスの新しいインスタンスを初期化します。 .NET Compact Framework によってサポートされています。 |
Random メソッド
パブリック メソッド
名前 | 説明 | |
---|---|---|
Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) | |
GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) | |
GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) | |
Next | オーバーロードされます。 乱数を返します。 | |
NextBytes | 指定したバイト配列の要素に乱数を格納します。 | |
NextDouble | 0.0 と 1.0 の間の乱数を返します。 | |
ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) | |
ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |
名前 | 説明 | |
---|---|---|
Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) | |
MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) | |
Sample | 0.0 と 1.0 の間の乱数を返します。 |
Random メンバ
擬似乱数ジェネレータを表します。擬似乱数ジェネレータは、乱数についての統計的な要件を満たす数値系列を生成するデバイスです。
Random データ型で公開されるメンバを以下の表に示します。
パブリック コンストラクタ
パブリック メソッド
名前 | 説明 | |
---|---|---|
Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) | |
GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) | |
GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) | |
Next | オーバーロードされます。 乱数を返します。 | |
NextBytes | 指定したバイト配列の要素に乱数を格納します。 | |
NextDouble | 0.0 と 1.0 の間の乱数を返します。 | |
ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) | |
ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |
名前 | 説明 | |
---|---|---|
Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) | |
MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) | |
Sample | 0.0 と 1.0 の間の乱数を返します。 |
無作為に
要素が偶然的過程によって選択された標本は、無作為標本 1ないし確率標本 1と呼ばれる。標本抽出単位の完全なリストが利用可能な場合、これは抽出枠 3と呼ばれる。単純無作為抽出 4では、ある割合の抽出単位が抽出枠から無作為に 2選択される。この割合は抽出率 5と呼ばれる。系統抽出標本 6は抽出単位が連続的に番号を付けられている枠から系統的に抽出される 7。標本はn番目、(n+s)番目、(n+2s)番目、・・・といった単位をとることによって選択される。この場合nはsより大きくなく、無作為に選択される。集落抽出法 8では、母集団の要素が個別に抽出されるのではなく、集落 9と呼ばれる集団単位で抽出される。
RANDOM+
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/05/14 19:56 UTC 版)
「beatmania IIDX」の記事における「RANDOM+」の解説
スクラッチオブジェも含めた8ラインでシャッフルを行う。コマンド入力後、RANDOMオプションまたはS-RANDOMオプションをオンにすることで適用される(後者では8ラインすべてのノートがノートごとにシャッフルされることになる)。AUTO-SCRATCHや5KEYSとの併用及びEXPERTモードでの使用はできない。
※この「RANDOM+」の解説は、「beatmania IIDX」の解説の一部です。
「RANDOM+」を含む「beatmania IIDX」の記事については、「beatmania IIDX」の概要を参照ください。
- randomのページへのリンク