Tuesday, March 22, 2022

Proposal: More digits

Timed out and enacted, 4-2 with 3 unresolved DEFs. Josh

Adminned at 24 Mar 2022 20:53:34 UTC

If “Simplification for the early days of a new dynasty” was not enacted, this proposal does nothing.

Add a new Probulator Function with the following properties:

Name: Wavefunction Observation
Output range: An integer between 0 and 999, inclusive.
Forecast output: 500
Method: Return forecast output and then change the forecast output to 731 times the current forecast output plus 137 modulo 1000.

Add a material to the list of Materials with the name of Electron Microscope and a Function of Wavefunction Observation.

We need a higher-resolution non-random number generator, and Wikipedia suggested a LCG. Removed a redundancy on the first method sentence.

Comments

Josh: he/they

22-03-2022 21:23:41 UTC

Sorry, for the non-maths types, what is 137 modulo 1000?

pokes:

22-03-2022 21:27:03 UTC

It means multiplying the current forecast by 731, then adding 137, and taking the last 3 digits of the result. “Remainder of…” and “modulo” are a bit redundant. Regardless I’m generally FOR this.

Josh: he/they

22-03-2022 21:41:36 UTC

Ah, so if the current forecast is 250, then this would be (250 * 731) + 137 = 182,887 so the new forecast is 887? Okay.

Josh: he/they

22-03-2022 21:42:10 UTC

Mildly against but only because I’m a theatre kid and maths is for nerds.

Josh: he/they

22-03-2022 21:42:27 UTC

(Someone make a Function that runs on feelings????!)

pokes:

22-03-2022 22:08:33 UTC

Josh’s can you please propose the Josh Attitudinal Indicator that you can change whenever you’d like to a rating of your emotions?

Josh: he/they

22-03-2022 22:19:45 UTC

It’s 37 hours until I get a slot back but when I do it will be a high priority

MadisonSilver:

22-03-2022 23:21:12 UTC

Not sure how much this matters, but this LCG has a period of only 500; i.e, it misses half of the numbers from 0 to 999.  If a future proposal relies on getting a particular number that might be an issue.

Thunder: he/him

23-03-2022 02:25:42 UTC

Oh dear. I feel like I could probably quickpatch that by changing to 761 and 167 without major rule impact in the meantime. I’ll try to get up an edit tomorrow.

SingularByte: he/him

23-03-2022 06:28:30 UTC

imperial

Chiiika: she/her

23-03-2022 10:21:10 UTC

imperial need to do some analysis

Josh: he/they

23-03-2022 10:29:00 UTC

for

Chiiika: she/her

23-03-2022 10:52:43 UTC

Chiiika’s observation on this Algorithm
Seed = 500
500 > 637 > 784 > 241 > 308 > 285 > 472 > 169 > 676 > 293
> 320 > 57 > 804 > 861 > 528 > 105 > 892 > 189 > 296 > 513
> 140 > 477 > 824 > 481 > 748 > 925 > 312 > 209 > 916 > 733
> 960 > 897 > 844 > 101 > 968 > 745 > 732 > 229 > 536 > 953
> 780 > 317 > 864 > 721 > 188 > 565 > 152 > 249 > 156 > 173
> 600 > 737 > 884 > 341 > 408 > 385 > 572 > 269 > 776 > 393
> 420 > 157 > 904 > 961 > 628 > 205 > 992 > 289 > 396 > 613
> 240 > 577 > 924 > 581 > 848 > 25 > 412 > 309 > 16 > 833
> 60 > 997 > 944 > 201 > 68 > 845 > 832 > 329 > 636 > 53
> 880 > 417 > 964 > 821 > 288 > 665 > 252 > 349 > 256 > 273
> 700 > 837 > 984 > 441 > 508 > 485 > 672 > 369 > 876 > 493
> 520 > 257 > 4 > 61 > 728 > 305 > 92 > 389 > 496 > 713
> 340 > 677 > 24 > 681 > 948 > 125 > 512 > 409 > 116 > 933
> 160 > 97 > 44 > 301 > 168 > 945 > 932 > 429 > 736 > 153
> 980 > 517 > 64 > 921 > 388 > 765 > 352 > 449 > 356 > 373
> 800 > 937 > 84 > 541 > 608 > 585 > 772 > 469 > 976 > 593
> 620 > 357 > 104 > 161 > 828 > 405 > 192 > 489 > 596 > 813
> 440 > 777 > 124 > 781 > 48 > 225 > 612 > 509 > 216 > 33
> 260 > 197 > 144 > 401 > 268 > 45 > 32 > 529 > 836 > 253
> 80 > 617 > 164 > 21 > 488 > 865 > 452 > 549 > 456 > 473
> 900 > 37 > 184 > 641 > 708 > 685 > 872 > 569 > 76 > 693
> 720 > 457 > 204 > 261 > 928 > 505 > 292 > 589 > 696 > 913
> 540 > 877 > 224 > 881 > 148 > 325 > 712 > 609 > 316 > 133
> 360 > 297 > 244 > 501 > 368 > 145 > 132 > 629 > 936 > 353
> 180 > 717 > 264 > 121 > 588 > 965 > 552 > 649 > 556 > 573
> 0 > 137 > 284 > 741 > 808 > 785 > 972 > 669 > 176 > 793
> 820 > 557 > 304 > 361 > 28 > 605 > 392 > 689 > 796 > 13
> 640 > 977 > 324 > 981 > 248 > 425 > 812 > 709 > 416 > 233
> 460 > 397 > 344 > 601 > 468 > 245 > 232 > 729 > 36 > 453
> 280 > 817 > 364 > 221 > 688 > 65 > 652 > 749 > 656 > 673
> 100 > 237 > 384 > 841 > 908 > 885 > 72 > 769 > 276 > 893
> 920 > 657 > 404 > 461 > 128 > 705 > 492 > 789 > 896 > 113
> 740 > 77 > 424 > 81 > 348 > 525 > 912 > 809 > 516 > 333
> 560 > 497 > 444 > 701 > 568 > 345 > 332 > 829 > 136 > 553
> 380 > 917 > 464 > 321 > 788 > 165 > 752 > 849 > 756 > 773
> 200 > 337 > 484 > 941 > 8 > 985 > 172 > 869 > 376 > 993
> 20 > 757 > 504 > 561 > 228 > 805 > 592 > 889 > 996 > 213
> 840 > 177 > 524 > 181 > 448 > 625 > 12 > 909 > 616 > 433
> 660 > 597 > 544 > 801 > 668 > 445 > 432 > 929 > 236 > 653
> 480 > 17 > 564 > 421 > 888 > 265 > 852 > 949 > 856 > 873
> 300 > 437 > 584 > 41 > 108 > 85 > 272 > 969 > 476 > 93
> 120 > 857 > 604 > 661 > 328 > 905 > 692 > 989 > 96 > 313
> 940 > 277 > 624 > 281 > 548 > 725 > 112 > 9 > 716 > 533
> 760 > 697 > 644 > 901 > 768 > 545 > 532 > 29 > 336 > 753
> 580 > 117 > 664 > 521 > 988 > 365 > 952 > 49 > 956 > 973
> 400 > 537 > 684 > 141 > 208 > 185 > 372 > 69 > 576 > 193
> 220 > 957 > 704 > 761 > 428 > 5 > 792 > 89 > 196 > 413
> 40 > 377 > 724 > 381 > 648 > 825 > 212 > 109 > 816 > 633
> 860 > 797 > 744 > 1 > 868 > 645 > 632 > 129 > 436 > 853
> 680 > 217 > 764 > 621 > 88 > 465 > 52 > 149 > 56 > 73
> 500…
=====
Printed 500 numbers.

