Pseudorandom number evaluation system, method, and program, and pseudorandom number generation device, method, and program

A system and method for evaluating pseudorandom numbers using uniform distribution and independence tests, particularly through isosceles triangle distribution analysis, addresses the lack of quantitative assessment in existing methods, ensuring generated numbers meet statistical criteria for practical use.

JP7785296B2Active Publication Date: 2025-12-15有田 清三郎 +1
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2023022305
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2023-02-16
Publication Date
2025-12-15
Estimated Expiration
2043-02-16

AI Technical Summary

Technical Problem

Existing pseudorandom number generation methods lack sufficient quantitative evaluation of independence and uniform distribution, particularly in the visual and quantitative assessment of these properties.

Method used

A system and method for evaluating pseudorandom numbers using uniform distribution testing and independence testing, specifically through isosceles triangle distribution analysis of differences between numbers, ensuring the generated pseudorandom numbers meet statistical criteria for uniformity and independence.

Benefits of technology

Enables quantitative evaluation of pseudorandom number properties, allowing for the generation of numbers that pass uniform distribution and independence tests, suitable for practical applications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007785296000006
    Figure 0007785296000006
  • Figure 0007785296000007
    Figure 0007785296000007
  • Figure 0007785296000008
    Figure 0007785296000008
Patent Text Reader

Abstract

To evaluate the uniform distribution and independence of pseudo random numbers.SOLUTION: A uniform distribution test is performed to determine whether or not a given sequence of pseudo random numbers is within a statistically allowable range of a uniform distribution, and a distribution shape test is performed to determine whether or not a distribution of differences between two numerical values in the sequence of pseudo random numbers is within a statistically allowable range of an isosceles triangular distribution. On the assumption that the distribution is determined to be uniform, it is determined that the given pseudorandom number has independence, if it passes the distribution shape test. If necessary, a symmetry test is performed to determine whether or not the distribution of the differences is within a statistically allowable range of symmetry, and an average value test is performed to determine whether or not the average value of the differences is within a statistically allowable range centered on zero.SELECTED DRAWING: Figure 9
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This invention relates to a system, method, and program for evaluating the independence and uniform distribution of pseudorandom numbers. This invention also relates to a pseudorandom number generation device, method, and program that utilizes the above pseudorandom number evaluation system, method, and program.

[0002] Many researchers have been researching pseudorandom number generation devices and methods, and various methods have been developed. In addition, pseudorandom number generation programs are now available online.

[0003] For example, pseudorandom number generation devices and methods are known that utilize a logistic chaos sequence (also simply referred to as a "chaos sequence") created based on the recurrence formula of the logistic map (hereinafter referred to as a "logistic chaos equation"). The logistic map changes in various ways by changing the initial parameters given to the discrete logistic chaos equation, and exhibits complex behavior known as chaos. For this reason, logistic chaos sequences are used to generate pseudorandom numbers, and there are many publications on them. For example, Patent Document 1 summarizes many proposals for pseudorandom number generation based on chaos maps.

[0004] In addition, one of the inventors proposed a further improved pseudorandom number generation device, method and program that utilizes chaotic number sequences (Patent Document 2). Non-patent documents 1 and 2 provide basic knowledge of statistics. [Prior art documents] [Patent documents]

[0005] [Patent Document 1] Japanese Patent Application Publication No. 2018-97438 [Patent Document 2] No. 6782347 Patent Publication [Non-patent literature]

[0006] [Non-Patent Document 1] "Dictionary of Statistical Terms," ​​edited by Yujun Shiba, Hiroshi Watanabe, and Tomokazu Ishizuka, 156 pages, May 15, 1984, Shinyosha Co., Ltd. [Non-patent document 2] "Mathematical Statistics" co-authored by Takayoshi Kawata and Fumiyuki Maruyama, pp. 48-55, February 20, 1960, Shokabo LLC.

[0007] Originally, a random number sequence was typically a time series of the numbers that appear when rolling a die. A random number sequence based on the numbers on a die has the following two properties: 1. Independence (the next event (the number of dice) appears independently of the previous event (the number of dice). Furthermore, no matter which part of the sequence is cut out, there is no relationship with other parts. This is also called unpredictability.) 2. The numbers in a random number sequence (the numbers on the dice) appear with equal probability (uniform distribution or uniform distribution).

[0008] However, the properties of the generated pseudorandom numbers (independence and uniform distribution), especially the visual or quantitative evaluation of independence, have not been sufficiently studied. Summary of the Invention

[0009] The present invention provides a system, method and program that can at least quantitatively evaluate the properties of a given pseudo-random number.

[0010] The present invention also provides a system, method and program that can at least quantitatively evaluate at least the independence of given pseudorandom numbers.

[0011] Furthermore, the present invention provides an apparatus, method and program for creating (generating) pseudorandom numbers that pass tests of uniform distribution and independence.

[0012] The present invention also provides a device, method and program for creating (generating) pseudorandom numbers derived from a logistic chaos equation that have passed evaluation by the above evaluation system, method and program.

[0013] The pseudorandom number evaluation system according to the present invention comprises a uniform distribution testing means for testing whether a given sequence of pseudorandom numbers is uniformly distributed, and an independence testing means for testing whether the sequences are independent.

[0014] The uniform distribution testing means tests whether the frequency of each interval obtained by dividing the range of existence of the given pseudorandom number value into equal intervals is within a statistically acceptable range of uniform distribution.

[0015] The independence testing means comprises an isosceles triangle testing means for testing whether the frequency distribution of each interval, which is obtained by dividing the differences into equal intervals on one axis of a Cartesian coordinate system, is within a statistically acceptable range of an isosceles triangle distribution in either a population of differences obtained by taking the differences between any two numbers for all combinations in the given pseudo-random numbers or a large sample of differences extracted from this population. The inventor has found that in a random number sequence that is uniformly distributed and independent, the distribution of the difference between any two numbers (numeric values) in the random number sequence is theoretically an isosceles triangle distribution. That is, for a given pseudo-random number sequence x1, x2, x3, ..., x i(j) ,…,x N When the are uniformly distributed and independent, the difference between them Δx p =x j -x i The distribution of (i≠j) (i=1 to N, j=1 to N) is an isosceles triangular distribution. Therefore, by testing whether the differences in a population of differences obtained by taking the difference between any numerical values ​​in a given pseudorandom number for all combinations are distributed in an isosceles triangular shape, it is possible to determine whether the given pseudorandom numbers are independent, assuming that the given pseudorandom numbers are uniformly distributed. Independence can also be tested in a similar manner for a large sample of differences obtained by extracting (sampling) numerical values ​​from the population of differences.

