On Pseudorandom Number Generation from

0 downloads 0 Views 101KB Size Report
numerical simulation of physical and biological systems, and lotteries. ... Key word: Pseudorandom number generator • DNA computing • Poisson distribution .... trends and cyclical patterns which may indicate a bias in the software producing ...
World Applied Programming, Vol (1), No (3), August 2011. 215-227 www.waprogramming.com ©2011 WAP journal

On Pseudorandom Number Generation from Programmable and Computable Biomolecules: Deoxyribonucleic (DNA) as a Novel Pseudorandom Number Generator Okunoye Babatunde O. Department of Pure and Applied Biology, Ladoke Akintola Akintola University Of Technology, P.M.B. 4000, Ogbomoso, Nigeria [email protected]

Abstract: Deoxyribonucleic acid (DNA) computing has extended the frontiers of computer science. The field has made possible the creation of programmable DNA molecules that perform complex calculations and autonomous DNA machines. Random numbers are a sequence of numbers that lack any pattern. A random number Generator (RNG) is a computational device designed to generate random numbers. The many applications of random numbers include cryptography, statistical sampling, numerical simulation of physical and biological systems, and lotteries. Random numbers are usually generated by sampling entropy in physical phenomena and processing it through a computer. Examples of such phenomena include a radioactive source, atmospheric noise, and quantum mechanics. Random numbers are hard to characterize mathematically, such that even though there exists several statistical tests to verify the absence of certain patterns in a stream of numbers, no finite set of tests exists for characterizing randomness in numbers, as there may be patterns not considered by such tests. This paper discusses the generation of pseudorandom numbers from DNA Watson-Crick units. 1000 numbers from an experimental DNA segment passed two statistical tests for randomness. This work also reports what might be a breakthrough in DNA structural analysis: the Poisson distribution of DNA bases and amino acids. Key word: Pseudorandom number generator • DNA computing • Poisson distribution I. INTRODUCTION Alan Turing [1] was first to give the description of a computer model in computability theory, known as the Turing machine. Deoxyribonucleic acid (DNA) has been used in the implementation of the Turing Machine [2] [3] and as such DNA is now accepted as a standard computer model. This has resulted in the development of DNA computing which has been employed in the resolution of numerous computations, especially certain NPhard problems [4] [5] [6] [7] [8]. Of special importance also is the creation of programmable and autonomous DNA computers [9] [10] [11] [12] [13] that have shown the promise and power of molecular computing. Here, DNA molecules are used to demonstrate the generation of a sequence of pseudorandom numbers. Random numbers are numbers are a sequence of numbers that lack any pattern and have applications in cryptography, gambling and numerical simulation of physical biological systems [14]. A random number generator is a computational device designed to generate random numbers. Random numbers are hard to characterize mathematically [15]. Statistical tests exist for verifying the absence of certain patterns in a sequence of numbers [16] [17] but there are no complete set of tests for randomness as there may be patterns not covered by such tests. Consequently, it is practically useful to distinguish true random number generators from pseudorandom number generators. A true random number generator employs entropy in physical phenomena, especially quantum mechanics [14] to generate numbers that are totally unpredictable while a pseudorandom number generator generates numbers that are computed using a mathematical algorithm or from a previously calculated list. Random number generators are often imperfect [18] [19] [20] [21] [22]; for example certain pseudorandom number generators are deterministic in nature, yet produce results that satisfy all the randomness tests [23]. This paper discusses DNA as a pseudorandom number generator, where 1,000 numbers generated from DNA strands passed

215

Okunoye Babatunde O., World Applied Programming, Vol (1), No (3), August 2011.

two statistical tests for randomness. The paper also reports the Poisson distribution of DNA nucleotide bases and amino acids, which might be an important secondary finding. II.

MATERIALS AND METHODS

A. Number Generation Bacteriophage T4 DNA [24] sequence was obtained from GenBank, the international institutional microbial genome depository, with accession number AF158101. The base sequence employed in the experiment is Complement 168,900’ – 167,900’ (in the 5’ to 3’) direction. A total of 1,000 DNA segments comprising of ten bases each of T4 Phage DNA was used to generate a total of 1,000 numbers. For example, the first ten bases of the related complement gave the following digits:

Number of Adenine Bases: 4 Number of Thymine Bases: 3

Number of Guanine Bases: 1 Number of Cytosine Bases: 2

The next ten bases in the complement gave similarly: Number of Adenine Bases: 0 Number of Guanine Bases: 2 Number of Thymine Bases: 5 Number of Cytosine Bases: 2

