code logs -> 2015 -> Tue, 15 Sep 2015< code.20150914.log - code.20150916.log >
--- 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
code logs -> 2015 -> Tue, 15 Sep 2015< code.20150914.log - code.20150916.log >

[ Latest log file ]