[0016] A large sample of differences refers to a sample whose size is large enough that its properties (statistic, statistical distribution) can be treated as (regarded as) statistically equivalent to those of the population of differences (almost surely having approximately the same properties and values) (see Non-Patent Documents 1 and 2). There are various methods for sampling to form a large sample. For example, a method of taking differences in the order of items that appear in the generation of pseudo-random numbers (adding a restriction of i > j), conversely, a method of taking differences from the later-appearing ones to the earlier-appearing ones among the generated pseudo-random numbers (adding a restriction of i < j), a method of taking differences between two adjacent items in a row of pseudo-random numbers (adding a restriction of j = i + 1 or j = i - 1), and furthermore, there are various methods such as adding restrictions of j = i + 2, j = i - 2, etc. In pseudo-random numbers, the number of differences in the population is enormous, and it is very laborious to investigate all of the population of differences. Therefore, it is convenient to examine the properties (statistic, statistical distribution) of the population of differences from a sample (large sample) extracted from the population of differences. By performing an independence test on the large sample of differences, the processing time can be shortened, and a conclusion statistically equivalent to the independence test performed on the population of differences can be obtained.

[0017] In the test for uniform distribution, sampling may also be performed without treating all the numerical values constituting a given pseudo-random number as the object of processing, to form a large sample, and then performing a test for uniform distribution on this large sample.

[0018] Thus, according to this invention, the properties (particularly, uniform distribution property, independence) of a given pseudo-random number can be evaluated. Moreover, these uniform distribution property and independence are quantitatively evaluated. Therefore, it is possible to specifically know how much uniform distribution property and independence are possessed.

[0019] If necessary, the independence testing means may include a symmetry testing means for testing whether the frequency distribution of the above differences is within a statistically acceptable range of symmetry around zero, and a mean value testing means for testing whether the mean value of the above numerical differences is within a statistically acceptable range around zero. These symmetry tests and mean value tests make it possible to know the distribution of a given pseudorandom number from other perspectives or in more detail.

[0020] The present invention also provides a pseudorandom number evaluation method and program.

[0021] The pseudo-random number creation device of this invention comprises a pseudo-random number generation means for generating pseudo-random numbers and the above-mentioned pseudo-random number evaluation system, and provides the pseudo-random numbers generated by the pseudo-random number generation means to the pseudo-random number evaluation system, and outputs pseudo-random numbers evaluated by the pseudo-random number evaluation system.

[0022] In particular, by outputting pseudorandom numbers that have been judged to pass the uniform distribution and independence criteria by the pseudorandom number evaluation system, it is possible to obtain pseudorandom numbers that can withstand many practical uses or that can be suitably used in practice.

[0023] The present invention also provides a method and program for generating pseudorandom numbers.

[0024] This invention can also generate pseudo-random numbers derived from a logistic chaos equation. The pseudo-random number generator according to this invention comprises chaotic number sequence generation means for generating a chaotic number sequence by applying given parameters to a logistic chaos equation, sample number sequence generation means for generating a sample number sequence by sampling at given intervals from the chaotic number sequence generated by the chaotic number sequence generation means, uniformization means for uniformizing the distribution of the sample number sequence generated by the sample number sequence generation means, and the pseudo-random number evaluation system, and provides the pseudo-random number sequence output from the uniformization means to the pseudo-random number evaluation system.

[0025] This invention also makes it possible to obtain pseudorandom numbers derived from the logistic chaos equation that pass the evaluation of uniform distribution and independence. It also makes it possible to know the optimum number of samples to skip when creating a sample sequence. [Brief explanation of the drawings]

[0026] [Figure 1] A histogram that shows the number (frequency) of values ​​that belong to each interval created by dividing the range from 0 to 1 into equal intervals for each term that makes up a given pseudo-random number sequence. [Figure 2a] When a given sequence of pseudorandom numbers is uniformly distributed and any two elements (terms) xi and xj are independent, the frequency distribution of xi is shown. [Figure 2b] This shows the frequency distribution of xj when a given pseudorandom number sequence is uniformly distributed and any two elements (terms) xi and xj are independent. [Figure 2c] The appearance probabilities of xi and xj in Figures 2a and 2b are shown on axes Xi and Xj that are orthogonal to each other. [Figure 3a] Figure 2c shows the result of changing the value of a = xj-xi between 0.0 and 0.1 on the Cartesian coordinate system. [Figure 3b] Figure 2c shows the result of varying the value of a = xj-xi between 0.5 and 0.6 on the Cartesian coordinate system. [Figure 3c] Figure 2c shows the result of varying the value of a = xj-xi between 0.9 and 1.0 on the Cartesian coordinate system. [Figure 4] It is shown that when a=xj-xi(Δxp) is taken on the horizontal axis and frequency on the vertical axis, an isosceles triangle distribution is obtained. [Figure 5] When one of the numbers on the dice (1 to 6) is xi and the other is xj, the difference between them, Δxp = xj - xi, is shown in a table. [Figure 6] The difference Δxp, the number of occurrences, and the occurrence probability are summarized in a table. [Figure 7] A histogram is shown for the difference Δxp, with the frequency on the vertical axis and the value of the difference on the horizontal axis. [Figure 8] 1 is a block diagram showing an outline of the hardware configuration of a pseudorandom number evaluation device (system) and pseudorandom number creation (generation) device (system). [Figure 9] 10 is a flowchart illustrating a pseudo-random number evaluation process. [Figure 10] 10 is a flowchart illustrating a verification process for a uniform distribution. [Figure 11] 10 is a flowchart showing a process for verifying the distribution of isosceles triangles. [Figure 12] 10 is a flowchart showing a verification process for the average value of differences=0. [Figure 13] 10 is a flowchart showing a process for verifying left-right symmetry. [Figure 14] 10 is a flowchart showing a pseudo-random number generation process. [Figure 15] 10 is a flowchart showing a pseudorandom number generation process using a logistic chaos equation. [Figure 16] This shows how to create a sample sequence every two samples from the generated chaotic sequence. [Figure 17] This shows the pseudo-random numbers generated in Example 1 over time. [Figure 18] 10 is a graph showing the verification results of the uniform distribution in Example 1. [Figure 19] 10 is a graph showing the verification results of the isosceles triangular distribution in Example 1. [Figure 20] This shows the pseudo-random numbers generated in Example 2 over time. [Figure 21] 10 is a graph showing the verification results of the uniform distribution in Example 2. [Figure 22] 10 is a graph showing verification results of an isosceles triangular distribution in Example 2. [Figure 23] 10 shows the pseudo-random numbers generated in Example 3 over time. [Figure 24] 10 is a graph showing the verification results of the uniform distribution in Example 3. [Figure 25] 10 is a graph showing verification results of an isosceles triangular distribution in Example 3. [Example]