Therefore the first numbers in our sequence of 1,000 numbers are 41 and 52. This process is repeated for the rest of the complement. The numbers of the purine and pyrimidine bases in the related complement 168,900’ – 167,900’ were used alternatively per base segment (10 bases) in order to preserve independence of the numbers, a quality of random numbers. The purine and pyrimidine numbers were not generated from the same segment (10 bases) of the sequence, as this would compromise the independence of the number sequence: it would then be possible to predict something about the next number in the sequence from the preceding number. This is because the numeric digits within the segment would have the sum of ten, the number of bases in the experimental DNA segments used. B. Statistical Tests The properties of random numbers include: • Uniformity: This means the numbers should be distributed uniformly. • Independence: It should be impossible to predict something about the next value in the sequence from the previous value(s). • Summation: This means that the sum of consecutive numbers in the sequence is equally likely to be even or odd. The probability ought to be 0.5. • Duplication: Some numbers will be duplicated in the sequence, while others will be omitted. However, the properties of summation and duplication are more binding than those of uniformity and independence. A sequence of numbers that have uniformity and independence are not random unless they display the properties of summation and duplication There exist statistical tests to evaluate random numbers and Random Number Generators [16] [17]. Three tests were chosen to evaluate the numbers generated from T4 Phage DNA: the Chi-squared tests, the Reverse arrangements test and the Test of runs above and below the median. •

The Chi-squared test: The chi-squared test is a test of distributional accuracy. It is a parametric test, which makes assumptions about the distribution of the number set. It measures how closely a set of numbers supplied follows the uniform distribution. The chi-squared test is a common statistical test used in the evaluation of random numbers.

216

Okunoye Babatunde O., World Applied Programming, Vol (1), No (3), August 2011.



The test of runs above and below the median: The test of runs is a non-parametric test, as it does not make assumptions about the distribution of the number set. The test is especially useful in detecting fluctuating trends in data, the existence of which will indicate nonrandomness. The test examines the order in which the numbers are generated, checking for trends and cyclical patterns which may indicate a bias in the software producing the sequence of numbers, hence non-randomness.

Observations in the number sequence greater than the median of the sequence are assigned the letter “a” while observations less than the median are assigned the letter “b”. Observations equal to the median are omitted. Accordingly, u, the total number of runs, n 1, the number of a’s and n 2, the number of b’s are calculated. If the sequence shows mostly a’s at first and then mostly b’s this suggests a downward trend in the data. Similarly, the sequence showing mostly b’s at first and then mostly a’s suggests an upward trend in the data. When the test of runs above and below the median is implemented on a set of numbers, the mean µ u, standard deviation σu and z-score is calculated. •

The reverse arrangements test: The reverse arrangements test is also useful in detecting bias in the software generating the random number sequence. This particular test detects monotonic (gradual and continuous) trends in the sequence, which also indicates non-randomness. Restrictions in the Reverse Arrangements distribution tables necessitated the use of a sample size of 100 for five experiments in order to determine the average.

C. Summary Statistics The objective of summary statistics is to provide an overview of the main parameters of the data: the count (quantity of numbers), the mean, the median, the maximum and minimum value in the data set. It ensures familiarity with the data set. III.

SUMMARY STATISTICS

A. Summary Statistics For Numbers Generated From T4 Phage DNA Count

Mean

Count

Mean

1000

33.8

Median

Max

Min

P(Even)

Median

Max

Min

P(Even)

36

82

0

0.496

Number of Duplications 40

Number of nonoccurring values 40

The P (even) shows that the summation property of the numbers generated holds. The Probability of the sum of two numbers being even is 0.496 (approximately 0.5). The number of duplications and non-occurring values, considering the minimum and maximum values of 0 and 82 respectively, suggests randomness. B. The Chi-Squared Test Category 0.100 0.200 0.300 0.400 0.500 0.600 0.700 0.800 0.900 Total

Observed and Expected Frequencies for the Chi-Squared Test Observed Frequency (Oi) Expected Frequency (Ei) 31 111.1 107 111.1 240 111.1 241 111.1 205 111.1 113 111.1 47 111.1 13 111.1 3 111.1 1000 999.9

217

Okunoye Babatunde O., World Applied Programming, Vol (1), No (3), August 2011.

Ho: The numbers follow a uniform distribution. HA: The numbers follow another distribution. K Test Statistic: χ2

=



(Oi - Ei) Ei

i=1 χ2

= 74.17

Level of significance: α = 0.05 Critical value: χ2

