--- Log opened Thu Apr 17 00:00:22 2008 |
00:15 | <@Serah> | Vorn, is there an easy way to calculate recursive averages? |
00:17 | <@Vornicus> | "recursive averages"? |
00:17 | <@Vornicus> | You mean, like stream a thing in, and have the average update as you go? |
00:18 | <@Vornicus> | if that's what you mean, your best bet is to keep a weighted average. |
00:19 | <@Serah> | I mean as in there's X% chance this happens again. |
00:19 | <@Serah> | When it happens again there is the same X% chance it happens. |
00:19 | <@Serah> | What is the average amount of times it happens? |
00:19 | <@Vornicus> | So you have an event with a probability of it happening |
00:19 | <@Serah> | I have 7% 5% ( These five can't happen off the same five ) and 1% |
00:19 | <@Serah> | Yes, |
00:20 | <@Vornicus> | and then you have a number of trials, each with that probability of the event happening during the trial? |
00:20 | <@Serah> | When I attack, I have a propability of attacking again. |
00:21 | < Shoukanjuu> | I love my Wii. It overwrites 13 megabytes of RAM and doesn't afraid of anything. |
00:21 | <@Vornicus> | er, let's try this from the beginning |
00:23 | <@Serah> | Ok? |
00:23 | <@Vornicus> | What is the first thing that happens? |
00:24 | <@Serah> | An attack. |
00:24 | <@Vornicus> | Okay. |
00:24 | <@Serah> | Let's call it that. |
00:24 | <@Vornicus> | And then what does that trigger? |
00:24 | <@Serah> | A percentile chance, to attack. |
00:25 | <@Vornicus> | okay, so the attack itself can (with a certain probability) cause another attack? |
00:25 | <@Serah> | Or to be more precise, multiple percentile chances to attack. |
00:25 | <@Vornicus> | Okay you lost me again |
00:25 | <@Vornicus> | You have an attack. Now, you roll some dice, and it determines whether you attack again |
00:26 | <@Vornicus> | Right so far? |
00:26 | <@Serah> | Yes. |
00:27 | <@Vornicus> | And then if you attack again, you roll some more dice, and that determines whether you attack a third time? |
00:27 | <@Vornicus> | and so forth? |
00:28 | <@Serah> | Yes and no. That is the basic concept. |
00:34 | <@C_tiger> | Serah, integration? |
00:34 | <@Serah> | Sounds funky, never learned it. |
00:34 | <@C_tiger> | well, actually a geometric series, sum. |
00:35 | <@C_tiger> | Serah, does the percentage chance change over time? |
00:35 | <@Serah> | No. |
00:35 | <@Serah> | It does however have strange rules. |
00:36 | <@McMartin> | And yeah, this is summing an infinite series. |
00:36 | <@C_tiger> | Ok, in the nth round, what are the possible outcomes? |
00:36 | <@McMartin> | You run into this when you try to get, for instance, average roll value in Shadowrun. |
00:36 | <@McMartin> | But that's with d6s |
00:36 | <@McMartin> | And a much easier problem, as well as concrete. |
00:36 | <@Serah> | Yeah. |
00:36 | <@McMartin> | But the *principle* is the same. |
00:37 | <@C_tiger> | anyhow, on the nth roll, what are the possible outcomes? |
00:37 | <@McMartin> | (Actually, it's the same even if the "chance to proc" isn't the same each roll) |
00:37 | <@C_tiger> | it's no longer geometric though. |
00:37 | <@C_tiger> | which makes summing a huge annoyance. |
00:38 | <@Serah> | There are four outcomes. |
00:40 | <@McMartin> | C: Then you compute to N decimal places and declare it good enough, imo. |
00:40 | <@C_tiger> | right. |
00:40 | <@Serah> | I also just need an estimate. |
00:41 | <@C_tiger> | Oh, by that logic, you can just do it about 10-20 times until the percentages get really really small. |
00:42 | <@C_tiger> | Or just recursively simulate all the possible outcomes within X rolls and then add up your chance. |
00:42 | <@C_tiger> | but anyhow, it's entirely possible to do analytically to get a perfect solution, maybe, so what are the outcomes and what are their odds. |
00:42 | <@C_tiger> | ? |
00:44 | <@Serah> | 7% chance of attacking again, 5% chance of attacking again, that cannot happen if the current attack was made through these five percent, and 1% chance of attacking again. |
00:44 | <@C_tiger> | what's the difference between the 7% and the 1%? |
00:45 | <@Serah> | That's it's different rolls, they all are. |
00:46 | <@McMartin> | Er |
00:46 | <@McMartin> | So you roll d100 three times? |
00:46 | <@Serah> | Yes. |
00:46 | <@C_tiger> | I'm with McM... err? |
00:46 | <@McMartin> | OK, that's unlikely to admit a convenient closed-form solution. |
00:47 | <@Serah> | Ok. |
00:47 | <@McMartin> | This is clearly not a system designed for humans to use directly, either, am I right? |
00:47 | <@Serah> | Yeah, it isn't. :p |
00:47 | <@McMartin> | It's some modular-proc system with elements interacting weirdly. |
00:47 | <@Serah> | Yes. |
00:47 | <@C_tiger> | Ok, yeah, simulate. |
00:47 | <@McMartin> | Fire up your WoW simulator and do it there. =P |
00:47 | <@Serah> | Where do I obtain one such? |
00:48 | <@C_tiger> | McM, this is #code! |
00:48 | <@McMartin> | That was actually me cunningly guessing the true context. |
00:48 | <@Serah> | Indeed. |
00:48 | <@C_tiger> | Nicely done, I'd never have gotten that. |
00:48 | <@McMartin> | The absolute easiest way to do this is with monte carlo trials. |
00:49 | <@C_tiger> | that's what I was about to suggest. |
00:49 | <@Serah> | Hmm? |
00:49 | <@McMartin> | That is to say, actually roll the dice (with python's random() or whatever) forty million times or so |
00:49 | <@McMartin> | Then see how many times you proc. |
00:49 | <@Serah> | I considered that, but that's... eh, messy. |
00:49 | <@McMartin> | It is, in fact, the simplest solution. |
00:50 | <@C_tiger> | Well the "5%" rule really messes it up. |
00:50 | <@C_tiger> | otherwise we could just do it by hand. |
00:50 | <@Serah> | There's a possible 7% rule that makes it even messier. |
00:50 | <@McMartin> | How about you actually quote the raw mechanics? |
00:50 | <@C_tiger> | Right, why don't you tell us EXACTLY what is going on. |
00:50 | <@C_tiger> | If you don't want to seem like a huge WoW dork, remember this is #code |
00:51 | <@Vornicus> | Which is what I was trying to get at earlier |
00:51 | <@McMartin> | (As in, it's not clear here if there's a 7% chance of not checking teh 5% rule at all, so that the 1% rule only triggers if both the previous ones fail) |
00:51 | <@Serah> | One attack triggers 7% chance to attack again. |
00:51 | <@McMartin> | OK, so, is that *any* attack, or one *specific* attack? |
00:51 | <@Serah> | The same attack triggers 5% chance to attack again, although this cannot occur on this specific re-attack. |
00:52 | <@C_tiger> | By attack again, what happens on the reattack? |
00:52 | <@Serah> | There is only one type. |
00:52 | <@Serah> | C_tiger everything. |
00:52 | <@McMartin> | And the thing is |
00:52 | <@McMartin> | You've just contradicted yourself twice |
00:52 | | * McMartin strikes PW pose |
00:52 | <@Serah> | Yes, I have. |
00:52 | <@Vornicus> | I'm still confused. |
00:52 | <@Vornicus> | You have attack 1. |
00:52 | <@Serah> | I am too. |
00:52 | <@C_tiger> | I'm more confused than when I started. |
00:52 | <@McMartin> | (1) "This attack triggers a 7% chance to reattack" "The same attack triggers a 5% chance to reattack" |
00:52 | <@Vornicus> | 7% of the time you have an attack 2? |
00:52 | <@McMartin> | Now |
00:53 | <@McMartin> | Is this a .12 chance of re-attack, or is a .93 * .95 chance of *no* reattack? |
00:53 | < Shoukanjuu> | would think that they link so that 1 has a 7% and 2 has a 5%, so that if the d100 rolls 93+ then 95+, it would give tree atacks |
00:53 | <@McMartin> | Shoukanjuu: I wouldn't. |
00:54 | <@McMartin> | Oh, wait, I see what you're saying |
00:54 | <@Serah> | They are not cumulative. 5% chance and 7% chance does NOT equal 12% |
00:54 | <@McMartin> | In that case, I don't think that's what he's describing. |
00:54 | <@McMartin> | Serah: OK. |
00:54 | <@McMartin> | That doesn't explain whether it's multiplicative or not |
00:54 | < Shoukanjuu> | It' first 7, and if 2nd attack is true |
00:54 | < Shoukanjuu> | Then 5 |
00:55 | <@C_tiger> | Serah, let's start over. |
00:55 | <@Serah> | It's first 7, and 5, and 1, and if the second attack is true, then it is 7, and 5, and 1, again. |
00:55 | <@McMartin> | Does it stop when it decides that it will? |
00:55 | < Shoukanjuu> | You start with one attack. |
00:55 | < Shoukanjuu> | Does this attack usher multiple HITS when the percentages have been re ached? |
00:55 | <@Serah> | It stops when it does not attack again, yes. |
00:55 | <@McMartin> | That's not the question. |
00:56 | <@C_tiger> | I'm bonkersly confused. |
00:56 | <@McMartin> | Shou is - correct me if I'm wrong - asking if it's possible to succeed at all three |
00:56 | <@Serah> | Yes it is. |
00:56 | <@McMartin> | That is, can I attack once, and in those rolls manage to get three additional attacks. |
00:56 | < Shoukanjuu> | That would be a 93+, then a 95+, then a ((+ |
00:56 | <@Serah> | Indeed. |
00:56 | < Shoukanjuu> | 99+8 |
00:56 | <@McMartin> | OK |
00:56 | < Shoukanjuu> | 99+* |
00:56 | <@C_tiger> | Ah! |
00:56 | <@McMartin> | This makes life easier, because they are in fact independent. |
00:56 | < Shoukanjuu> | Right |
00:57 | <@McMartin> | You can compute an "expected number of attacks" for each item alone. |
00:57 | <@C_tiger> | Right. |
00:57 | <@C_tiger> | and that's simple. |
00:57 | < Shoukanjuu> | It's how critical hits are in FE9+10, as well as FE4 and 5 |
00:57 | < Shoukanjuu> | You can get a critical...but it rolls the hit first |
00:57 | < Shoukanjuu> | Er, after |
00:57 | <@C_tiger> | my brain hurts. |
00:57 | < Shoukanjuu> | And if you hit critical but don't hit the "hit percentage" |
00:58 | < Shoukanjuu> | Then the critical does no damage, because it did not hit |
00:58 | <@C_tiger> | I'm swinging wildly between actually understanding and having no clue. |
00:58 | <@Vornicus> | But the middle attack gives a chance of giving another trio of attacks? |
00:58 | < Shoukanjuu> | This is silimlar |
00:58 | < Shoukanjuu> | That's what she said, apparently |
00:58 | <@McMartin> | If the 5% cannot recurse, that's really easy. |
00:58 | <@McMartin> | It's (1*.95) + (2*.05) |
00:58 | <@C_tiger> | Vornicus the middle one gives a chance of a DUO of attacks. |
00:58 | <@C_tiger> | I thought. |
00:59 | <@McMartin> | Hrm, actually, no, you can't do it independently. |
00:59 | <@McMartin> | Ignore the middle one for now. |
00:59 | <@C_tiger> | Right. |
00:59 | <@McMartin> | Chance of 1 attack is 0.93 * 0.99 |
00:59 | <@McMartin> | Which is always "end proc" |
00:59 | <@McMartin> | Chance of 1 additional proc is 0.07 * 0.99 + 0.01 * 0.93 |
00:59 | <@C_tiger> | chance of 2 is ^^ (^2) |
01:00 | <@Serah> | The five percent only cannot trigger the 5% it can trigger both the 7% and the 1% |
01:00 | <@McMartin> | We're explicitly pretending that doesn't exist for now. |
01:00 | <@C_tiger> | Serah, yeah and if it triggers the 7%, it can trigger the 5% again? |
01:00 | <@Vornicus> | Okay that gives me /no idea/ what you just said. |
01:00 | <@McMartin> | Because we can merge the 7% and 1% into a single %. |
01:00 | <@Serah> | Yes. |
01:00 | <@McMartin> | Also, goddamn it, quote what the thing says it does on the tin. |
01:01 | <@Serah> | It doesn't- |
01:01 | <@McMartin> | Then where the fuck are you getting these numbers~ |
01:01 | <@C_tiger> | I can see McM with a ;_; face right now |
01:01 | <@McMartin> | More 9_9, actually. |
01:01 | <@Serah> | Through careful study, and likely forums, of which I cannot remember. |
01:02 | <@McMartin> | If you can replicate what an attack is and does, and what state is carried |
01:02 | < Shoukanjuu> | Okay |
01:02 | <@McMartin> | Simulate it with dicerolling and run 40 million tests. |
01:02 | <@C_tiger> | montecarlo |
01:02 | < Shoukanjuu> | Assume the attack itself hits |
01:02 | <@McMartin> | Seriously, you will get it right. |
01:02 | <@Vornicus> | Wait, you got these numbers through careful study, then you hsould have a simulator already built. |
01:02 | <@McMartin> | Or close enough. |
01:02 | <@C_tiger> | Vorn, huzzah! |
01:02 | < Shoukanjuu> | That is ONE hit, and has a 7% chance of forming into another hit |
01:02 | < Shoukanjuu> | Still o nthe same attack, however |
01:02 | <@Serah> | There is a simulator already built, it just doesn't add it all up. |
01:02 | <@C_tiger> | then change it. |
01:02 | <@C_tiger> | ;_; |
01:02 | <@McMartin> | Yeah. |
01:02 | <@Serah> | Okay. >_> |
01:03 | < Shoukanjuu> | Assuming you get a number whne you roll the d100, say, 97 |
01:03 | <@Serah> | I give up. |
01:03 | < Shoukanjuu> | Anythng about 93 would cause the second hit, and will start the third hit |
01:03 | < Shoukanjuu> | Which needs a 5%, or a number about 95 when you roll the d100 |
01:04 | <@McMartin> | Serah: The big problem with your |
01:04 | <@McMartin> | Sigh |
01:04 | <@McMartin> | Stupid J and K being next to one another |
01:04 | <@Serah> | Inability to tell you what exactly is going on. |
01:04 | <@C_tiger> | Serah, what are you looking for? the average number of attacks? |
01:04 | <@Serah> | An approximate average number of attacks. |
01:04 | <@McMartin> | Inability to specify what you're looking for, because you keep applying contradictory modifiers to "the same thing" even though they are not in fact the same |
01:04 | < Shoukanjuu> | If you get higher than 95 on that roll, then you have three hits, INCLUDING what started the attack |
01:04 | <@Serah> | Or even better, a relatively simple method wherein I can myself calculate this approximate. |
01:05 | <@McMartin> | "Unleash your army of robots" is the simplest method in the world, and I don't see why you're resisting it. |
01:05 | <@McMartin> | Closed-form solutions for these things are UGLY. |
01:05 | < Shoukanjuu> | And the 1% after that third hit will give a fourth hit. |
01:05 | <@McMartin> | Shoukanjuu: No, the 1% can trigger on the first hit. |
01:05 | <@McMartin> | Or the second, or the third. |
01:05 | <@Serah> | Because if I can't explain you guys what's going on, it's going to be even harder to write it as a function. |
01:05 | <@McMartin> | Serah: But you ALREADY HAVE written it as a function. |
01:06 | <@McMartin> | Or at least, as three functions. |
01:06 | <@Serah> | Oh no, I have it written as a function. |
01:06 | <@McMartin> | RIght? |
01:06 | <@MyCatVerbs> | If it's too complicated to be worth analysing precisely, just Monte-Carlo it. Simulate ten thousand runs through with a random number generator, compute the average results. |
01:06 | < Shoukanjuu> | f that's true, then there are different attack hits for the numer you rolled? o: |
01:06 | <@Serah> | But I did not write it, and do not have the source available. |
01:06 | <@Serah> | But I have at this point given up. |
01:06 | <@McMartin> | Shoukanjuu: Yeah, it's going like this. |
01:06 | <@McMartin> | You make an attack. Hit or miss is irrelevant. |
01:06 | <@McMartin> | Now you roll d100 three times. |
01:06 | <@McMartin> | If the first is 93+, You get an additional attack. |
01:07 | <@McMartin> | If the third is 99, you get an additional attack. |
01:07 | <@McMartin> | If the second is 95+, you get an additional attack that does not have this roll in it. |
01:07 | < Shoukanjuu> | This is why I separated attacks with "hits" |
01:07 | <@McMartin> | NOW do I have it? |
01:07 | <@Serah> | YES! |
01:07 | <@McMartin> | Shoukanjuu: But to-hit has nothing to do with this. |
01:07 | <@Vornicus> | Okay, then this is easy to closed-form. |
01:08 | <@McMartin> | Vorn: No it isn't. |
01:08 | <@McMartin> | The second roll bollixes everything up. |
01:08 | < Shoukanjuu> | Well, I was closing the amount of strikes in one attack and calling them each hits |
01:08 | <@Vornicus> | McM: well, relatively closed form. |
01:08 | <@C_tiger> | While you're all yammering I wrote a perlscript. |
01:08 | < Shoukanjuu> | I understand this, though o: |
01:08 | <@McMartin> | You need two routines, one for the two procs, one for the full three. |
01:09 | <@McMartin> | And it needs to return how many additional attacks of each type you have earned. |
01:09 | <@McMartin> | And then iterate until it runs out. |
01:09 | <@McMartin> | Store the results of 10 million runs or so, and average. |
01:09 | <@McMartin> | This is assuming that, under the following scenario: |
01:09 | <@C_tiger> | McM, or just total the number of earned attacks and average. |
01:10 | <@C_tiger> | and divide. |
01:10 | <@McMartin> | Ah, yes, that will work too. |
01:10 | <@McMartin> | Anyway |
01:10 | <@McMartin> | (1) 5% proc goes off, none others do |
01:10 | <@McMartin> | (2) On the new one either the 7% or 1% goes off |
01:10 | <@McMartin> | (3) ... is the 5% proc available again? |
01:10 | <@Serah> | Yes. |
01:10 | <@McMartin> | OK. |
01:10 | <@McMartin> | Then the algorithm I gave will work. |
01:11 | <@C_tiger> | Serah do you have to track the number of each of the three possible attacks? |
01:11 | <@C_tiger> | or can I glom them into tracking one number? |
01:11 | <@Serah> | You can merge them. |
01:11 | <@C_tiger> | ok |
01:11 | <@McMartin> | C: You can only merge the 7% and 1%. If the 7% and 5% proc go off simultaneously, then the 5% is available on one but not the other. |
01:11 | <@McMartin> | So "2" isn't going to cut it; it needs to return (1, 1) |
01:11 | <@C_tiger> | I mean for counting the final result. |
01:12 | <@C_tiger> | I didn't even do it recursively. |
01:12 | <@McMartin> | Well, no. |
01:12 | <@McMartin> | But you did it iteratively. |
01:12 | <@McMartin> | I imagine. |
01:12 | <@C_tiger> | crap, I put in 1 billion trials. |
01:12 | <@McMartin> | You don't compute Fibonacci numbers with recursion either, but it's still a recurrence/recursive relation. |
01:14 | <@C_tiger> | http://rafb.net/p/UOMRfN10.html |
01:15 | <@McMartin> | That's 10 billion trials. |
01:15 | <@McMartin> | You may want to knock three zeroes off of that. |
01:15 | <@C_tiger> | crap. |
01:15 | <@Vornicus> | Yeah. The only feature of Ruby that I actually like: you can put underscores in numbers. |
01:16 | <@C_tiger> | You can do it in perl, too, I think. |
01:16 | <@C_tiger> | I just don't. |
01:16 | <@McMartin> | You're also missing a semicolon |
01:16 | <@C_tiger> | two actually. |
01:16 | <@C_tiger> | but I fixed those when I ran it. |
01:17 | <@C_tiger> | anyhow, I get 0.1463893 attacks per initial attack. |
01:17 | <@C_tiger> | I forgot a -1 too. |
01:17 | <@C_tiger> | or 1.146... if you count the initial attack as an attack even though it's not successful. |
01:17 | <@Serah> | Thank you. |
01:18 | | MyCatVerbs is now known as MyCatSleeps |
01:19 | <@C_tiger> | That's probably accurate to 3 dp or so. |
01:19 | <@McMartin> | Definitely to 2. |
01:19 | <@Serah> | That is all which is required. |
01:19 | <@McMartin> | (I got 1.1465) |
01:20 | <@Serah> | Excellent. |
01:21 | <@Serah> | My issue is solved. |
01:21 | <@Serah> | And henceforth a nonissue, as I will monte-carlo it. |
01:21 | <@McMartin> | Actually |
01:21 | <@C_tiger> | hmmm? |
01:21 | <@McMartin> | Upon further study I distrust this code |
01:22 | <@McMartin> | But the chances for error look pretty small |
01:22 | <@Serah> | Eh? |
01:22 | <@C_tiger> | it was hastily written. |
01:22 | <@McMartin> | If the 5% and 1% both proc, the fiveflag is lost. |
01:22 | <@C_tiger> | Oh, good point. |
01:23 | <@C_tiger> | Ok, I'll put the fiveflag last |
01:23 | <@Serah> | Does it take a random number from 0 to 100 or 1 to 100? |
01:23 | <@C_tiger> | and deal with that first. |
01:23 | <@McMartin> | 0 to 99, most likely. |
01:23 | < Shoukanjuu> | --; I sat here for for almost two minutes wondering why C-x C-s wasnt' saving my Photoshop document. |
01:23 | <@McMartin> | C: I *think* that will work but just to make sure I'm going to do an independent check. |
01:23 | <@Serah> | so the <7 is 7%? |
01:24 | <@McMartin> | Yes. |
01:24 | <@C_tiger> | yeah, 0 to 99.999 |
01:24 | <@Serah> | Okay. |
01:25 | <@C_tiger> | 1.1462 now |
01:26 | <@C_tiger> | I'll let McM do his check, though. |
01:26 | | * Vornicus points and laughs at Shoukanjuu. |
01:27 | < Shoukanjuu> | For the record, I blame you for that |
01:27 | <@Serah> | :p |
01:31 | <@McMartin> | Testing with Python, this time |
01:31 | <@C_tiger> | fair enough. |
01:32 | <@C_tiger> | Serah, you have your choice of languages... let me put up my final version. |
01:32 | <@McMartin> | And, due to coding errors and quickly-hacked in replacements, it's way slower... |
01:32 | <@McMartin> | But that's partially the point as well, since I'm explicitly separating the two cases to ensure no interference. |
01:33 | <@McMartin> | It would do us no good to implement the same technique to check and find it gives roughly the same answer. =P |
01:33 | <@C_tiger> | right |
01:33 | <@C_tiger> | I considered making an array of attacks due, with 0 or 1 for the fiveflag |
01:34 | <@McMartin> | That's effectively what I did, albeit with tuples. |
01:34 | <@McMartin> | I got 1.138 that time. |
01:34 | <@C_tiger> | Hmm... ok, let me convert mine to arrays. |
01:35 | <@McMartin> | Oh, wait, I've got a bug. =P |
01:37 | <@C_tiger> | http://rafb.net/p/uent6K12.html |
01:37 | <@C_tiger> | it gives me 1.1462 as well. |
01:37 | <@McMartin> | (7 million trials left...) |
01:38 | <@C_tiger> | are you printing each trial? |
01:38 | <@McMartin> | No, just markers at each 1M mark. |
01:38 | <@C_tiger> | ah, smart. |
01:39 | <@McMartin> | 1.1464453. |
01:40 | <@McMartin> | Well within range. |
01:40 | <@C_tiger> | not really. |
01:40 | <@McMartin> | Are you reseeding your random number generator each time? |
01:40 | <@C_tiger> | I ran my six times (it's faster :P) and it's always rounded to 1.1462 |
01:40 | <@C_tiger> | no. |
01:41 | <@C_tiger> | should I be? |
01:41 | <@McMartin> | Are you getting *exactly* the same answer? |
01:41 | <@C_tiger> | no |
01:41 | <@McMartin> | OK, then it should be OK |
01:41 | | * McMartin will run some more tests. |
01:41 | | * C_tiger adds a zero |
01:42 | <@C_tiger> | McM, can I see your code? |
01:43 | <@McMartin> | http://rafb.net/p/IrzFs681.html |
01:44 | <@McMartin> | Second run gives 1.1461807. |
01:47 | <@C_tiger> | Ok, maybe it is within range then. |
01:47 | <@C_tiger> | I guess only trust to 3 dp tops. |
01:49 | <@C_tiger> | I ran a bunch more and this time I got a few that rouned to 1.1463 but either way, 1.146 is the answer and that's good enough. |
01:49 | <@McMartin> | Yeah. |
01:50 | <@C_tiger> | It makes intuitive sense, too, it's just a smidge higher than 1.13. |
01:51 | <@C_tiger> | I wonder if rather than monte carlo, we just went through all the possible diceroll combinations in, say, 6 rounds. beyond three rounds, the odds fall off the map anyhow. |
01:51 | <@McMartin> | That's more human effort, though. |
01:52 | <@C_tiger> | I'm sure it's programmable, but yes, more effort |
01:52 | <@C_tiger> | basically build a tree and recourse up and down it calculating odds as you go. |
01:54 | <@McMartin> | (And yeah, it's a 12.5% chance or so for More Than One Hit.) |
01:55 | <@McMartin> | (er. 11.5%. I can subtract, honest) |
01:56 | <@C_tiger> | No you were right the first time. |
01:56 | <@C_tiger> | 1 - (.99 * .93 * .95) = 0.125335 |
02:11 | <@McMartin> | A Hundred Million trials is 1.14633149. |
02:24 | | * C_tiger ponders making the probability tree thing. |
02:28 | <@Reiver> | (Funny how Running The Numbers on games can be an interesting experiment in programming and math...) |
02:28 | < Shoukanjuu> | (omnom Frie Emblem nmbers) |
02:28 | < Shoukanjuu> | (Fire, even) |
02:30 | <@C_tiger> | wow, having many possible additional attacks per round really screws up tree drawing. |
02:38 | | * C_tiger takes a different approach... |
02:52 | <@C_tiger> | something isn't right. |
02:53 | <@C_tiger> | Ok, here's my reasoning, tell me where I went wrong. |
02:55 | <@C_tiger> | The odds of getting a new roll (ignoring the 5 rule) is 1-(.99*.93*.95) |
02:55 | <@C_tiger> | but you have to discount the chance that you get two 5%s in a row, so *(1-0.05*0.05) |
02:56 | <@C_tiger> | Given this, the overall number of attacks is 1/(1-r) where r is the result from above. |
02:56 | <@C_tiger> | That is 1.14288544 |
02:56 | <@C_tiger> | which is a little low... so I'm doing something wrong. |
03:19 | | Outpost [BenSci@Nightstar-9627.phlapa.east.verizon.net] has quit [Connection reset by peer] |
03:19 | <@McMartin> | Well, it should always be an underestimate, given the approach, right? |
03:23 | | * Vornicus commands his Vast Army Of Robots to composite two 4096x4096 images. |
03:26 | <@Vornicus> | http://vorn.dyndns.org/~vorn/LttP-both.png <--- beware, hyoog |
03:33 | <@McMartin> | And there's Mini-Zelda-1 there in the upper right. |
03:35 | <@McMartin> | C: One problem is that formula you gave disallows the possibility of getting multiple guaranteed new rolls. |
03:35 | <@McMartin> | If you make all three rolls initially, and then fail the next three, your counter stops, while there's still two more attacks to go. |
03:36 | <@Vornicus> | wait, mini-zelda-1 is in here? |
03:36 | <@Vornicus> | I know it's in zelda 2, but I don't see it here. |
03:37 | <@McMartin> | It's more jumbled up |
03:37 | <@McMartin> | But if you treat the separate mountain bit as Death Mountain, then the base is right out of Z1. |
03:37 | <@McMartin> | The Lost Woods is displaced. |
03:50 | <@McMartin> | Hm. |
03:51 | <@McMartin> | OK, I just noticed the "both" there, and having now noticed the half-transparent rock formations... |
03:51 | <@McMartin> | ... what exactly are we looking at here? |
03:51 | <@Vornicus> | Both the light and dark worlds, superimposed. |
04:50 | | Chalcedon [~Chalcy@Nightstar-488.ue.woosh.co.nz] has joined #code |
04:50 | | mode/#code [+o Chalcedon] by ChanServ |
07:34 | | Vornicus is now known as Vornicus-Latens |
08:28 | | Chalcedon [~Chalcy@Nightstar-488.ue.woosh.co.nz] has quit [Connection reset by peer] |
08:29 | | Chalcedon [~Chalcy@Nightstar-488.ue.woosh.co.nz] has joined #code |
08:29 | | mode/#code [+o Chalcedon] by ChanServ |
09:35 | | Chalcedon [~Chalcy@Nightstar-488.ue.woosh.co.nz] has quit [Quit: Leaving] |
10:37 | <@Serah> | There's an error around the church |
10:38 | <@Serah> | And the lost woods is the evil version. |
10:38 | <@Serah> | Wait, the good and the evil versions are overlayed. |
10:45 | <@McMartin> | Yes, the overlay is the whole point |
12:30 | | MyCatSleeps is now known as MyCatVerbs |
--- Log opened Thu Apr 17 20:41:50 2008 |
20:41 | | TheWatcher [~chris@Nightstar-29731.dsl.in-addr.zen.co.uk] has joined #code |
20:41 | | Irssi: #code: Total of 18 nicks [11 ops, 0 halfops, 0 voices, 7 normal] |
20:41 | | mode/#code [+o TheWatcher] by ChanServ |
20:42 | | Irssi: Join to #code was synced in 44 secs |
14:02 | | Shoukanjuu [~Shoukanju@Nightstar-19231.dhcp.embarqhsd.net] has quit [Quit: Shoukanjuu] |
14:07 | | Shoukanjuu [~Shoukanju@Nightstar-19231.dhcp.embarqhsd.net] has joined #code |
15:54 | | Shoukanjuu [~Shoukanju@Nightstar-19231.dhcp.embarqhsd.net] has quit [Quit: Shoukanjuu] |
15:58 | | Shoukanjuu [~Shoukanju@Nightstar-19231.dhcp.embarqhsd.net] has joined #code |
16:31 | < AFKSkull> | <FA|Sveth> anyone familiar with Macromedia Dreamwaver? |
16:31 | < AFKSkull> | <Pinkhair> very very slightly |
16:31 | < AFKSkull> | <FA|Sveth> what does it have to offer? |
16:31 | < AFKSkull> | <FA|Sveth> I'm just browsing around searching for voiceconverters and it came up |
16:31 | < AFKSkull> | <Pinkhair> um |
16:31 | < AFKSkull> | <Pinkhair> its a tool for designing websites |
16:31 | < AFKSkull> | <Pinkhair> so not very much at all |
16:32 | < Shoukanjuu> | >.> |
16:32 | < Shoukanjuu> | Isn't Dreamweaver Adobe's, now? |
16:32 | < AFKSkull> | Yup, like all the rest of macromedia |
16:33 | < Shoukanjuu> | As I thought |
16:33 | < AFKSkull> | I personally preferred GoLive |
16:34 | < Shoukanjuu> | Fireworks is apparently what I should use for animated gifs, now |
16:35 | <@ToxicFrog> | If you do, run it through the GIMP after saving. |
16:35 | < Shoukanjuu> | Why? |
16:35 | <@ToxicFrog> | Fireworks craps useless FW-specific metadata all over everything it saves, so it tends to generate files that are way huger than they should be. |
16:35 | < Shoukanjuu> | ...Thaaaat's why |
16:36 | < Shoukanjuu> | I didn't know that. |
16:36 | <@ToxicFrog> | So once you have a file you're planning to actually release, open it and re-save it in something else that doesn't do that. |
16:36 | < AFKSkull> | I loathe fireworks |
16:36 | < Shoukanjuu> | I miss mah imageready ; ; |
16:36 | < AFKSkull> | likewise |
16:37 | < AFKSkull> | though now that I've absorbed after effects, I'd have to say it now is my favorite adobe interface |
16:37 | < AFKSkull> | except for audio |
16:38 | <@ToxicFrog> | (the most dramatic example I saw was probably FW emitting 1.5MB PNGs that, after re-saving, were 100K) |
16:41 | < AFKSkull> | shoulda just renamed imageready fireworks |
17:05 | | ToxicFrog [~ToxicFrog@Admin.Nightstar.Net] has quit [Operation timed out] |
17:05 | | ToxicFrog [~ToxicFrog@Admin.Nightstar.Net] has joined #code |
17:05 | | mode/#code [+o ToxicFrog] by ChanServ |
17:43 | | AFKSkull [~none@Nightstar-7066.dyn.optonline.net] has quit [Ping Timeout] |
18:09 | | AFKSkull [~none@Nightstar-7066.dyn.optonline.net] has joined #code |
20:40 | | MyCatVerbs [~mycatverb@Nightstar-13709.lurkingfox.co.uk] has quit [Ping Timeout] |
20:53 | < Shoukanjuu> | can emacs be used as an xml editor? O_o; |
20:59 | < AFKSkull> | NO! |
20:59 | < AFKSkull> | Well, yes. |
21:01 | < Shoukanjuu> | I thought so |
21:02 | < Shoukanjuu> | Mostly because the icon for an xml file I was uploading for my sites had the emacs icon |
21:04 | < Shoukanjuu> | Why does a mouse need 4000 dpi |
21:04 | < Shoukanjuu> | That's insane |
21:26 | < JeffL> | Shoukan- I used to use Fireworks for a sprite comic. ToxicFrog speaks truth, though the metadata isn't entirely useless (though it is FW-specific) |
22:27 | | MyCatVerbs [~mycatverb@Nightstar-13709.lurkingfox.co.uk] has joined #code |
22:27 | | mode/#code [+o MyCatVerbs] by ChanServ |
23:44 | | Vornicus-Latens is now known as Vornicus |
--- Log closed Fri Apr 18 00:00:03 2008 |