[0027] 1.(A) Verifying uniform distribution using histograms Given a sequence of pseudorandom numbers, x1,x2,x3,…x i-1 ,x i ,x i+1 ,…x N-2, x N-1, x N Formula (1) Here, x i are the elements (terms) that make up the sequence, and 0 <x i It takes a value (numerical value, number) between 1 and 3, and is a number with about 3 to 5 decimal places, depending on the number of terms in the sequence (total number N). In practice, the number of terms N will be around 1,000 to 1,000,000. i is a positive integer that increases sequentially.

[0028] The range from 0 to 1 is divided into M equally spaced intervals (sections), and the number of times (frequency) the numerical value of each term that makes up a given pseudo-random number sequence belongs to each interval is counted to create a histogram.

[0029] Figure 1 shows an example of a histogram. The horizontal axis is the term x i The vertical axis represents the number of terms in each interval (frequency). For ease of drawing, the number of intervals, M, is 20, and the number of terms in the sequence, N, is 27,000. The theoretical value of the frequency of a uniform distribution is as follows:

[0030] Theoretical value = Number of terms N / Number of intervals M Equation (2)

[0031] The chi-square test is used to determine whether the actual sequence of given pseudorandom numbers is within the statistical tolerance range of a uniform distribution (uniform distribution verification). The chi-square value (χ 2 ) is given by the following formula:

[0032]

number

[0033] Calculate the formula (3) and calculate the result χ 2 The values ​​are discriminated using an appropriate rejection limit (criterion value) to determine whether there is a significant difference. For example, the rejection limit is χ at a significance level of 0.05. 2 The chi-squared value of 28.869 with 19-1=18 degrees of freedom is used. 2 If the value is less than the critical value, the given random number sequence is determined to be uniformly distributed, and if it is greater than or equal to the critical value, it is determined to be not uniformly distributed.

[0034] 2. Verification of independence (1) Independence indicators If the given pseudorandom number sequence shown in equation (1) is uniformly distributed and any two elements (terms) x i and x j are independent, (B1) the difference Δx p =x j -x i (i≠j, i=1~N, j=1~N) is the difference Δx p On one axis, the difference Δx p On a two-dimensional orthogonal coordinate system with the frequency of the other axis, the distribution is an isosceles triangle. And (B2) the isosceles triangle distribution is Δx p = 0, and (B3) the difference Δx p The mean value of is zero (0). These (B1), (B2), and (B3) are indices of independence that assume a uniform distribution, but index (B1) is the most important, and independence can be determined using index (B1) alone.

[0035] The independence of pseudorandom numbers is verified by whether the distribution of the differences shows an isosceles triangular distribution. Therefore, (B1) is the most important indicator that can verify independence both visually and quantitatively. (B2) verifies the symmetry of the isosceles triangular distribution. (B3) verifies the center of the isosceles triangular distribution.

[0036] Figure 2a and Figure 2b show the x i ,x j The frequency distribution of (x i The axis of i ,x jThe axis of j ) Since it is a uniform distribution, the frequency is x i ,x j are constant regardless of the values ​​of (denoted as c1 and c2, respectively).

[0037] Figure 2c shows X i ,X j X is the axis that intersects with the plane. i -X j The direction perpendicular to the plane represents the frequency (density). This frequency is X i x axis i appears and X j x on the axis j represents the probability of occurrence.

[0038] x i is c j and x j is c j The probability Pr when the value of P r (x i =c i and x j =c j ) Formula (4) This probability is expressed as x i and x j If are independent events, they can be expressed by multiplication. P r (x i =c i and x j =c j )=P r (x i =c i )×P r (x j =c j ) Formula (5)

[0039] x i Since is a uniform distribution (Fig. 2a), P r (x i =c i ) is a constant value.

[0040] Similarly, x j Since Pr(xj =c j ) is a constant value.

[0041] Therefore, P in Eq. (5) r (x i =c i and x j =c j ) always remains constant.

[0042] In Figure 2c, X i -X j The value of the axis perpendicular to the plane is a constant value. In other words, X i -X j On a plane, this means that there is a uniform density (frequency) distribution.

[0043] where x i and x j The difference Δx p Let a be a.

[0044] Δx p =x j -x i ≡a Formula (6)

[0045] Equation (6) is x j This leads to x j =x i +a formula (7) This is x i is a linear equation for X i -X j On a plane, it is represented by a straight line sloping upward to the right with intercept a.

[0046] As shown in Figure 3a, moving the value of a between 0 and 0.1 results in the gray band shown in the figure. Similarly, Figure 3b shows what happens when a is moved between 0.5 and 0.6, and Figure 3c shows what happens when a is moved between 0.9 and 1.0. In Figures 3a to 3c, the diagonal gray band that appears when a is moved by 0.1 can be said to represent the frequency (density) of a.

