jeanropke / RDR2CollectorsMap

The Unlicense
545 stars 168 forks source link

More Detailed Description of Randomization of Collections #1103

Open BrewBuilding opened 3 years ago

BrewBuilding commented 3 years ago

Is your feature request related to a problem? Please describe. No problem.

Describe the solution you'd like More information on the "frequency of appearance" for the items in the randomized collections.

Describe alternatives you've considered I've searched for the information on other internet resources but without success.

Additional context I've written a small program to simulate finding items in a collection to look at the statistics of how long it really takes to complete a randomized collections. I've been working with your data for the Coins collection, because that data contains just one set of "appearance frequencies". For the other randomized collections, the descriptions provided don't include quantities for the different contexts of the "appearance frequencies" (mud versus snow, for example) for me to simulate them. I'm happy to provide the data I've produced from the simulations, and the data from simulating the Coins collection are certainly interesting. The mean is 115.5 coins found to complete a set, and the median is in the mid 80s.

MichalD96 commented 3 years ago

That is nice, I am not sure if all our data is fully correct, because some coins seems to be much more rare than it is in loot tables. for example 1800 gold quarter. This coin is in set of the rarest coins, but i get regularly other rare coins except this one. Since naturalist update i got only 4 1800 gold quarter and all from random spots not coin random spot. And thats not only me. I guess there is soemthing else that randomize this items even more. The best solution is just reverse engeneering process, and find the function that draws the items.

BrewBuilding commented 3 years ago

Just to clarify, the analysis I'm doing does not try to factor in the random item spots, just the spots that always give a coin (or whatever collection we're analyzing at the moment). So whenever I say found here, I mean found at a spot that (only) gives coins.

Dealing with the "random item spots" is a complication for later, and I don't have the time to take a crack at reversing the game code. 😄

Just for an example, though, here's some data for one run simulating 100,000,000 completions of the Coins collection. I've run many of these data sets and for any simulation of 1,000 or more collection completions the numbers are very stable, and the examples below are representative.

The following table shows the overall number of coins "found" across all tests in the simulation. The first number in parentheses is the "appearance frequency" from the View Loot table. The second one is the fraction of coins actually found, to check that they're being found at the correct relative rates.

OVERALL ITEM COUNTS

11,553,774,293 items drawn in 100,000,000 tests
    1800 Gold Quarter              (0.02):     231,073,122 (0.0200)
    1798 Draped Bust Silver Dollar (0.06):     693,242,502 (0.0600)
    1787 One Cent Token            (0.06):     693,195,232 (0.0600)
    1794 Silver Dollar             (0.06):     693,277,060 (0.0600)
    1700 New Yorke Token           (0.02):     231,095,441 (0.0200)
    1800 Five Dollar Bechtler      (0.06):     693,261,184 (0.0600)
    1792 Quarter                   (0.12):   1,386,436,725 (0.1200)
    1800 Gold Dollar               (0.02):     231,092,701 (0.0200)
    1792 Nickel                    (0.12):   1,386,374,899 (0.1200)
    1796 Halfpenny                 (0.12):   1,386,418,219 (0.1200)
    1795 Half Eagle                (0.12):   1,386,442,722 (0.1200)
    1797 Gold Eagle                (0.02):     231,073,752 (0.0200)
    1792 Liberty Quarter           (0.02):     231,057,899 (0.0200)
    1800 Half Dime                 (0.06):     693,260,135 (0.0600)
    1789 Penny                     (0.12):   1,386,472,700 (0.1200)

        Total items found:  11,553,774,293
    Collections completed:     100,000,000
     Items per Completion:             115.54

So, to complete the 100,000,000 Coins collections the simulation had to find an average of about 115 coins for each collection. The median (the most frequent number of coins found to complete a set) is in the mid 80s.

This next table shows how many coins each completed collection needed, in blocks of 100. Here you can see that two (of 100,000,000) simulations had to find over 1,000 coins before completing the set. However, almost 50% of the time a collection completed in less than 100 coins found.

