--- Log opened Tue Sep 15 00:00:09 2015 |
00:04 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code |
00:04 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
00:44 | | Meatyhandbag [sebastianfe@Nightstar-ohu.854.224.136.IP] has quit [Client exited] |
01:09 | | Meatyhandbag [sebastianfe@Nightstar-ohu.854.224.136.IP] has joined #code |
02:16 | | ion [Owner@Nightstar-80351t.bchsia.telus.net] has joined #code |
03:11 | <@Reiv> | HEY VORN |
03:11 | <@Reiv> | I have a simple math for you |
03:12 | <@Reiv> | Say you can hit for 50%. You have X slots. You can fill a slot with a Gun, or a +12% to hit. |
03:12 | <@Reiv> | What ratio do you want for maximal murder? |
03:13 | <@Reiv> | or ratios, for various X, anyway, but you know what I mean |
03:13 | <@Reiv> | I'm figuring in the range of, I dunno, 2-10 or so |
03:14 | <@Reiv> | Obviously at 2 you want 2 Gun, and at 10 you want at least some Aim, but |
03:26 | | ion [Owner@Nightstar-80351t.bchsia.telus.net] has quit [Ping timeout: 121 seconds] |
03:27 | | thalass [thalass@Nightstar-m49.o7s.158.104.IP] has quit [Connection closed] |
03:29 | | ion [Owner@Nightstar-80351t.bchsia.telus.net] has joined #code |
03:34 | | catadroid` [catalyst@Nightstar-r1129u.dab.02.net] has joined #code |
03:35 | | Checkmate [Z@Nightstar-r9lk5l.cust.comxnet.dk] has quit [Ping timeout: 121 seconds] |
03:36 | | catadroid [catalyst@Nightstar-a88ccj.dab.02.net] has quit [Ping timeout: 121 seconds] |
03:38 | <@Wizard> | Reiv: I presume the idea is to maximize hit total with one shot for each gun? |
03:51 | <@Reiv> | Wizard: Yeah, maximising the damage, and it's one shot per gun at this point |
03:52 | | * Wizard just spent some ten minutes wrestling Wolfram syntax to no avail over this |
03:53 | <@Wizard> | Reiv: I mean I guess just run the numbers like |
03:54 | <@Wizard> | for num_slots in (2..10): max for num_aim in (0..num_slots): min(1, 0.5 + 0.12 * num_aim) * (num_slots - num_aim) |
03:58 | <~Vornicus> | So wait |
03:58 | <~Vornicus> | wait wait |
03:59 | <~Vornicus> | So if you have, let me say, 5 slots, and you fill two with +12% to hit (1 in 8). so, then, is it 73% for each of your three guns? |
04:00 | <@Reiv> | Correct |
04:00 | <~Vornicus> | er, if it's 1 in 8, it's +12.5% and thus 3 at 75% |
04:00 | <@Reiv> | But it's actually +12% |
04:00 | <@Reiv> | Just to be fussy :p |
04:01 | <&Derakon> | Average damage is given as (.5+.12*A)*(G) where A = number of aim slots and G = number of gun slots, then. |
04:01 | <&Derakon> | And A+G=N, N = total number of slots. |
04:02 | <~Vornicus> | Okay. after 4 guns, a +12 is at +0.48 EV; after 5, it's at +0.6 EV. So, five guns, then four +12s, and then... hm |
04:04 | <&Derakon> | Oh, wait, it's +12% multiplicative, not +12 percentage points? |
04:05 | <&Derakon> | If it's percentage points, then this should be the best average damage for slotnums 1-10 (number of slots, number of guns, average damage) |
04:05 | <&Derakon> | 2 1 0.62 |
04:05 | <&Derakon> | 3 2 1.24 |
04:05 | <&Derakon> | 4 3 1.86 |
04:05 | <&Derakon> | 5 4 2.48 |
04:05 | <&Derakon> | 6 5 3.1 |
04:05 | <&Derakon> | 7 6 3.72 |
04:05 | <&Derakon> | 8 6 4.44 |
04:05 | <&Derakon> | 9 7 5.18 |
04:05 | <&Derakon> | Assuming there's no bugs in my script, which is basically Wizard's script inverted~ |
04:06 | <@Wizard> | Derakon: 2 guns in the first one is 1 total hits |
04:06 | <@Wizard> | Rather than 0.62 |
04:06 | <@Wizard> | I suspect there is something |
04:07 | <~Vornicus> | at this point you've got an EV of 4.8. from here out, a +12 is worth only 0.04G EV, and a gun is worth 0.96, so the next 19 are all guns, then it's (finally) tied. Now we're at 24 guns and 4 +12s = 0.96 * 24. So one of your next two should be a +12, the other is a gun, and then beyond that there's no point in any more +12s 'cause we're looking at 100% hit chance |
04:07 | <~Vornicus> | ...did it wrong, it's 0.98, which means you need to get to 49 guns. |
04:07 | <&Derakon> | Wizard: hmm. |
04:08 | <&Derakon> | I can't dispute your logic, but I also don't see my error. http://pastebin.com/eKeHvVSN |
04:08 | <&Derakon> | Oh wait, it's the ranging on my inner for loop. Duh. |
04:09 | <&Derakon> | There we go. |
04:09 | <&Derakon> | 1 1 0.5 |
04:09 | <&Derakon> | 2 2 1.0 |
04:09 | <&Derakon> | 3 3 1.5 |
04:09 | <&Derakon> | 4 4 2.0 |
04:09 | <&Derakon> | 5 5 2.5 |
04:09 | <&Derakon> | 6 5 3.1 |
04:09 | <&Derakon> | 7 6 3.72 |
04:09 | <&Derakon> | 8 6 4.44 |
04:09 | <&Derakon> | 9 7 5.18 |
04:09 | <&Derakon> | So until you get 6 slots, just do More Gun. |
04:09 | <@Reiv> | Vornicus: ... thank you for being thorough, I suppose! |
04:10 | <@Reiv> | Derakon: Interesting indeed. |
04:10 | <@Wizard> | I made a ruby script and then realized I returned a [[], [], ..] result so now I'm spending more time parsing than I spent solving |
04:10 | <@Wizard> | ~ |
04:10 | <&Derakon> | Heh. |
04:10 | <@Reiv> | Does this math change at all for higher or lower percentages? |
04:10 | <~Vornicus> | Sure it does |
04:10 | <&Derakon> | Reiv: with +24% per aim slot, you start dedicating to oaim with your 4th slot. |
04:10 | <&Derakon> | s/oaim/aim/ |
04:11 | <&Derakon> | With 6% per slot, it's More Gun through 9 slots~ |
04:11 | <@Reiv> | righto~ |
04:11 | <@Reiv> | So, say the base to-hit was, I dunno, 30% |
04:11 | <&Derakon> | (Starting with your 10th slot you do add an aimer) |
04:11 | <@Reiv> | You'd switch to accuracy much faster, right? |
04:12 | <&Derakon> | 30% + 6% per aimslot, you add aim with your 6th slot. |
04:12 | <&Derakon> | So yes. |
04:12 | <&Derakon> | Think of it this way: a 36% hit rate is 20% better than a 30% hit rate. |
04:13 | <&Derakon> | Conversely, an 86% hit rate is onoly 7.5% bettetr than an 80% hit rate. |
04:13 | <&Derakon> | Argh. |
04:13 | <&Derakon> | This fucking keyboard. |
04:14 | <@Reiv> | Danke kindly. |
04:14 | <@Wizard> | https://repl.it/BIFU/2 |
04:15 | <@Wizard> | Derakon already posted it but I'm not wasting that time |
04:15 | <~Vornicus> | huh, I was wrong, weird |
04:15 | <&Derakon> | I note Vorn's impulse for these kinds of problems is to Solve Them mathematically, while my impulse is to throw them through a few hundred numbers and see what they do~ |
04:16 | <~Vornicus> | 6th, 8th, 10th, 12th, and one of 54th and 55th should be +12s |
04:18 | <@Wizard> | I wonder if there is a formula for describing neatly at which levels aim modules get added |
04:18 | <&Derakon> | Probably. It's some kind of exponential decay, I think. |
04:18 | <&Derakon> | Obviously once you get to 100% hit rate you go All Guns All The Time. |
04:19 | <~Vornicus> | doesn't look terribly exponential, really |
04:19 | <&Derakon> | The value of each additional aim module is smaller than the last, which means you need more guns before it pays for itself. |
04:19 | <~Vornicus> | ...let me try with a slightly more extreme example here |
04:19 | <&Derakon> | ...right, linear decay? |
04:20 | <&Derakon> | At 12% aim modules, percentage improvement in damage for each module is 24%, 19.35%, 16,22%, 13.95%, 2.04%. |
04:21 | <&Derakon> | (The last is going from 98% accuracy to 100% accuracy) |
04:22 | <~Vornicus> | Looks like... yeah, linear is most likely |
04:23 | <~Vornicus> | I just used 0.5 / 0.01 |
04:23 | <~Vornicus> | Up to 50/51 slots you want All Guns, then it goes + gun + gun + gun + gun |
04:24 | <@Reiv> | That seems suprising. |
04:24 | <@Reiv> | I had assumed that accuracy would become more valuable teh more guns you have |
04:24 | <@Reiv> | Of course, it also becomes less useful to stack. Are these two curves canceling out? |
04:24 | <~Vornicus> | Then there's an exception: if your last aim module puts you over 100%, then you have to wait awhile, 'cause the last one is a lot less powerful than its predecessors |
04:24 | <&Derakon> | The marginal value of each additional aim unit is lower as you stack more aim units. |
04:25 | <~Vornicus> | lower, percentagewise |
04:25 | <&Derakon> | When you're very inaccurate, even a small (but flat) accuracy improvement is very valuable. |
04:25 | <&Derakon> | When you're already quite accurate, a small flat improvement doesn't make much difference. |
04:26 | <&Derakon> | Say your accuracy is 1% and an aim unit increases that by 1%. You want one really early, because it doubles your hit rate! |
04:26 | <~Vornicus> | ...thing is, in reality this is multilinear |
04:27 | <@Reiv> | Vornicus: Excusing the last example (Because I hadn't thought it that far through and technically the cap is at 95% anyway), what sort of multilinear are you talking? |
04:28 | <~Vornicus> | Let's pretend your base accuracy is 0 |
04:28 | <~Vornicus> | then your expected damage rate is simply guns * aim * aim_power |
04:29 | <~Vornicus> | This is a thing we know what it looks like! |
04:30 | <~Vornicus> | It's the multiplication table. |
04:31 | <~Vornicus> | And we know the shapes it takes, and the optimal growth curve on it: guns = aim |
04:32 | <~Vornicus> | Changing the base accuracy simply moves the central point, so what we get is guns = aim + base_accuracy / aim_power |
04:34 | <~Vornicus> | note that base_accuracy / aim_power is a constant, so we still get a straight line; it's just that we have a restriction, aim can't be less than 0. So we have to travel along the "all guns" line until we reach the point where the true optimal line is within our constraints. |
04:39 | <~Vornicus> | then when you hit the top -- whether this is 100% or 95% -- you have a different problem if you don't land that value exactly. |
04:40 | | Turaiel is now known as Turaiel[Offline] |
04:41 | <@Reiv> | Vornicus: ... that is the bestest example I have seen. |
04:41 | <@Reiv> | Thank you for clarifying. :D |
04:44 | <~Vornicus> | (multilinear: ev \propto guns; ev \propto aim |
05:09 | | Derakon is now known as Derakon[AFK] |
05:13 | | celticminstrel [celticminst@Nightstar-r3r7al.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] |
05:20 | | Meatyhandbag [sebastianfe@Nightstar-ohu.854.224.136.IP] has quit [Client exited] |
06:09 | | Reiv [NSwebIRC@Nightstar-q8avec.kinect.net.nz] has quit [Ping timeout: 121 seconds] |
06:42 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has quit [Ping timeout: 121 seconds] |
07:00 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has quit [Connection closed] |
07:10 | | Kindamoody|afk is now known as Kindamoody |
07:24 | | catadroid` [catalyst@Nightstar-r1129u.dab.02.net] has quit [[NS] Quit: Bye] |
07:31 | | macdjord is now known as macdjord|slep |
07:55 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has joined #code |
07:55 | | mode/#code [+o himi] by ChanServ |
08:04 | | wowaname [h@wowana.me] has quit [Ping timeout: 121 seconds] |
08:09 | | ion [Owner@Nightstar-80351t.bchsia.telus.net] has quit [Ping timeout: 121 seconds] |
08:10 | | wowaname [h@wowana.me] has joined #code |
08:21 | | ion [Owner@Nightstar-80351t.bchsia.telus.net] has joined #code |
08:39 | | ion [Owner@Nightstar-80351t.bchsia.telus.net] has quit [Ping timeout: 121 seconds] |
09:07 | | Kindamoody is now known as Kindamoody|out |
09:24 | | Checkmate [Z@Nightstar-r9lk5l.cust.comxnet.dk] has joined #code |
09:24 | | mode/#code [+o Checkmate] by ChanServ |
10:10 | | catadroid [catalyst@Nightstar-engp9o.dab.02.net] has joined #code |
10:30 | | * TheWatcher discovers where he'd left his first edition K&R C! |
10:31 | <@TheWatcher> | This will have to go into its correct place on my bookshelf, next to the Necronomicon. |
10:38 | <&McMartin> | Sounds like a fine excuse to relink http://www.bobhobbs.com/files/kr_lovecraft.html |
10:39 | <@TheWatcher> | Oh, yes; I should add that to the end of the Recommended reading list... |
10:45 | <&McMartin> | "I had heard tales of the... thingB that C.A.R. Hoare had summoned up in '62---dark hints of choosing on element from an array, and partitioning the rest into lesser and greater sets, and hellishly recursing until the data were twisted into a sorted list---but nothing I could have imagined would be in any way comparable to the daemoniac, blasphemous reality that I saw." |
10:45 | <&McMartin> | oops, close tag |
10:50 | <&McMartin> | I do like the effects on the modern reader of the conceit that lack of heap allocation is the darkest of dark arts |
13:12 | | Turaiel[Offline] is now known as Turaiel |
13:20 | | gnolam [lenin@Nightstar-t1tbf0.cust.bahnhof.se] has joined #code |
13:20 | | mode/#code [+o gnolam] by ChanServ |
13:37 | | macdjord|slep is now known as macdjord|wurk |
15:01 | | Meatyhandbag [sebastianfe@Nightstar-ohu.854.224.136.IP] has joined #code |
15:17 | | kourbou [kourbou@Nightstar-deqg8j.fbx.proxad.net] has joined #code |
16:12 | | ion [Owner@Nightstar-3cu28l.vs.shawcable.net] has joined #code |
16:26 | | ion [Owner@Nightstar-3cu28l.vs.shawcable.net] has quit [Ping timeout: 121 seconds] |
16:28 | | celticminstrel [celticminst@Nightstar-r3r7al.dsl.bell.ca] has joined #code |
16:28 | | mode/#code [+o celticminstrel] by ChanServ |
16:34 | | catadroid` [catalyst@Nightstar-4678nc.dab.02.net] has joined #code |
16:37 | | catadroid [catalyst@Nightstar-engp9o.dab.02.net] has quit [Ping timeout: 121 seconds] |
17:09 | | catalyst [catalyst@Nightstar-bt5k4h.81.in-addr.arpa] has joined #code |
17:10 | | catadroid` [catalyst@Nightstar-4678nc.dab.02.net] has quit [[NS] Quit: Bye] |
17:54 | | * Alek snickers. |
17:54 | | * Tamber mars. |
17:55 | <@Alek> | O henry. *shakes head* |
18:06 | <&McMartin> | https://github.com/shinh/makelisp |
18:40 | < abudhabi> | How does watermarking work in PDFs? |
19:17 | | Kindamoody|out is now known as Kindamoody |
19:18 | | kourbou [kourbou@Nightstar-deqg8j.fbx.proxad.net] has quit [[NS] Quit: Iām not a psychopath. Iām a high-functioning sociopath. Do your research.] |
20:29 | | catalyst [catalyst@Nightstar-bt5k4h.81.in-addr.arpa] has quit [[NS] Quit: ] |
20:31 | | Checkmate [Z@Nightstar-r9lk5l.cust.comxnet.dk] has quit [Ping timeout: 121 seconds] |
20:53 | | Turaiel is now known as Turaiel[Offline] |
21:25 | | Meatyhandbag [sebastianfe@Nightstar-ohu.854.224.136.IP] has quit [Client exited] |
22:14 | | catalyst [catalyst@Nightstar-bt5k4h.81.in-addr.arpa] has joined #code |
22:52 | | Meatyhandbag [sebastianfe@Nightstar-ohu.854.224.136.IP] has joined #code |
23:02 | | Turaiel[Offline] is now known as Turaiel |
23:41 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code |
23:41 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
23:56 | | catalyst [catalyst@Nightstar-bt5k4h.81.in-addr.arpa] has quit [[NS] Quit: ] |
23:58 | | catadroid [catalyst@Nightstar-cf2u4f.dab.02.net] has joined #code |
--- Log closed Wed Sep 16 00:00:25 2015 |