Chiiika: she/her

23-03-2022 10:53:35 UTC

def seem_random(ite):
  new_ite = 0
  new_ite = (ite*731+137)00
  return new_ite
 
num_printed = 2
print(“Chiiika’s observation on this Algorithm”)
seed = 500
print(“Seed = ” + str(seed))
seed = seem_random(seed)
print(“500 > ” + str(seed), end=’‘)
while (seed != 500):
  seed = seem_random(seed)
  print(” > ” + str(seed), end=’‘)
  num_printed = num_printed+1
  if(num_printed == 0):
  print(”“)
print(”...”)
print(”=====”)
print(“Printed ” + str(num_printed-1) + ” numbers.”)

Chiiika: she/her

23-03-2022 11:11:21 UTC

CoV against this is too easily predictable, and with a range of 500 & the last digit follows 0 - 7 - 4 - 1 - 8 - 5 - 2 - 9 - 6 - 3

Raven1207: he/they

23-03-2022 11:15:02 UTC

against

Raven1207: he/they

23-03-2022 11:23:56 UTC

To add on to Chiiika’s point, modulo arithmetic is usually predictable because you are pretty much doing x+ny(where x is the base number, y is the incriminating factor and n is the number of times you multiply it). Every number has it’s cycle that it revolves around and all that x does is shift every number in the cycle by x

Additionally, since you subtract 1000 when it goes over 1000, it still retains the last 3 digits.

Josh: he/they

23-03-2022 11:26:14 UTC

Why is predictable bad?

This isn’t intended to be a cryptographic dynasty, I think - the initial statement by the Emperor was “some shared pseudorandom number generator, which obeys some mathematical law or changes based on the gamestate…  Players can predict or manipulate its results just by crunching the numbers and seeing where they land,” so some degree of grokability is necessary at some level. This early on in the dynasty, is it really desirable to have mechanics that require a detailed understanding of quantum mechanics to be able parse?

Chiiika: she/her

23-03-2022 11:40:48 UTC

The main problem is the 500 range instead of the full 1k. I’ll try to devise some sort of function that will give us the full range

Josh: he/they

23-03-2022 11:46:50 UTC

Okay, but still, this is an exercise in game design, not on exercise in pure maths… A range of 500 possibilities with superficially unpredictable outcomes is going to be fine for most game-related scenarios, even if the equation isn’t as aesthetically pleasing as it could be…

pokes:

23-03-2022 12:12:04 UTC

for

Roujo: he/him

23-03-2022 13:45:10 UTC

imperial

Clucky: he/him

23-03-2022 20:54:12 UTC

for

SingularByte: he/him

24-03-2022 05:58:43 UTC

imperial

GloopyGhost:

24-03-2022 15:29:02 UTC

imperial