COUNT TO COMPLETE COLLECTION BY CENTURY FOR 100,000,000 TESTS
        0-   99:      46,475,482 (46.48%)
      100-  199:      44,670,625 (44.67%)
      200-  299:       7,646,062 ( 7.65%)
      300-  399:       1,046,852 ( 1.05%)
      400-  499:         139,330 ( 0.14%)
      500-  599:          18,738 ( 0.02%)
      600-  699:           2,513 ( 0.00%)
      700-  799:             346 ( 0.00%)
      800-  899:              47 ( 0.00%)
      900-  999:               3 ( 0.00%)
    1,000-1,099:               1 ( 0.00%)
    1,100-1,199:               1 ( 0.00%)

Looking at a little more detail, we see that 900 times (still ~0% of 100,000,000) a collection completed with less than twenty coins found and the median is somewhere in the eighties (it's usually around 85).

COUNT TO COMPLETE COLLECTION BY DECADE FOR 100,000,000 TESTS
       10-   19:             900 ( 0.00%)
       20-   29:         221,392 ( 0.22%)
       30-   39:       1,666,893 ( 1.67%)
       40-   49:       4,162,840 ( 4.16%)
       50-   59:       6,490,233 ( 6.49%)
       60-   69:       8,031,362 ( 8.03%)
       70-   79:       8,737,526 ( 8.74%)
       80-   89:       8,782,017 ( 8.78%)
       90-   99:       8,382,319 ( 8.38%)
      100-  109:       7,721,588 ( 7.72%)
      110-  119:       6,933,682 ( 6.93%)
      120-  129:       6,108,514 ( 6.11%)
      130-  139:       5,303,178 ( 5.30%)
      140-  149:       4,551,075 ( 4.55%)
      150-  159:       3,866,450 ( 3.87%)
      160-  169:       3,263,371 ( 3.26%)
      170-  179:       2,736,188 ( 2.74%)
      180-  189:       2,285,965 ( 2.29%)
      190-  199:       1,900,614 ( 1.90%)
      200-  209:       1,574,683 ( 1.57%)
      210-  219:       1,300,824 ( 1.30%)
      220-  229:       1,075,951 ( 1.08%)
      230-  239:         884,281 ( 0.88%)
      240-  249:         726,001 ( 0.73%)
      250-  259:         595,971 ( 0.60%)
      260-  269:         490,085 ( 0.49%)
      270-  279:         401,171 ( 0.40%)
      280-  289:         328,840 ( 0.33%)
      290-  299:         268,255 ( 0.27%)
      300-  309:         220,207 ( 0.22%)
      310-  319:         180,353 ( 0.18%)
      320-  329:         147,602 ( 0.15%)
      330-  339:         120,447 ( 0.12%)
      340-  349:          98,159 ( 0.10%)
      350-  359:          80,992 ( 0.08%)
      360-  369:          65,511 ( 0.07%)
      370-  379:          54,215 ( 0.05%)
      380-  389:          43,442 ( 0.04%)
      390-  399:          35,924 ( 0.04%)
      400-  409:          29,266 ( 0.03%)
      410-  419:          23,825 ( 0.02%)
      420-  429:          19,623 ( 0.02%)
      430-  439:          15,949 ( 0.02%)
      440-  449:          13,320 ( 0.01%)
      450-  459:          10,789 ( 0.01%)
      460-  469:           8,756 ( 0.01%)
      470-  479:           7,183 ( 0.01%)
      480-  489:           5,811 ( 0.01%)
      490-  499:           4,808 ( 0.00%)
      500-  509:           3,879 ( 0.00%)
      510-  519:           3,198 ( 0.00%)
      520-  529:           2,667 ( 0.00%)
      530-  539:           2,204 ( 0.00%)
      540-  549:           1,841 ( 0.00%)
      550-  559:           1,476 ( 0.00%)
      560-  569:           1,119 ( 0.00%)
      570-  579:             958 ( 0.00%)
      580-  589:             754 ( 0.00%)
      590-  599:             642 ( 0.00%)
      600-  609:             493 ( 0.00%)
      610-  619:             423 ( 0.00%)
      620-  629:             363 ( 0.00%)
      630-  639:             304 ( 0.00%)
      640-  649:             257 ( 0.00%)
      650-  659:             193 ( 0.00%)
      660-  669:             153 ( 0.00%)
      670-  679:             121 ( 0.00%)
      680-  689:             115 ( 0.00%)
      690-  699:              91 ( 0.00%)
      700-  709:              71 ( 0.00%)
      710-  719:              60 ( 0.00%)
      720-  729:              44 ( 0.00%)
      730-  739:              45 ( 0.00%)
      740-  749:              35 ( 0.00%)
      750-  759:              27 ( 0.00%)
      760-  769:              24 ( 0.00%)
      770-  779:              17 ( 0.00%)
      780-  789:              10 ( 0.00%)
      790-  799:              13 ( 0.00%)
      800-  809:               8 ( 0.00%)
      810-  819:              15 ( 0.00%)
      820-  829:               4 ( 0.00%)
      830-  839:               2 ( 0.00%)
      840-  849:               4 ( 0.00%)
      850-  859:               5 ( 0.00%)
      860-  869:               3 ( 0.00%)
      870-  879:               3 ( 0.00%)
      880-  889:               3 ( 0.00%)
      900-  909:               1 ( 0.00%)
      920-  929:               2 ( 0.00%)
    1,000-1,009:               1 ( 0.00%)
    1,110-1,119:               1 ( 0.00%)

Finally, it seems logical that most collections will complete by finding one of the least common coins. At first blush, a person might think that it would always end with finding a least common coin. But that's not the way probability works ... this table shows how often each coin was the last one found to complete the set. The frequencies are kinda "flipped upside down" from the item frequencies, of course.

LAST ITEM CHOSEN IN EACH TEST

100,000,000 items drawn in 100,000,000 tests
    1800 Gold Quarter              (0.02):      18,489,798 (0.1849)
    1798 Draped Bust Silver Dollar (0.06):       1,405,560 (0.0141)
    1787 One Cent Token            (0.06):       1,407,767 (0.0141)
    1794 Silver Dollar             (0.06):       1,406,763 (0.0141)
    1700 New Yorke Token           (0.02):      18,486,367 (0.1849)
    1800 Five Dollar Bechtler      (0.06):       1,406,790 (0.0141)
    1792 Quarter                   (0.12):         102,868 (0.0010)
    1800 Gold Dollar               (0.02):      18,490,523 (0.1849)
    1792 Nickel                    (0.12):         103,175 (0.0010)
    1796 Halfpenny                 (0.12):         103,570 (0.0010)
    1795 Half Eagle                (0.12):         103,389 (0.0010)
    1797 Gold Eagle                (0.02):      18,486,096 (0.1849)
    1792 Liberty Quarter           (0.02):      18,493,631 (0.1849)
    1800 Half Dime                 (0.06):       1,409,947 (0.0141)
    1789 Penny                     (0.12):         103,756 (0.0010)
AlwaysBeGaming commented 3 years ago

Is your feature request related to a problem? Please describe. No problem.

Describe the solution you'd like More information on the "frequency of appearance" for the items in the randomized collections.

Describe alternatives you've considered I've searched for the information on other internet resources but without success.

Additional context I've written a small program to simulate finding items in a collection to look at the statistics of how long it really takes to complete a randomized collections. I've been working with your data for the Coins collection, because that data contains just one set of "appearance frequencies". For the other randomized collections, the descriptions provided don't include quantities for the different contexts of the "appearance frequencies" (mud versus snow, for example) for me to simulate them. I'm happy to provide the data I've produced from the simulations, and the data from simulating the Coins collection are certainly interesting. The mean is 115.5 coins found to complete a set, and the median is in the mid 80s.

hey i was wondering if you could message me that program and is it up to date at all? Please message me no matter what if you dont have discord then you can always just pick another way we can chat and ill let you know how to contact me on it, I was also wondering if you would be interested in maybe gaming together i have a bunch more questions id love to ask you. my discord is AlwaysBeGaming#0485