Good to know. Thanks josh.
Oh. Well I guess I owe Adam and email about that progressive strike tournament I just submitted.
OK, so I think it’s awesome people are starting to toy with this format and am excited there are some upcoming events.
I was interested to get some idea of how long these things would run, so I just wrote a program to do it. I’ll even try to upload it so you can run it on a windows command prompt.
I called it “FairStrikeSim” as much as I also like Keefer Strikes @haugstrup.
Here are the results for some of the more interesting combinations of players and strikes (10,000 simulations each)
players | strikes | average lasted | players | strikes | average lasted | ||
---|---|---|---|---|---|---|---|
8 | 5 | 6.6848 | 8 | 6 | 7.8153 | ||
9 | 5 | 6.9656 | 9 | 6 | 8.1379 | ||
10 | 5 | 7.0884 | 10 | 6 | 8.2603 | ||
11 | 5 | 7.1888 | 11 | 6 | 8.3849 | ||
12 | 5 | 7.2384 | 12 | 6 | 8.4413 | ||
13 | 5 | 7.486 | 13 | 6 | 8.6784 | ||
14 | 5 | 7.5577 | 14 | 6 | 8.731 | ||
15 | 5 | 7.5965 | 15 | 6 | 8.7948 | ||
16 | 5 | 7.6032 | 16 | 6 | 8.8291 | ||
20 | 5 | 7.8798 | 20 | 6 | 9.1227 | ||
24 | 5 | 8.2071 | 24 | 6 | 9.4062 | ||
28 | 5 | 8.3265 | 28 | 6 | 9.5178 | ||
32 | 5 | 8.4154 | 32 | 6 | 9.6531 | ||
40 | 5 | 8.6648 | 40 | 6 | 10.0469 | ||
50 | 5 | 9.0913 | 50 | 6 | 10.3138 | ||
64 | 5 | 9.2425 | 64 | 6 | 10.4742 | ||
75 | 5 | 9.3307 | 75 | 6 | 10.7284 | ||
100 | 5 | 9.7742 | 100 | 6 | 11.1504 |
Wow, that pasted from excel amazingly well. Thanks, discourse!
OK, not surprisingly an .exe is not allowed, so get it here if you like: https://drive.google.com/open?id=1qqpEtnGnRb8aQrncihhwnc8dJUAHdRB8
Just tell it the number of players, number of strikes, and number of simulations to run. 10,000 seems like a pretty reasonable number to use.
I’ll put up the source when I clean it up a bit. As stated it’s natively a win64 console app, but there’s probably <10 lines to change to get it to run under gcc or something. It would also be pretty trivial to change it to some other scheme like @BonusLord’s endurance thingy.
There’s probably some mathy pattern here, but I’ll let others better qualified to figure that out.
Also, I did repeated runs on a couple of these, the data seems extremely consistent through 2 decimal places.
Additional bonus edit: Sample output from a run of 100 players/6 strkes:
**** PLAYERS PER ROUND, SUMMARY AFTER RUN 10000 ****
round 1: 100.000000
round 2: 100.000000
round 3: 100.000000
round 4: 98.433403
round 5: 85.946602
round 6: 62.916302
round 7: 39.154999
round 8: 21.553400
round 9: 11.138100
round 10: 5.203600
round 11: 2.541200
round 12: 0.332000
round 13: 0.002800
round 14: 0.000000
**** ROUNDS MATCH LASTED SUMMARY AFTER RUN 10000 ****
round 1: 0
round 2: 0
round 3: 0
round 4: 0
round 5: 0
round 6: 0
round 7: 0
round 8: 0
round 9: 0
round 10: 196
round 11: 8147
round 12: 1643
round 13: 14
**** AVERAGE ROUNDS LASTED, SUMMARY AFTER RUN 10000 ****
average match lasted 11.147500
I played in my first 0112 knockout on Tuesday. 16 players and it went 8 rounds, which timed out to about 4 hours with a couple long playing moderns in the mix. I thought it felt pretty fair.
MP link for those interested - https://matchplay.events/live/xr35w
How many strikes?
Right, the most important variable that I forgot to mention. 6 strikes
Anyone want to guess how long a 24 strike progressive knockout will take? That’s what’s going down at Trent’s barn on Saturday. Guessing there may be 50-60 players on a mix of classics and moderns. Starts at 10am and could end up being a very long haul.
Follow along here if you’re curious. https://matchplay.events/live/3r1d1
I think there will also be some streaming, but I don’t have those details.
Arcade super awesome plans to stream it. So look them up on twitch. Not sure the timing of it though.
How do you not go 27 outs and make it the World Series of Pinball format?
That’s like running a marathon and stopping at mile marker 25
I mean, it could be 24 strikes for the home team if they’re winning in the bottom of the 9th
FairStrikes results:
**** PLAYERS PER ROUND, SUMMARY AFTER RUN 10000 ****
round 1: 50.000000
round 2: 50.000000
round 3: 50.000000
round 4: 50.000000
round 5: 50.000000
round 6: 50.000000
round 7: 50.000000
round 8: 50.000000
round 9: 50.000000
round 10: 50.000000
round 11: 50.000000
round 12: 50.000000
round 13: 50.000000
round 14: 49.997799
round 15: 49.978500
round 16: 49.891399
round 17: 49.630501
round 18: 49.055302
round 19: 47.934601
round 20: 46.149799
round 21: 43.339500
round 22: 39.403301
round 23: 34.213001
round 24: 28.539101
round 25: 22.702101
round 26: 17.333900
round 27: 12.652600
round 28: 8.880600
round 29: 6.009300
round 30: 3.973200
round 31: 2.505600
round 32: 1.066800
round 33: 0.195700
round 34: 0.021800
round 35: 0.001400
round 36: 0.000000
**** ROUNDS MATCH LASTED SUMMARY AFTER RUN 10000 ****
round 1: 0
round 2: 0
round 3: 0
round 4: 0
round 5: 0
round 6: 0
round 7: 0
round 8: 0
round 9: 0
round 10: 0
round 11: 0
round 12: 0
round 13: 0
round 14: 0
round 15: 0
round 16: 0
round 17: 0
round 18: 0
round 19: 0
round 20: 0
round 21: 0
round 22: 0
round 23: 0
round 24: 0
round 25: 0
round 26: 0
round 27: 0
round 28: 0
round 29: 1
round 30: 541
round 31: 4280
round 32: 4202
round 33: 867
round 34: 102
round 35: 7
**** AVERAGE ROUNDS LASTED, SUMMARY AFTER RUN 10000 ****
average match lasted 31.572701
What exactly is progressive? 0/1/2/3 0/1/2 0/1?
Here’s 01 012 0123 for 50 players, 24 strikes.
Interesting to note there’s WAY more volatility with tournament length with this version of progressive.
**** PLAYERS PER ROUND, SUMMARY AFTER RUN 10000 ****
round 1: 50.000000
round 2: 50.000000
round 3: 50.000000
round 4: 50.000000
round 5: 50.000000
round 6: 50.000000
round 7: 50.000000
round 8: 50.000000
round 9: 50.000000
round 10: 50.000000
round 11: 50.000000
round 12: 49.999901
round 13: 49.954399
round 14: 48.035099
round 15: 41.346901
round 16: 33.713699
round 17: 25.916300
round 18: 18.979300
round 19: 13.074300
round 20: 9.124400
round 21: 6.171400
round 22: 4.084800
round 23: 2.553200
round 24: 1.437800
round 25: 0.819800
round 26: 0.459300
round 27: 0.252600
round 28: 0.133000
round 29: 0.073200
round 30: 0.037800
round 31: 0.018000
round 32: 0.009000
round 33: 0.003600
round 34: 0.001800
round 35: 0.001000
round 36: 0.000400
**** ROUNDS MATCH LASTED SUMMARY AFTER RUN 10000 ****
round 20: 0
round 21: 12
round 22: 697
round 23: 2565
round 24: 2647
round 25: 1783
round 26: 1033
round 27: 598
round 28: 299
round 29: 177
round 30: 99
round 31: 45
round 32: 27
round 33: 9
round 34: 4
round 35: 3
round 36: 2
**** AVERAGE ROUNDS LASTED, SUMMARY AFTER RUN 10000 ****
average match lasted 24.503201
Exactly
Very cool! Thanks for making this, as it really shows the equability of rounds in the 0/1/1/2 format.
I tried running the exe locally but got a number of missing DLL errors (probably my system setup, as it says it can’t find ucrtbased.dll + VCRUNTIME140D.dll).
Would you be able to run a simulation for 8 Players, 4 Strikes? We’re intending to use this as a B-Division & C-Division Final for an upcoming event as something different than the traditional PAPA-Style groups.
Okay so 35-36 rounds at ~24 minutes per round is 14-15 hours. Starting at 10am that would wrap up around midnight, which is roughly what I was expecting. Thanks for the number crunching!
Oh that might be because I built as debug. Let me build release and see if that helps. I’ll do the sim real quick too.
Edit for sim:
8 players, 4 fair strikes
**** PLAYERS PER ROUND, SUMMARY AFTER RUN 10000 ****
round 1: 8.000000
round 2: 8.000000
round 3: 7.498000
round 4: 5.225100
round 5: 3.126500
round 6: 1.080800
round 7: 0.015400
**** ROUNDS MATCH LASTED SUMMARY AFTER RUN 10000 ****
round 1: 0
round 2: 0
round 3: 0
round 4: 6
round 5: 4649
round 6: 5268
round 7: 77
**** AVERAGE ROUNDS LASTED, SUMMARY AFTER RUN 10000 ****
average match lasted 5.541600
New links to try:
Fair Strike Sim: https://drive.google.com/open?id=12cHo_TOSrVI4Hjv7bJgJW_3bgjpy_Kkw
Progressive Strike Sim: https://drive.google.com/open?id=14bzlLHREQNebn6w1B7V1SlvKvbrW6Ac7
Feel free to try and LMK if there’s still a problem.
Awesome!
I was getting DLL errors too, but this one’s working. Thanks so much for this tool!
Hmmm, something’s not right. I’ve run a simulation 60 player, 7 keefer-strike tournament on Match Play that went for 16 rounds: https://matchplay.live/d3nvy
The fairstrikesim gives these results for 60 players, 7 strikes:
**** PLAYERS PER ROUND, SUMMARY AFTER RUN 1000000 ****
round 1: 60.000000
round 2: 60.000000
round 3: 60.000000
round 4: 60.000000
round 5: 57.891514
round 6: 50.024925
round 7: 37.383465
round 8: 24.413816
round 9: 14.194348
round 10: 7.641338
round 11: 3.745633
round 12: 1.406503
round 13: 0.068032
round 14: 0.000290
**** ROUNDS MATCH LASTED SUMMARY AFTER RUN 1000000 ****
round 1: 0
round 2: 0
round 3: 0
round 4: 0
round 5: 0
round 6: 0
round 7: 0
round 8: 0
round 9: 0
round 10: 0
round 11: 339903
round 12: 626083
round 13: 33869
round 14: 145
Perhaps it’s a difference in how matches are seeded. I basically bunch people up in order of strikes (I guess that’s Swiss). What does matchplay do (specifically, if known)?