0.05, 8

= 15.51

The test statistic is more than the critical value so the null hypothesis rejected is at the 5% level of significance. The numbers do not follow a uniform distribution, one of the properties of random numbers. The numbers approximate to a Poisson distribution. C. The Reverse Arrangements Test Ho: The numbers generated do not exhibit monotonic trends HA: The numbers generated exhibit monotonic trends N-1

Test Statistic:

N

1 if Xi >Xj

∑[ ∑ h

ij

j=1

i j=

j= i+1

0 else

99

A=

]where h { 100

[



∑h ] ij

j= i+1

J=1

A=

2308

Level of significance: α = 0.05 Critical Value: AN: (1- α / 2) < 2308 ≤ AN; (α / 2) A100; 0.975 < 2308 ≤ A100; 0.025 2145

< 2308 ≤ 2804

The value of A in this and the other four experiments lies between 2145 and 2804. The null hypothesis is accepted at the 5% level of significance. There is no evidence that the data has monotonic trends.

218

Okunoye Babatunde O., World Applied Programming, Vol (1), No (3), August 2011.

Test Values For the Five Experiments in the Reverse Arrangements Test A_1 2308

A_2 2262

A_3 2336

A_4 2267

A_5 2167

Avg A 2268

D. Test of Runs Above and Below the Median Summary Statistics for the Runs Test U 473

n1 415

n2 570

µu 481.30

Σu 15.30

z - 0.51

Ho: The numbers are generated in a random order HA: The numbers are not generated in a random order The mean of the distribution of u: µu =

2 n1 n2 + 1 n1 + n2 The standard deviation of u,

σu =

2 n1 n2 (2 n1 n2 – n1 – n2 ) (n1 + n2)2 (n1 + n2 –1) The Test Statistic : z =

( u ± 0.5 ) - µ u σu

z = - 0.51 α = 0.05

Level of Significance : Critical Value

:

/ z / < z α/2

-

z - α/2 < - 0.51 < z α/2

-

z – 0.025 < - 0.51 < z 0.025 - 1.96 < - 0.51 < +1.96

The value of z lies between ± 1.96. The null hypothesis is accepted at the 5% level of significance. There is no evidence to suggest a bias in the number generation and sequence.

219

Okunoye Babatunde O., World Applied Programming, Vol (1), No (3), August 2011.

IV. DISCUSSION The future of DNA computation is immense. Programmable DNA computers have found particular application in medical therapeutics [25]. The potential of DNA computing seems to be realized, not in competing with silicon based electronic computers, but in complementary fields as cited above. The numbers generated from T4 phage DNA passed the non-parametric, distribution free tests. Given that the properties of summation and duplication are more binding than those of uniformity and independence, the evidence suggests that while T4 phage certainly does not generate truly random numbers, it however produces pseudo-random numbers and hence could be seen as a possible pseudo-random number generator. The Chi-squared reveals that the numbers do not follow a Uniform distribution, rather, a Poisson distribution. The finding that the distribution of DNA nucleotides and amino acids follow a Poisson distribution is a novel experimental result which alongside Chargaff’s rule and the triplet coding mechanism of DNA nucleotides, contributes to our fundamental knowledge of DNA structure. Some approximation induced errors were recorded in the Poisson distribution tables but they do not detract from the fundamental findings. The investigation reveals that DNA of T4 Bacteriophage is a pseudo-random number generator, with the distribution of nucleotides and amino acids following a Poisson distribution. This work is open to future development, especially as regards to a larger sample size and more tests for randomness. Nevertheless, it is doubtful if this could alter the fundamental findings contained in the work.

V. TABLES SHOWING POISSON DISTRIBUTION OF PURINE BASES, PYRIMIDINE BASES AND AMINO ACIDS IN 3,500 BASES (COMPLEMENT 168,900’ – 165,400’) IN THE 5’ TO 3’ DIRECTION IN BACTERIOPHAGE T4 DNA. A. Purine and Pyrimidine Bases Adenine

µ=3.238 X

P(x)

Theoretical frequency (f e)

0 1 2 3 4 5 6 7

0.0392 0.1269 0.2055 0.2218 0.1795 0.1162 0.0628 0.0290

13.3 43.2 69.9 75.4 61.0 39.5 21.3 9.7

11 35 59 92 75 41 22 5

0.8592

333.3

340

220

Actual frequency

Okunoye Babatunde O., World Applied Programming, Vol (1), No (3), August 2011.

Thymine

µ=3.1706 X

P(x)

0 1 2 3 4 5 6 7

0.0419 0.1328 0.2106 0.2226 0.1764 0.1119 0.0591 0.0268 0.8768

Theoretical Frequency (f e) 14.2 45.2 71.6 75.7 59.9 38.0 20.1 9.1 333.8

Actual frequency

Theoretical frequency(f e) 70.3 109.8 85.7 44.6 17.4 5.4 333.2

Actual frequency

9 36 81 76 68 46 18 6 340

Guanine µ=1.5612 X

P(x)

0 1 2 3 4 5

0.2099 0.3277 0.2558 0.1331 0.0520 0.0162 0.9947

62 110 98 46 16 3 335

Cytosine

µ=2.0264 X

P(x) 0 1 2 3 4 5 6 7

Theoretical frequency(f e) 44.9 91.1 92.3 62.3 31.6 12.8 4.3 1.3 340.6

0.1318 0.2671 0.2706 0.1828 0.0926 0.0375 0.0127 0.0037 0.9988

221

Actual frequency 39 78 111 74 29 8 1 1 341

Okunoye Babatunde O., World Applied Programming, Vol (1), No (3), August 2011.

B. Amino Acids Glycine

µ=1.1020 X

P(x)

0 1 2 3 4

0.3322 0.3661 0.2017 0.0741 0.0204 0.9945

Alanine µ=1.1224 X

P(x)

0 1 2 3 4

0.3255 0.3653 0.2050 0.0767 0.0215 0.9945

X

P(x)

0 1 2 3 4 5 6

0.1593 0.2925 0.2687 0.1645 0.0755 0.0277 0.0085 0.9967

Theoretical frequency(f e) 16.3 17.9 9.9 3.6 1.0 48.7

Actual frequency

Theoretical frequency(f e) 15.9 17.9 10.0 3.8 1.1 48.7

Actual frequency

Theoretical frequency(f e) 7.8 14.3 13.2 8.1 3.7 1.4 0.4 48.9

Actual frequency

Theoretical frequency(f e) 11.2 16.6 12.2 5.9 2.2 48.1

Actual frequency

19 13 11 5 1 49

17 15 13 2 2 49

Valine

µ=1.8367

Leucine µ=1.4694 X 0 1 2 3 4

P(x) 0.2301 0.3381 0.2484 0.1217 0.0447 0.9830

222

7 16 12 9 3 1 1 49

9 14 14 8 4 49

Okunoye Babatunde O., World Applied Programming, Vol (1), No (3), August 2011.

Isoleucine µ=1.4490 X

P(x)

0 1 2 3 4 5 6

0.2348 0.3402 0.2465 0.1191 0.0431 0.0125 0.0030 0.9992

X

P(x)

0 1 2 3

0.5204 0.3399 0.1110 0.0242 0.9955

Theoretical frequency(f e) 11.5 16.7 12.1 5.8 2.1 0.6 0.1 48.9

Actual frequency

Theoretical frequency(f e) 25.5 16.7 5.4 1.2 48.8

Actual frequency

Theoretical frequency(f e) 15.6 17.9 10.2 3.9 1.1 48.7

Actual frequency

Theoretical frequency(f e) 19.6 17.9 8.2 2.5 48.3

Actual frequency

11 19 11 5 1 1 1 49

Methionine

µ=0.6531

Phenylalanine µ= 1.1429 X 0 1 2 3 4

Tyrosine µ=0.9184 X 0 1 2 3

P(x) 0.3189 0.3645 0.2083 0.0793 0.0227 0.9937

P(x) 0.3992 0.3666 0.1684 0.0515 0.9857

223

27 14 6 2 49

18 15 8 7 1 49

17 23 5 4 49

Okunoye Babatunde O., World Applied Programming, Vol (1), No (3), August 2011.

Tryptophan

µ=0.3673 X

P(x)

0 1 2

0.6926 0.2544 0.0467 0.9937

X

P(x)

0 1 2 3 4 5 6

0.2446 0.3444 0.2425 0.1138 0.0401 0.0113 0.0026 0.9993

X

P(x)

0 1 2

0.5422 0.3319 0.1016 0.9757

Theoretical frequency(f e) 33.9 12.5 2.3 48.7

Actual frequency

Theoretical frequency(f e) 11.9 16.9 11.9 5.6 1.9 0.6 0.1 48.9

Actual frequency

Theoretical frequency(f e) 26.6 16.3 4.9 47.8

Actual frequency

Theoretical frequency(f e) 17.3 18.0 9.4 3.3 0.8 48.8

Actual frequency

34 12 3 49

Serine

µ=1.4082 12 17 11 8 0 0 1 49

Proline

µ=0.6122

Threonine µ=1.0408 X 0 1 2 3 4

P(x) 0.3532 0.3676 0.1913 0.0664 0.0173 0.9926

224

29 10 10 49

22 12 8 5 2 49

Okunoye Babatunde O., World Applied Programming, Vol (1), No (3), August 2011.

Cysteine

µ=0.3469 X

P(x) 0 1

Theoretical frequency(f e) 34.6 12.0 46.6

0.7069 0.2452 0.9521

Actual frequency 32 17 49

Asparagine

µ=1.1633 X 0 1 2 3 4

Glutamate µ=0.7755 X 0 1 2 3

0.3125 0.3635 0.2114 0.0820 0.0238 0.9932

Theoretical frequency(f e) 15.3 17.8 10.4 4.0 1.2 48.7

Actual frequency 12 24 8 3 2 49

0.4605 0.3571 0.1385 0.0360 0.9921

Theoretical frequency(f e) 22.6 17.5 6.8 1.8 48.7

Actual frequency 22 18 7 2 49

0.2709 0.3538 0.2311 0.1006 0.0328 0.9892

Theoretical frequency(f e) 13.3 17.3 11.3 4.9 1.6 48.4

Actual frequency 12 20 10 4 3 49

0.6926 0.2544 0.0469 1.0404

Theoretical frequency(f e) 33.9 12.5 2.3 48.7

Actual frequency 33 14 2 49

P(x)

P(x)

Lysine µ=1.3061 X

P(x) 0 1 2 3 4

Histidine

µ=0.3673 X 0 1 2

P(x)

225

Okunoye Babatunde O., World Applied Programming, Vol (1), No (3), August 2011.

Arginine

µ=0.8367 X

P(x)

0 1 2 3

Aspartate µ=0.8980 X

Actual frequency

0.4074 0.3658 0.1643 0.0492 0.9867

Theoretical frequency(f e) 19.9 17.9 8.0 2.4 48.3

Actual Frequency

0.3755 0.3678 0.1802 0.0588 0.9823

Theoretical frequency(f e) 18.4 18.0 8.8 2.9 48.1

P(x)

0 1 2 3

Glutamate µ=0.9796 X

Actual frequency

0.4331 0.3624 0.1516 0.0604 1.0075

Theoretical frequency(f e) 21.2 17.8 7.4 2.9 49.3

P(x)

0 1 2 3

23 14 9 3 49

22 13 11 3 49

21 13 10 5 49

The Probability distribution, mean and variance for a Poisson Random Variable: P(x) =

e X!

µ =

(x = 0, 1, 2,)

=

= mean number of events For the amino acids, the related complement is 168903’- 165585’, in the 5’ to 3’ direction. The amino acids were counted in rows of 20, the number of which specify for proteins. Number equations consecutively. Equation numbers, within parentheses, are to position flush right, as in (1), using a right tab stop. Italicize Roman symbols for quantities and variables, but not Greek symbols. Punctuate equations with commas or periods when they are part of a sentence, as in α + β = χ.

(1)

Note that the equation is centered using a center tab stop.

226

α + β = χ.

(1)

(1)

Okunoye Babatunde O., World Applied Programming, Vol (1), No (3), August 2011.

D. Some Common Mistakes • The word “data” is plural, not singular. •

Do not use the word “essentially” to mean “approximately” or “effectively”.



In your paper title, if the words “that uses” can accurately replace the word “using”, capitalize the “u”; if not, keep using lower-cased.



Do not confuse “imply” and “infer”.



There is no period after the “et” in the Latin abbreviation “et al.”.



The abbreviation “i.e.” means “that is”, and the abbreviation “e.g.” means “for example”.

An excellent style manual for science writers is [7]. REFERENCES [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17]

[18] [19] [20] [21] [22] [23] [24] [25]

A. Turing. On computable numbers with an application to the entscheidnungsproblem. Proc. London Math. Soc. Ser. 2, 42: 230-265, 1936-7 (1936). PWK Rothemund. A DNA and restriction enzyme implementation of Turing Machines. In Lipton R and Baum EB (eds), DNA based computers, Proceedings of a dimacs workshop. vol. 27, American Mathematical Society, pp. 75-119 (1996). L. Qian, D Soloveichik, E Winfree. Efficient Turing-Universal computation with DNA polymers. (Eds: Sakakibara Y. and Mi Y.) In DNA 16, Lecture Notes in Computer Science 6518: 123-140 (2011). LM Adleman. Molecular computation of results to combinatorial problems. Science 266:1021-1024 (1994). RJ Lipton. DNA solution of hard computational problems. Science 268: 542-545 (1995). Q. Quyang, PD Kaplan, S. Liu, A Libchaber. DNA solution of maximal clique problem. Science 278: 446-449 (1997). K. Sakamoto, H. Gouzu, K. Komiya, D. Kiga, S. Yokoyama, T. Yokomori, M. Hagiya. Molecular computation by DNA hairpin formation. Science 288: 1223-1226 (2000). RS Braich, N. Chelyapov, C. Johnson, PWK Rothemund, L. Adleman . Solution of a 20-variable 3-SAT problem on a DNA computer. Science 296: 499-502 (2002). K. Sakamoto, D. Kiga, K. Komiya, H. Gouzu, S. Yokoyama, S. Ikeda, H. Sugiyama, M. Hagiya. State transitions by molecules. Biosystems 52: 81–91 (1999). C. Mao, TH LaBean, JH Reif, NC Seeman. Logical computation using algorithmic selfassembly of DNA triple-crossover molecules. Nature 407: 493–496 (2000). Y. Benenson, T. Paz-Elizur, R. Adar, E. Keinan, Z. Livneh, E. Shapiro. Programmable and autonomous computing machine made of biomolecules. Nature 414: 430-434 (2001). Y. Benenson, R. Adar, T. Paz-Elizur, Z. Livneh, E. Shapiro. DNA molecule provides a computing machine with both data and fuel. Proc. Nat. Acad. Sci. USA 100: 2191-2196 (2003). R. Adar, Y. Benenson, G. Linshiz, A. Rosner, N. Tishby, E. Shapiro. Stochastic computing with biomolecular automata. Proc. Natl. Acad. Sci. USA 101(27): 9960-9965 (2004). S. Pironio, A. Acin, S. Massar, A. Boyer de la Giroday, P. Matsukevich DN, Maunz, S. Olmschenk, D. Hayes, L. Luo, TA Manning, C. Monroe. Random numbers certified by bell’s theorem. Nature 464: 1021-1024 (2010). D. Knuth. The Art of Computer Programming Vol. 2, Seminumerical Algorithms (Addison-Wesley) (1981). The Marsaglia Random Number CDROM including the Diehard Battery of Tests of Randomness. A. Rukhin, J. Soto, J. Nechvatal, M. Smid, E. Barker, S. Leigh, M. Levenson, M. Vangel, D. Banks, A. Heckert, J. Dray, S. Vo. A statistical test suite for random and pseudo random number generators for cryptographic applications (special publication 800-22 Revision 1, National Institutes of Standards and Technology, 2008). T. Jennewein, U. Achleitner, G. Weihs, H. Weinfurter, A. Zeilinger. A fast and compact quantum random number generator. Rev. Sci. Instrum. 71, 1675–1680 (2000). A. Stefanov, N. Gisin, O. Guinnard, L. Guinnard, H. Zbinden. Optical quantum random number generator. J. Mod. Opt. 47: 595–598 (2000). JF Dynes, ZL Yuan, AW Sharpe, AJ Shields. A high speed, postprocessing free, quantum random number generator. Appl. Phys. Lett. 93, 031109 (2008). U. Atsushi, A. Kazuya, I. Masaki, H. Kunihito, N. Sunao, S. Hiroyuki, O. Isao, K. Takayuki, S. Masaru, Y. Shigeru, Y. Kazuyuki, D. Peter. Fast physical random bit generation with chaotic semiconductor lasers. Nature Photon. 2, 728–732 (2008). M. Fiorentino, C. Santori, SM Spillane, RG Beausoleil, WJ Munro. Secure self-calibrating quantum random-bit generator. Phys. Rev. A 75, 032334 (2007). M. Matsumoto, T. Nishimura. Mersenne twister: a 623-dimensionallyequidistributed uniform pseudo-random number generator. ACM Trans. Model. Comput. Simul. 8: 3–30 (1998). ES Miller, E. Kutter, G. Mosig, F. Arisaka, T. Kunisawa, W. Ruger. Bacteriophage T4. Microbiol. Mol. Biol. Rev. 67: 86-156 (2003). Y. Benenson, B. Gil, U. Ben-Dor, R. Adar, E. Shapiro. An autonomous molecular computer for logical control of gene expression. Nature 429: 423 (2004).

227