Probabilistische Simulationen

// Bsp: wrapping at 2^32 mit 16-bit operationen // ohne Gewähr ... function safe_add(x, y) { var msw, lsw = (x & 0xFFFF) + (y & 0xFFFF); msw = (x >> 16) + (y >> 16) + (lsw >> 16); return (msw << 16) | (lsw & 0xFFFF); }

Hans Krailsheimer (1888-1958): "Talente finden Lösungen, Genies entdecken Probleme."


Projekt-Kurzfassung Was soll gemacht werden?

Die zu machende App soll probabilistische Simulationen durchführen und visualisieren können. Es geht um das Erstellen und Testen einer solchen App ( Plagiate sind out ).

Hinweis: Pseudo-Zufallszahlen sind auch ein wesentlicher Bestandteil von Sicherheitsarchitekturen und werden für das nachfolgende ESA-Projekt benötigt. Siehe z.B. Sicherheit+Kryptologie und ECMAScript-Beispiele zu Zufallszahlen .

Möglichen Problemstellungen Hinweise

In gewisser Weise können Zufallszahlen das "Unvorhersehbare zufällig simulieren" ( siehe z.B. de.wikipedia Zufallszahlengeneratoren ). Zufallszahlen werden generiert z.B. für:

Strings, Texte, /dev/random als zeichen-orientierte virtuelle Gerätedatei, Nonces, One-Pad, Password,
Time, Erzeugung kryptographischer Schlüssel, Hash, List Randomizer, "aus Quanten-Zufällen",
Integer, Sequence, DNA Protein Sequence, Sets, Gaussian, Stochastik, zentrale Grenzwertsatz,
Color-Code, Audio-Noise, Pregenerated Files, Geographic-Coordinate, usw.

Mögliche Problemstellungen für die self-made-App sind:

Hinweise ( zuf ) Zufallszahlen-Bereiche

Für die Entwicklung von "self-made" Generatoren für Zufallszahlen können die folgenden Bemerkungen hilfreich sein.

Hinweise ( Primzahlen ) Darstellungen Basen 2-36

Die ersten 258 Primzahlen:

var prims = [ // 258 Primzahlen
1, 2, 3, 5, 7, 11, 13, 17, 19, 23, 
29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 
71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 
127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 
263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 
419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 
577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 
739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 
911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997, 1009, 1013, 1019, 1021, 1031, 1033, 1039, 1049, 1051, 1061, 
1063, 1069, 1087, 1091, 1093, 1097, 1103, 1109, 1117, 1123, 1129, 1151, 1153, 1163, 1171, 1181, 1187, 1193, 1201, 1213, 1217, 
1223, 1229, 1231, 1237, 1249, 1259, 1277, 1279, 1283, 1289, 1291, 1297, 1301, 1303, 1307, 1319, 1321, 1327, 1361, 1367, 1373, 
1381, 1399, 1409, 1423, 1427, 1429, 1433, 1439, 1447, 1451, 1453, 1459, 1471, 1481, 1483, 1487, 1489, 1493, 1499, 1511, 1523, 
1531, 1543, 1549, 1553, 1559, 1567, 1571, 1579, 1583, 1597, 1601, 1607, 1609, 1613, 1619, 1621];

var von=11, bis=21, prim, bas, r = ["<table border><tr><th>"]; 

for( i = von; i < bis; i += 1 ) { prim = prims[i];
  for( bas = 2; bas < 37; bas += 1 ) {
    r.push( prim.toString(bas) + '<sub>'+bas+'</sub>' );
  } r.push("\n</th><th>\n");
} r = r.join("<br />") +  "</th></tr></table>"; 
alert(r);
Ausgabe von bin_str zu den Basen 2 ... 36:

111112
10113
1334
1115
516
437
378
349
3110
2911
2712
2513
2314
2115
1f16
1e17
1d18
1c19
1b20
1a21
1922
1823
1724
1625
1526
1427
1328
1229
1130
1031
v32
v33
v34
v35
v36

1001012
11013
2114
1225
1016
527
458
419
3710
3411
3112
2b13
2914
2715
2516
2317
2118
1i19
1h20
1g21
1f22
1e23
1d24
1c25
1b26
1a27
1928
1829
1730
1631
1532
1433
1334
1235
1136

1010012
11123
2214
1315
1056
567
518
459
4110
3811
3512
3213
2d14
2b15
2916
2717
2518
2319
2120
1k21
1j22
1i23
1h24
1g25
1f26
1e27
1d28
1c29
1b30
1a31
1932
1833
1734
1635
1536

1010112
11213
2234
1335
1116
617
538
479
4310
3a11
3712
3413
3114
2d15
2b16
2917
2718
2519
2320
2121
1l22
1k23
1j24
1i25
1h26
1g27
1f28
1e29
1d30
1c31
1b32
1a33
1934
1835
1736

1011112
12023
2334
1425
1156
657
578
529
4710
4311
3b12
3813
3514
3215
2f16
2d17
2b18
2919
2720
2521
2322
2123
1n24
1m25
1l26
1k27
1j28
1i29
1h30
1g31
1f32
1e33
1d34
1c35
1b36

1101012
12223
3114
2035
1256
1047
658
589
5310
4911
4512
4113
3b14
3815
3516
3217
2h18
2f19
2d20
2b21
2922
2723
2524
2325
2126
1q27
1p28
1o29
1n30
1m31
1l32
1k33
1j34
1i35
1h36

1110112
20123
3234
2145
1356
1137
738
659
5910
5411
4b12
4713
4314
3e15
3b16
3817
3518
3219
2j20
2h21
2f22
2d23
2b24
2925
2726
2527
2328
2129
1t30
1s31
1r32
1q33
1p34
1o35
1n36

1111012
20213
3314
2215
1416
1157
758
679
6110
5611
5112
4913
4514
4115
3d16
3a17
3718
3419
3120
2j21
2h22
2f23
2d24
2b25
2926
2727
2528
2329
2130
1u31
1t32
1s33
1r34
1q35
1p36

10000112
21113
10034
2325
1516
1247
1038
749
6710
6111
5712
5213
4b14
4715
4316
3g17
3d18
3a19
3720
3421
3122
2l23
2j24
2h25
2f26
2d27
2b28
2929
2730
2531
2332
2133
1x34
1w35
1v36

10001112
21223
10134
2415
1556
1317
1078
789
7110
6511
5b12
5613
5114
4b15
4716
4317
3h18
3e19
3b20
3821
3522
3223
2n24
2l25
2j26
2h27
2f28
2d29
2b30
2931
2732
2533
2334
2135
1z36
Hinweise ( String-Basen ) UTF nach byte-Str und hex-Folge

Nützliche Funktionen ( auch für später ).

Plagiate sind out!
Viel Freude bei der Ausarbeitung!
Letzter Abgabetermine So 12.00 Uhr