[0047] The diagonal gray bands above are the difference (Δx p If we take the horizontal axis as the frequency (=a) and the vertical axis as the frequency, we obtain an isosceles triangle distribution as shown in Figure 4. i and x j Show that (x i ,x j The distribution of the difference between independent events is an isosceles triangle with the vertical axis passing through 0 on the horizontal axis as the center, and the left and right sides of the vertical axis passing through 0 on the horizontal axis (Δx p The value of the vertical axis at the vertex of the isosceles triangle is Δx p =0. The frequency is Δx p = 1 or -1, it becomes 0. Also, since it is symmetric, Δx p The average value of is 0.

[0048] The independence index assuming uniform distribution will be explained below from another perspective.

[0049] A random number sequence, which is the number of digits that appear when a dice is rolled, is theoretically independent and uniformly distributed.

[0050] The dice roll can take any value from 1 to 6. x i and x j If takes one of the values ​​1 to 6, the difference Δx p =x j -x i The values ​​are as shown in Figure 5.

[0051] Difference Δx p The maximum value is 5 and the minimum is -5. p = 0 is the most common. p For values ​​where is 0 or positive, the number of occurrences and the probability of occurrence are summarized as shown in Figure 6.

[0052] Difference Δx p For values ​​where is 0 or negative, if we summarize the number of such values ​​and their occurrence probabilities, we obtain a table similar to that shown in Figure 6.

[0053] Difference Δx p If we create a histogram of the values ​​of (a) and (b) with the frequency (number) on the vertical axis and the difference value on the horizontal axis, we get Figure 7.

[0054] As can be seen from Figure 7, the above histogram forms an isosceles triangle on a two-dimensional orthogonal coordinate system, and the difference Δx p The mean value of is 0, and the distribution of isosceles triangle is Δx p It can be seen that the equation is symmetrical around =0.

[0055] (2) (B1) Verification of isosceles triangular distribution In a given sequence (Equation (1)), for all combinations of the values ​​of all terms, the difference Δx p =x j -x i (i ≠ j, i = 1 to N, j = 1 to N) are calculated. The calculated difference values ​​are arranged in order of magnitude (for example, on a line extending from left to right, the negative value with the largest absolute value (minimum value) is at the far left, and values ​​with successively smaller absolute values ​​are arranged, passing through 0 or near 0 and becoming positive, and then arranged in order of increasing positive values ​​to the right, with the largest positive value (maximum value) at the far right), and the range from the minimum value to the maximum value is divided into K intervals (divisions) at equal intervals (the numbers (scales) on the line are equally spaced) (K is preferably an odd number. By taking symmetrical intervals with the interval where difference = 0 at the center, it is possible to visually see on a histogram whether the shape is an isosceles triangle or not). For each of the K intervals, the difference Δx belonging to each interval is calculated. p Count the number (frequency) of (numerical values). The central interval is called interval 0, and the intervals in the positive direction are named 1, 2, 3, ..., etc., and the intervals in the negative direction are named -1, -2, -3, ..., etc.

[0056] A histogram is created by plotting the above line (corresponding to the value of the difference Δp) on the horizontal axis and the number (frequency) of each interval on the vertical axis. This histogram is displayed on the screen of a computer display device. By looking at the displayed histogram (visually checking), one can visually judge or confirm whether it is in the shape of an isosceles triangle and whether the displayed histogram is close to the ideal shape of an isosceles triangle (two equal sides and equal angles).

[0057] Next, a statistical test is used to quantitatively calculate how close the obtained histogram is to an isosceles triangle. 2 (Chi-squared) test is used.

[0058] The height of an ideal isosceles triangle is the center of the interval (Δx p = 0). Since pseudorandom numbers are greater than 0 and less than 1, the difference between the two numbers is greater than -1 and less than +1. Therefore, the length of the base of an ideal isosceles triangle is set to 2.

[0059] For dice numbers, the length of the base is the maximum difference between the numbers, i.e., 10, ranging from -5 to +5. For single-digit uniform random numbers (0 to 9), the difference ranges from -9 to +9, and the length of the base is 18. For a histogram, the height of an isosceles triangle is the frequency of section 0, or the relative frequency (the frequency of section 0 divided by the total number of numbers).

[0060]

number

[0061] Theoretical value for each interval = total number of data × probability in that interval (proportion of number) Equation (9)

[0062] We will explain a concrete example of an ideal shape of an isosceles triangle (applied to a given sequence). The range of values ​​in the sequence is divided into 19 sections, and the frequency of each section is calculated to create a histogram. 1) From a sequence of N given numbers, x1…xN, create a possible difference, Δxp=xj-xi, where j≠i. 2) The number of differences is N × (N-1) (i.e., N 2 -N). 3) Create 19 equally spaced intervals with difference = 0 at the center. The interval breakpoints are shown in Table 1. [Table 1] As mentioned above, the 19 intervals in the positive difference range are named interval 0 (difference = 0), interval 1, interval 2, ... interval 9. The negative difference ranges are named interval -1, interval -2, ... interval -9. 4) The distribution of the difference between the sequence of numbers is an isosceles triangle. The proportion of numbers or numerical values ​​included in each interval of the histogram representing the distribution of this difference is as follows (Table 2). [Table 2]

[0063] Calculate the formula (8) and calculate the result χ 2 The values ​​are discriminated using an appropriate rejection limit (criterion value) to determine whether there is a significant difference. The tail part of an isosceles triangle distribution has a probability of having a small theoretical value, so for example, if there are 19 intervals, the two end subintervals, interval -9 to interval -7, can be combined and treated as one interval, and similarly intervals 7 to 9 can be combined and treated as one interval. The rejection limit is set to χ with a significance level of 0.001 and degrees of freedom = 14. 2 Use the value = 36.123. 2 If the value is less than the critical value, the given pseudorandom number sequence is determined to be isosceles triangular, and if the value is equal to or greater than the critical value, it is determined not to be isosceles triangular.

[0064] (3) (B2) Verification of the mean difference = 0 In order to statistically test whether the mean value of the difference can be considered significantly zero, we use the t-test here.

