# [R] Newbie to R: would like to solve a problem

McGehee, Robert Robert.McGehee at geodecapital.com
Fri May 12 23:00:02 CEST 2006

```Actually, if you're going to go out transform the data, why not use a
Fourier transform and take advantage of the fact that F[f*g] = F[f]F[g]?
That's the easiest way in my mind to do multiple convolutions of fitted
data. Taylor series are neither good at modeling Schwartz functions (a
rapidly decreasing function), or particularly good at multiple
convolutions, and you want to go up to eight, right? You could also use
the FFT as an approximation, although direct calculation of the first
few terms should just a straight forward integral (and I'll say this
without actually trying to do this Fourier transforms by hand). Then you
can just store the FT function in your PHP code and calculate the Nth
convolution as F[f]^N.

Hopefully my memory isn't too far off here.

-----Original Message-----
From: r-help-bounces at stat.math.ethz.ch
[mailto:r-help-bounces at stat.math.ethz.ch] On Behalf Of percy tiglao
Sent: Friday, May 12, 2006 4:26 PM
To: r-help at stat.math.ethz.ch
Subject: Re: [R] Newbie to R: would like to solve a problem

I'm not using R server-side.

I'd like to use R to get a (say) Taylor Series polynomial based on the
2nd convolution of the probability distribution .

>From there, I can make a Javascript function that is a pretty precise
estimation of that convolution.

PS: Thanks for the "S Poetry" reccomendation Patrick Burns, I'll take
a look at it.

On 5/12/06, Shawn Mikula <brainmaps at gmail.com> wrote:
> Using R for this would be a bit bone-headed since it is not ideally
suited
> for web apps.  Look at an active scripting language like PHP.  I'm not
sure
> if Geocities provides for server-side active scripting languages, in
which
> case you will have to host your site elsewhere.
>
>
>
> ----- Original Message -----
> From: "percy tiglao" <prtiglao at gmail.com>
> To: <r-help at stat.math.ethz.ch>
> Sent: Friday, May 12, 2006 11:07 AM
> Subject: [R] Newbie to R: would like to solve a problem
>
>
> > Hello, I am very new to R (read the introduction a few hours ago),
but
> > experianced in several other languages (including Scheme, C, ObjC
and
> > C++, Java and Javascript) and I was wondering how to approach this
> > problem:
> >
> > I am making a training calculator for a Video Game I play.
Basically,
> > I want to calculate the probability of killing an enemy within x
hits,
> > to help determine which is the best monster to train on in this
game.
> >
> > The current implementation
> > (http://geocities.com/dragontamer5788/maple2.html) uses the normal
> > curve to estimate just about everything. Not necessarily a bad idea
> > for when it takes 10 or 15 hits to destroy a single enemy, Central
> > Limit Theorm kicks in and normal curve is probably a good idea, but
my
> > gut feeling is that it is not accurate for estimating kills in 1 or
2
> > shots (which happens in the majority of "training" monsters), or the
> > probability of Knockback (which is always determined by a single
> > shot).
> >
> > The (simplified) function to represent the damage would be:
> >
> > sdmg <- function(min, max, skill){
> >  if(runif(1) > .4) (runif(1) * (max-min) + min) * skill
> >  else (runif(1) * (max-min) +  min) * (skill+1)
> > }
> >
> > total_damage <- function(min, max, skill, num_attacks){
> >  total <- 0
> >  for(i in 1:num_attacks){
> >    total <- total + sdmg(min, max, skill)
> >  }
> >  total
> > }
> >
> > --------------------
> >
> > The above is how damage is calculated. So the probability
distribution
> > looks like 2 rectangles next to each other, one with height .6 and
the
> > other with height .4. Sdmg is a helper function, because some
attacks
> > attack 2 or 4 times in a single turn.
> >
> > Though, I dont want the simulation (what I'm doing with the runif
> > here). I'd like to calculate the probability distribution of
> > total_damage, total_damage + total damage (the convolution,
> > representing 2 hits), and so on till about 5-8 hits (then I can just
> > use normal curve in the web-calculator I'm making), then have a
> > polynomial function estimate the probability distributions based on
> > min, max, and skill. (So I can make my online calculator estimate
the
> > probability of killing enemies)
> >
> > Erm, I know it is a lot to ask for, but how would I go about making
> > this in R? And if R isn't the right tool for this, is there any
other
> > tool you'd reccomend? Cause doing convolutions by hand sucks.
> >
> > Thanks a lot for reading this long message :) And thanks in advance
> >
> > ______________________________________________
> > R-help at stat.math.ethz.ch mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-help