[0065] The difference Δx in a given pseudorandom number sequence (equation (1)) p (=x j -x i )(i≠j,i=1~N,j=1~N) is (N 2 -N). First, these Δx p Average value of A v Δx p (A v Calculate the mean (mean) and sample standard deviation (SD). Then, calculate the t-value using the following formula:

[0066] t-value = [A v Δx p -0(zero)] / [SD / ND 1 / 2 ] …Formula (10) The number of differences is ND.

[0067] When the absolute value of the t-value is less than 1.96, the difference Δx is p This means that the average value of is 0 (zero).

[0068] (4) (B3) Verification of left-right symmetry Δx p Here, we verify whether the distribution is symmetrical by calculating the skewness.

[0069] Skewness is used as an index of the symmetry and distortion of data distribution, and when the data distribution is symmetrical around the mean, skewness = 0. When the tail of the distribution extends more to the right than to the left, skewness is positive, and when the tail extends more to the left than to the right, skewness is negative.

[0070] The difference value Δx above p As an example, the skewness of is expressed by the following equation:

[0071]

number

[0072] Here, A v Δx p is Δx pThe average value of , S is Δx p is the standard deviation of the distribution of

[0073] To summarize the above, the following tests are performed:

[0074] (A) The pseudorandom number sequence is determined to be uniformly distributed. (B1) The difference between any two terms of a pseudorandom sequence is Δx p is determined to have an isosceles triangle distribution As an example, χ 2 Test χ 2 The value of is determined to be less than a predetermined critical value. (B2) Difference Δx p In a test (for example, a t-test) where the mean value of is 0, the difference Δx p The average value of (B3) In the symmetry test, the difference Δx p is judged to be symmetrical around its mean value

[0075] The order of these judgments or tests (A), (B1) to (B3) is arbitrary. For example, the judgment of uniform distribution (A) can be performed last. If it is determined that the distribution is not uniform, the previous judgment processes (B1) to (B3) will simply be wasted. To judge uniform distribution and independence, at a minimum, the above (A) and (B1) are required.

[0076] In the above example, in a given pseudorandom number sequence (Equation (1)), any two numbers x j ,x i difference x p =x j -x iFor all combinations (i≠j, i = 1 to N, j = 1 to N), we are taking them. The set of differences obtained in this way is called the population of differences. Then, we are making a judgment on whether the pseudo-random numbers for the population are uniformly distributed or can be said to have independence. Regarding the population of differences, we are sampling (extracting) a large number of numerical values to obtain a population (referred to as a large sample of differences) (the sample size is sufficiently large) (a part of the population), which has a distribution statistically equivalent to the distribution of the original population of differences. Therefore, even if we perform the same statistical processing on the large sample of differences as we did on the population of differences, we can obtain statistically equivalent judgment results regarding the uniformity and independence of the given pseudo-random numbers.

[0077] There are various sampling methods for creating a large sample. Some examples are as follows.

[0078] First, for the difference x p =x j -x i , we use the set of differences obtained by adding the restriction i > j to i and j as the large sample. If the number of numerical values in the given pseudo-random numbers is N, the number of differences in the population is (N 2 -N) as described above. In contrast, the number of differences in the large sample of differences obtained by adding the above restriction is (N 2 -N) / 2, so the number of the large sample is a sufficiently large number. Conversely, we may add the restriction i < j.

[0079] Second, it is to take the difference between two adjacent items in the sequence of pseudo-random numbers. That is, for the difference xp = xj - xi, we add the restriction j = i + 1 or j = i - 1. The number of numerical values included in the large sample of differences obtained at this time is (N - 1). If N = 100,000 (one hundred thousand), then (N - 1) is a sufficiently large number. ​​​​​​​​FIG. 8 shows an outline of the hardware configuration of a pseudorandom number evaluation device (system) and pseudorandom number creation (generation) device (system) (hereinafter simply referred to as "device 10").

[0082] The device 10 is typically realized by a computer system, which includes not only systems realized by so-called personal computers (PCs) and mobile terminal devices, but also systems realized by network computing, cloud computing, and the like.

[0083] The device 10 basically includes an arithmetic unit (or control arithmetic unit, control unit) 11, an input unit 12, an output unit 13, a memory unit 14, and a display unit 15. The arithmetic unit 11 is the main body of the computer, and executes the process of evaluating (uniformity and independence) a given pseudo-random number in accordance with the flowcharts in Figures 9 to 13, which will be described later, and the process of generating a pseudo-random number sequence in accordance with the flowcharts in Figures 14 and 15.

[0084] The input unit 12 includes an input device represented by a keyboard, a mouse for instructing or selecting the display content on the display screen of the display unit 15 and other devices for performing input operations in cooperation with the display unit, a touch panel arranged on the display screen of the display unit, an audio input unit including a microphone and audio recognition unit, a communication unit connected to a network or the like and receiving transmitted signals, a data reading device for reading data from recording media such as CDs and USB memories, and other means for inputting data and information to the calculation unit 11. The output unit 13 includes, in addition to a display unit, a printer, etc., an audio output unit, a communication unit for transmitting data and the like to the outside via a network or the like (including cases where it is used also as the communication unit of the input unit), a data writing device for writing data to a recording medium, and other means for outputting data and information from the calculation unit 11 to the outside.

[0085] The storage unit 14 stores data representing a given pseudo-random number to be evaluated, input data such as other initial input information, various types of calculation processing result data, and other data, and may be an internal memory within the calculation unit 11 or an external memory (including the memory of a server in a cloud computing system). The storage unit 14 also stores programs for causing a computer to execute pseudo-random number evaluation processing and pseudo-random number generation processing.

[0086] The display unit 15 can of course also be used as the display device for the input unit 12 or the output unit 13, but it should be understood that it is specifically illustrated here.

[0087] 4. Evaluation of pseudorandom numbers FIG. 9 is a flowchart showing the entire pseudorandom number evaluation process executed by the device 10 (particularly the calculation unit 11).

[0088] The device 10 takes in the pseudo-random number sequence data (equation (1)) to be evaluated (S10). This given pseudo-random number data may be input via a network, may be read from a recording medium, or may be input in some other way (input unit 12). The taken-in pseudo-random number data is stored in the memory unit 14.

[0089] First, a verification process for uniform distribution is performed (S11, S12), and if it passes, the process proceeds to the verification of independence. If it fails, this fact is stored in the memory unit 14 and output from the output unit 13 (for example, a message to this effect is sent or displayed) (S20). In the verification process for independence, first, the difference (Δx p )=x j -x i (i≠j, i=1 to n, j=1 to n) are calculated for all combinations and stored in memory unit 14 (S13). Here, a population of differences is formed, but it goes without saying that a large sample of differences, which is a part of this population of differences, may be created by the above-mentioned method, and the following processing may be performed on this large sample of differences.

[0090] This calculated difference Δx PUsing this data, the following processes are performed: verifying the isosceles triangle shape (S14), verifying that the average value of the differences is 0 (S15), and verifying left-right symmetry (S16). Based on the results of these verifications, a determination is made as to whether the sequence of pseudo-random numbers previously input is independent (S17). In this determination, if the test for the isosceles triangle distribution passes, it is determined that the independence condition is met. If the independence condition is met, a message indicating "pass" is output from output unit 13, and if not, a message indicating "fail" is output, and stored in memory unit 14 (S18, S19).

[0091] FIG. 10 shows the details of the uniform distribution verification process (FIG. 9, S11).

[0092] The number of random numbers that belong to equally divided intervals over the distribution range of a given pseudorandom number is counted, a histogram is created, and it is displayed as necessary (S30). By looking at the displayed histogram, it will be possible to visually judge roughly whether the distribution is uniform or not.

[0093] Next, the theoretical value of the frequency over the entire interval (Equation (2)) is calculated (S31).

[0094] The frequency and theoretical value for each interval of the histogram are used to calculate the chi-squared value (Equation (3)) (S32), and it is determined whether the chi-squared value is less than a given critical value (S33). This determination result is stored in memory unit 14 (S34). When it is determined that the distribution is not uniform (the chi-squared value is equal to or greater than the critical value) in the verification of the uniform distribution, it is of course possible to end the process here by displaying (outputting) the fact that the distribution is not uniform, without proceeding to the subsequent independence verification process.

[0095] FIG. 11 shows details of the verification process for the isosceles triangular distribution (FIG. 9, S14) in the verification process for independence.

[0096] The difference Δx calculated earlier p The entire range of the distribution is divided into equal sections, and the number (frequency) of differences Δp for each section is counted, and the difference Δx pA histogram of the above is created and displayed (S42). By looking at this display, it is possible to roughly determine whether or not there is independence. If the displayed histogram is shaped like an isosceles triangle, it is likely that there is independence, but if it deviates from the shape of an isosceles triangle, it can be determined that the independence is questionable.

[0097] Next, the theoretical value for each section of the isosceles triangle shape is calculated (Equation (9)) (S41), and the chi-square value is calculated (Equation (8)) (S42). If the chi-square value is less than a given rejection limit (criterion value), the isosceles triangle shape verification is passed; otherwise, it is failed (S43). These pass / fail results are stored in the memory unit 14 and output (S44). If this chi-square test is failed, the independence verification process may be terminated here without proceeding to subsequent processes (FIG. 9, S15, S16, etc.).

[0098] FIG. 12 shows details of the verification process for the average difference=0 (FIG. 9, S15).

[0099] All differences Δx p The average value and standard deviation of the difference are calculated (S50), and the t value is calculated (equation (10)) (S51). If the calculated t value is less than a predetermined standard value, it is determined that the test for average value of difference = 0 has passed, otherwise it is determined that it has failed (S52), and this fact is stored and output (S53). If it has failed, all processing may be terminated here without proceeding to the next verification process for left-right symmetry. However, the verification process for average value of difference = 0 itself may not be performed.

[0100] FIG. 13 shows details of the process for verifying left-right symmetry (FIG. 9, S16).

[0101] The skewness is calculated according to the formula (11) shown above (S60), and if the calculated skewness is less than a predetermined reference value, it is judged as passed, otherwise it is judged as failed (S61), and this fact is stored and output (S62). It is not necessary to perform the process of verifying left-right symmetry.

[0102] Finally, as mentioned above, if the uniform distribution is satisfied and the independence verification (isosceles triangle verification) is passed, the pseudorandom numbers taken in at S10 are judged to have uniform distribution and independence, and this fact is output and stored as described above (Fig. 9, S18). It goes without saying that the above processing can also be performed on a large sample rather than on the population.

[0103] 5. Creating pseudorandom numbers The above-mentioned evaluation of pseudo-random numbers (evaluation of uniform distribution and independence) can be applied to the creation of pseudo-random numbers that can be used favorably or that are suitable for use. This pseudo-random number creation process is also realized by the device (system) shown in Figure 8.

[0104] FIG. 14 shows an outline of the procedure for generating pseudo-random numbers performed by the device 10.

[0105] First, pseudorandom numbers are generated. There are various methods (devices, processes) for generating pseudorandom numbers, such as the logistic chaos equation method, the RAND function method, the linear congruential method, and the Mersenne-Twister method.

[0106] In either case, a pseudo-random number is generated (S70), and the generated pseudo-random number is subjected to the above-mentioned evaluation process for uniform distribution and independence (S71). If the evaluation process passes the evaluation for uniform distribution and independence (YES in S72), the passed pseudo-random number is output as the created pseudo-random number (recorded in a recording medium in memory, transmitted) (S73).

[0107] If the result is unsuccessful (YES in S74), the parameters of the pseudo-random number generation process are changed if necessary, and the generation of pseudo-random numbers and their evaluation (S70, S71) are repeated. If the result is unsuccessful, the process shown in FIG. 14 may be terminated (NO in S74).

[0108] One of the inventors has already announced a new method (device, program) that uses the logistic chaos equation as an example of pseudorandom number generation processing (Patent No. 6782347).

[0109] In this pseudo-random number generation method, a chaotic number sequence generation means generates a chaotic number sequence by providing given parameters to a logistic chaos equation, a sample number sequence generation means generates a sample number sequence by sampling at given intervals from the chaotic number sequence generated by the chaotic number sequence generation means, and the sample number sequence generated by the sample number sequence generation means is stored in a storage means.

[0110] The pseudorandom number generation process using this logistic chaos equation will be explained in detail below.

[0111] The following two types of logistic chaos equations (simply called chaos equations) are adopted, which are called Type 1 and Type 2, where r is a positive integer that increases sequentially (r=1, 2, 3, ...).

[0112] Type 1 y r+1 =4y r (1-y r ) Formula (12) Type 2 y r+1 =1-4y r (1-y r ) Formula (13)

[0113] Either Type 1 or Type 2 is selected and input by the user (operator), and the selected type is stored in the storage unit 14.

[0114] 15, first, an initial value (initial input information) is input through the input unit 12 and stored in the storage unit 14 (initial processing, initial setting) (FIG. 15, S80). The initial input information includes the selection result of the logistic chaos equation, the initial value (y1) of the logistic chaos equation, the sampling interval (skipping interval) (skipping q numbers), the number of digits of the pseudo-random number to be generated (desired), the number of samples (N) of the pseudo-random number sequence (the number of numerical values ​​in the pseudo-random number sequence to be finally generated), etc.

[0115] The initial value y1 of the chaos formula is set between 0 < y1 < 1. For example, a value up to the third decimal place (e.g., y1 = 0.234) (which may have a different number of digits from the number of digits of the pseudo-random number) is input from the keyboard as the initial value.

[0116] In principle, the sampling interval q may be 1 or more, but more preferably 5 or more, and practically about 10 or more up to 30 (to pass the verification of the above-mentioned uniform distribution and independence). It may be input from the keyboard, or a selectable number q such as a pull-down list may be displayed and selected from among them.

[0117] There is no limit to the number of digits of the pseudo-random number to be generated, but practically about 1 to 20 is preferable. The number of samples (extraction number) N of the pseudo-random number is the number of pseudo-random numbers to be generated (total number), and of course it may be any number, but practically it will be about 1000 to 1 million as described above. Since the pseudo-random number is generated through sampling processing as described later, the term "number of samples" is used. The number of digits and the number of samples of the pseudo-random number can also be input using the keyboard (numeric keypad), or they may be selected from a pull-down list.

[0118] Substitute the set initial value y1 into the chaos formula of type 1 or type 2 selected in the initial processing to obtain y2, and calculate the next y3 using this y2. In this way, while sequentially incrementing the value of r, obtain a sequence of numerical values (numerical data) of the initially set number of digits (chaos sequence) (Fig. 15, S81) (chaos sequence generation means). An example of the obtained chaos sequence (y1, y2, y3,...) is shown in Fig. 16. y n How far to calculate the value of y depends on the product of the sampling interval q and the number of samples N.

[0119] Extract (sample) numerical values (numbers) (numerical data) at intervals of the initially set sampling interval q from this chaos sequence to create a sample sequence (Fig. 15, S82) (sample sequence generation means). The sample sequence is the meaning of a sequence of numerical values (numbers) (numerical data) obtained (extracted) by sampling.

[0120] For ease of understanding, an example of sampling (sample sequence) when the sampling interval q is 2 (every two samples) is shown for the chaotic sequence in Figure 16. Let the sample sequence be x i It is expressed as (i=1,2,3,...).

[0121] The i-th number (numerical data) of the sample sequence x i is given by the following equation when the value of the first x, x1, is set equal to the first value y1 of the chaotic sequence.

[0122] x i =y r Formula (14) r=(q+1)(i-1)+1 Equation (15)

[0123] To finally obtain N pseudorandom numbers that have been initialized, a chaotic sequence having R pieces of numerical data given by the following formula (formula (16)) is generated in S81. However, it is not necessary to make the first numerical value (numerical data) x1 of the sample sequence the same as the initial value y1 of the chaotic sequence. The second numerical value y2 or the third numerical value y3 of the chaotic sequence can be used as the first value y1 of the sample sequence, or the y1 after skipping q numbers including y1 from the beginning of the chaotic sequence can be used. q+1 The first value x1 of the sample sequence can be any value, e.g., x1 = 1, where x1 is the first value of the sample sequence. In that case, the number R given by equation (9) will be modified depending on the value of x1.

[0124] R=(q+1)(N-1)+C Equation (16) C can be any value such as 1, 2, 3, 4, ... or 1, q+1, 2q+1, ...

[0125] The sample sequence thus obtained is a pseudo-random number sequence defined by the input and set initial conditions (initial input information), and is temporarily stored in the storage unit 14 .

[0126] Although the generation of the chaotic number sequence (S81) and the generation of the sample number sequence (S82) are described above as separate processes, these processes can also be executed in parallel. For example, while creating a chaotic number sequence, numerical values ​​are sampled every q numbers, or a recurrence formula is created to calculate the chaotic number sequence every q numbers at once, and a sample number sequence is generated according to this recurrence formula.

[0127] Depending on the initial conditions, the chaotic sequence or the sample sequence created based on it may not produce the same calculation result y even if r or i is incremented. r or x i Sometimes, does not change. This is called a stopping point.

[0128] Below, we will discuss how to determine the stopping point for the sample sequence and how to deal with it.

[0129] The change in the sample sequence values ​​Δx i is calculated according to the following formula (formula (17)) (FIG. 15, S83) (means for calculating the difference between successive values), and stored in the storage unit 14.

[0130] Δx i =Δx i+1 -Δx i Formula (17)

[0131] And the calculated change Δx i It is determined whether or not is 0 (equation (18)) (S83).

[0132] Δx i =0 Equation (18)

[0133] x that satisfies equation (18) i If there is, the (i+1)th sample in the sequence is determined to be the stopping point.

[0134] If it is determined that a stopping point exists (Y: YES in S84), the initial value y1 of the chaos set in S80 is changed (S85). The initial value can be changed by changing the current initial value, or by setting a completely new initial value. For example, the new initial value can be set to a value obtained by adding 0.001 to the current initial value y1. This new initial value is, of course, stored in the memory unit. The initial value can be changed automatically by internal processing of the computer (for example, by calculation such as +0.001 above), or the user can input and reset it. It is preferable to display on the display unit 15 a message that the initial value has been automatically changed or that it is necessary to change it. After the initial value is changed, the process will start again from generating the chaotic number sequence (S81).

[0135] The change in the sample sequence values ​​Δx i If the number of generated samples reaches the initially set N without becoming 0 (N: NO in S86), the generated sample sequence is temporarily stored in the storage unit 14.

[0136] A chaotic sequence is said to have a U-shaped distribution. A sample sequence created by sampling every q numbers from a chaotic sequence also has a U-shaped distribution.

[0137] Then, a uniformization process is performed to convert the generated sample sequence having a U-shaped distribution into a uniform distribution (S86).

[0138] There are various methods for uniformization processing, but as an example, it can be converted to a uniform distribution using the following conversion formula.

[0139] z i =[cos -1 (1-2x i )] / π Equation (19)

[0140] For simplicity, the z i The symbol x of the pseudorandom sequence to be tested for uniform distribution and independence i Let's leave it at that.

[0141] The uniformly transformed sample sequence is stored in the storage unit 14 (FIG. 15, S87). The uniformly transformed sample sequence is then subjected to verification of uniform distribution and independence (FIG. 14, S71).

[0142] Finally, we present some examples of generating pseudorandom number sequences and verifying their uniform distribution and independence below. In these examples, the data on the large sample of differences between two adjacent items (obtained by adding the restriction j = i + 1) is used to determine uniform distribution and independence.

[0143] 1. Example 1 (1) How to generate pseudorandom number sequences Logistic Chaos Equation (Type 1) Initial value y1=0.2 Sampling interval q=20 (20 samples skipped) Number of pseudorandom digits: 16 Number of samples in the pseudorandom sequence: 10000 (2) Verification of uniform distribution (χ 2 Examination) χ 2 =27.84 Pass (significance level 0.05) (3) Verification of independence (i) Verification of isosceles triangular distribution (χ 2 Examination) χ 2 =31.14 Passed (significance level 0.001) (ii) Verification of the mean difference = 0 (t-test) t-value=0.005 Pass (significance level 0.05) (iii) Verification of left-right symmetry Skewness=0.02 Pass (standard value ±0.1) (iv) Independence determination Independence (also uniform distribution)

[0144] Figure 17 shows the pseudo-random numbers generated in Example 1 in chronological order (in the order of generation). Only 1,000 representative random numbers are shown. The horizontal axis shows the order of generation, and the vertical axis shows the pseudo-random numbers. Figure 18 is a graph showing the verification results of the uniform distribution in Example 1. The horizontal axis shows the generated random numbers, and the vertical axis shows their frequency (number, frequency). Figure 19 is a graph showing the verification results of the isosceles triangular distribution in Example 1. The horizontal axis shows the difference value, and the vertical axis shows the frequency (number, frequency).

[0145] 2. Example 2 (1) How to generate pseudorandom number sequences Logistic Chaos Equation (Type 1) Initial value y1=0.2 Sampling interval q=0 (skip 0) Number of pseudorandom digits: 16 Number of samples in the pseudorandom sequence: 10000 (2) Verification of uniform distribution (χ 2 Examination) χ 2 =15.88 Pass (significance level 0.05) (3) Verification of independence (i) Verification of isosceles triangular distribution (χ 2 Examination) χ 2 =4748.568 Fail (significance level 0.001) (ii) Verification of the mean difference = 0 (t-test) t-value=0.0124 Pass (significance level 0.05) (iii) Verification of left-right symmetry Skewness=-0.929 Fail (standard value ±0.1) (iv) Independence determination Independence not recognized

[0146] Figure 20 shows the pseudo-random numbers generated in Example 2 in chronological order (in the order of generation). Only 1,000 representative random numbers are shown. The horizontal axis shows the order of generation, and the vertical axis shows the pseudo-random numbers. Figure 21 is a graph showing the verification results of the uniform distribution in Example 2. The horizontal axis shows the generated random numbers, and the vertical axis shows their frequency (number, frequency). Figure 22 is a graph showing the verification results of the isosceles triangular distribution in Example 2. The horizontal axis shows the difference value, and the vertical axis shows the frequency (number, frequency).

[0147] 3. Example 3 (1) How to generate pseudorandom number sequences Random numbers were generated using the "runif" function, which is a uniform random number function in the R software version 4.0.3 (R Foundation for Statistical Computing, Vienna, Austria). The random number seed value (seed value) was set to "1234". Number of pseudorandom digits: 16 Number of samples in the pseudorandom sequence: 10000 (2) Verification of uniform distribution (χ2 test) χ2=15.930 Pass (significance level 0.05) (3) Verification of independence (i) Verification of isosceles triangular distribution (χ2 test) χ2=54.754 Fail (significance level 0.001) (ii) Verification of the mean difference = 0 (t-test) t-value=0.002 Pass (significance level 0.05) (iii) Verification of left-right symmetry Skewness=0.008 Pass (standard value ±0.1) (iv) Independence determination Not independent

[0148] Figure 23 shows the pseudo-random numbers generated in Example 3 in chronological order (in the order of generation). Only 1,000 representative random numbers are shown. The horizontal axis shows the order of generation, and the vertical axis shows the pseudo-random numbers. Figure 24 is a graph showing the verification results of the uniform distribution in Example 3. The horizontal axis shows the generated random numbers, and the vertical axis shows their frequency (number, frequency). Figure 25 is a graph showing the verification results of the isosceles triangular distribution in Example 3. The horizontal axis shows the difference value, and the vertical axis shows the frequency (number, frequency). [Explanation of symbols]

[0149] 10 Pseudorandom number evaluation device (system) and pseudorandom number creation (generation) device 11 Calculation unit (computer) 12 Input section 13 Output section 14 Storage section 15 Display

Claims

1. A uniform distribution checking means for checking whether a given sequence of pseudo-random numbers is uniformly distributed, and an independence checking means for checking whether the given sequence of pseudo-random numbers is independent, The uniform distribution test means tests whether the frequency of each interval obtained by dividing the existence range of the given pseudorandom number value into equal intervals is within a statistically acceptable range of a uniform distribution, The independence checking means is an isosceles triangle shape inspection means for inspecting whether or not the frequency distribution of each interval, which is obtained by arranging the differences on one axis of an orthogonal coordinate system and dividing the differences into equal intervals, is within a statistically acceptable range of an isosceles triangle shape distribution in either a population of differences obtained by taking the differences between any two arbitrary numerical values ​​for all combinations in the given pseudo-random numbers or a large sample of differences extracted from this population; Pseudorandom number evaluation system.

2. The independence testing means further includes a symmetry testing means for testing whether the distribution of the frequency of the difference is within a statistically acceptable range of symmetry around zero. The pseudorandom number evaluation system according to claim 1 .

3. The independence testing means further includes an average value testing means for testing whether the average value of the differences is within a statistical tolerance centered around zero. The pseudorandom number evaluation system according to claim 1 .

4. A method for performing a uniform distribution test to check whether a given sequence of pseudorandom numbers is uniformly distributed and an independence test to check whether the sequences are independent, A uniform distribution test means tests whether the frequency of each interval obtained by dividing the existence range of the given pseudorandom number into equal intervals is within a statistically acceptable range of a uniform distribution; The isosceles triangle shape testing means of the independence testing means tests whether the distribution of frequencies in each interval obtained by dividing the differences into equal intervals on one axis of a Cartesian coordinate system is within a statistically acceptable range of an isosceles triangle shape distribution in either a population of differences obtained by taking all combinations of differences between any two given pseudo-random numbers or a large sample of differences extracted from this population. Pseudorandom number evaluation method.

5. A program that performs a uniform distribution test to check whether a given sequence of pseudorandom numbers is uniformly distributed and an independence test to check whether the sequences are independent, Check whether the frequency of each interval obtained by dividing the range of existence of the given pseudorandom number into equal intervals is within a statistically acceptable range of a uniform distribution; For the given pseudorandom numbers, in either a population of differences obtained by taking the differences between any two numbers for all combinations or a large sample of differences extracted from this population, the differences are arranged on one axis of a Cartesian coordinate system and divided at equal intervals, and the frequency distribution of each interval is checked to see if it is within a statistically acceptable range of an isosceles triangular distribution. Pseudorandom number evaluation program.

6. a pseudorandom number generating means for generating pseudorandom numbers, and a pseudorandom number evaluation system according to any one of claims 1 to 3; providing the pseudorandom numbers generated by the pseudorandom number generation means to the pseudorandom number evaluation system, and outputting the pseudorandom numbers evaluated by the pseudorandom number evaluation system; Pseudorandom number generator.

7. A pseudorandom number generating means generates pseudorandom numbers, and the uniform distribution and independence of the generated pseudorandom numbers are evaluated by the pseudorandom number evaluation method according to claim 4. Pseudo-random number generation method.

8. 6. A pseudorandom number generating program comprising: a program for generating pseudorandom numbers; and a pseudorandom number evaluating program according to claim 5, which evaluates the pseudorandom numbers generated by said program.

9. A chaotic sequence generator that generates a chaotic sequence by giving given parameters to the logistic chaos equation; a sample sequence generating means for generating a sample sequence by sampling at given intervals from the chaotic sequence generated by the chaotic sequence generating means; a uniformizing means for uniformizing the distribution of the sample sequence generated by the sample sequence generating means; and A pseudorandom number evaluation system according to any one of claims 1 to 3, providing the pseudorandom number sequence output from the uniformization means to the pseudorandom number evaluation system; Pseudorandom number generator.

10. A chaotic sequence generating means generates a chaotic sequence by giving given parameters to a logistic chaos equation; a sample sequence generating means for generating a sample sequence by sampling at given intervals from the chaotic sequence generated by the chaotic sequence generating means; a uniformizing means for uniformizing the distribution of the sample sequence generated by the sample sequence generating means; The uniform distribution and independence of the pseudorandom number sequence output from the uniformization means are evaluated by the pseudorandom number evaluation method according to claim 4. Pseudo-random number generation method.

11. By giving given parameters to the logistic chaos equation, a chaotic sequence is generated. Generate a sample sequence by sampling the generated chaotic sequence at given intervals, Controlling the computer so as to uniformly distribute the generated sample sequence; The uniform distribution and independence of the uniformed pseudorandom number sequence are evaluated by the pseudorandom number evaluation program according to claim 5. Pseudo-random number generator.

Citation Information

Patent Citations

  • Pseudo-random number generation device and pseudo-random number generation program

    JP2018097438A

  • Pseudo-random number generation device, method and program

    JP2021089460A

  • Pseudorandom number generation device, method and program

    JP6782347B1