Re: Re: Fourier Transfer and a game?!?!
- To: mathgroup at smc.vnet.net
- Subject: [mg54238] Re: [mg54207] Re: Fourier Transfer and a game?!?!
- From: DrBob <drbob at bigfoot.com>
- Date: Mon, 14 Feb 2005 00:57:53 -0500 (EST)
- References: <cuf5kg$god$1@smc.vnet.net> <cukb23$lmi$1@smc.vnet.net> <200502130521.AAA03736@smc.vnet.net>
- Reply-to: drbob at bigfoot.com
- Sender: owner-wri-mathgroup at wolfram.com
>> With the default setting of FourierParameters >> F[Convolution[f, g]] == Sqrt[Length[f]]*F[f]*F[g] I think you mean something like this: F = Fourier; IF = InverseFourier; SetOptions[#, FourierParameters -> {0, 1}] & /@ {F, IF}; Module[{n, L, s, powers, payoffs}, payoffs = Union[Plus @@@ Distribute[Table[{0, 2500, 5000, 7500, 10000}, {3}], List]]; n = Length@payoffs; s = Sqrt@n; L = s PadRight[{0., .35, .35, .15, .15}, n]; powers = Table[F[L]^i, {i, 0, 3}]; Transpose@{payoffs, Chop at IF[{.4, .35, .15, .1}.powers/s]}] {{0, 0.4}, {2500, 0.1225}, {5000, 0.140875}, {7500, 0.0935375}, { 10000, 0.0994875}, {12500, 0.049875}, {15000, 0.03995}, {17500, 0.02565}, {20000, 0.015975}, {22500, 0.007425}, {25000, 0.003375}, {27500, 0.0010125}, {30000, 0.0003375}} I'm not sure that calculation for "payoffs" would always work, however. Bobby On Sun, 13 Feb 2005 00:21:36 -0500 (EST), Maxim <ab_def at prontomail.com> wrote: > On Sat, 12 Feb 2005 07:25:55 +0000 (UTC), Maxim <ab_def at prontomail.com> > wrote: > >> On Thu, 10 Feb 2005 08:22:40 +0000 (UTC), elparedblanco >> <cire1611 at gmail.com> wrote: >> >>> let's say we have a probabability of picking an amount of money from a >>> vat. I can go into the vat either 0,1,2,3 times. The probability with >>> which I pick from the vat is described by the vector {.4, .35,.15,.1}. >>> I call this frequency. >>> >>> I can pull only four amounts of money from the vat. The amounts are >>> {$2500,$5000,$7500,$10000}. The probability of picking each amount is >>> described by the vector {.35,.35,.15,.15}. I call this severity1. >>> >>> Process is this. First I choose how many times I can go into the vat. >>> Then I go in that many times. I always replace what I pick out. so it >>> is possible to win $30000. >>> >>> The Question is what's the probabililty of winning certain amounts of >>> money, such as 15,000 or 7,500 or any number, given the fact that I can >>> pick multiple times? >>> >> >>> >>> ANSWER = {.4000, .1225, .1409, .0935, .0995, .0499, .040, .0257, .016, >>> .0074 .0034, .0010, .0003} >>> >> >> Suppose we have a model with three vats which open independently with >> probabilities p1, p2, p3 respectively. Then the generating function (GF) >> for the amount of money taken from the first vat is ((1 - p1) >> + p1*(.35*z^2500 + .35*z^5000 +.15*z^7500 + .15*z^10000)), and similarly >> for the other vats. Of course then the solution would be simple, because >> to find the GF for the sum taken from the three vats we just have to >> multiply the three GFs. So if we could find p1, p2, p3 such that the >> probability of all three vats opening, which is p1*p2*p3, equals .1 and >> the equations for other combinations hold as well, we would be done. >> >> In[1]:= >> sol = Solve[ >> {(1 - p1)*(1 - p2)*(1 - p3) == .4, >> p1*(1 - p2)*(1 - p3) + (1 - p1)*p2*(1 - p3) + >> (1 - p1)*(1 - p2)*p3 == .35, >> p1*p2*(1 - p3) + p1*(1 - p2)*p3 + (1 - p1)*p2*p3 == .15}, >> {p1, p2, p3}][[1]] >> >> Out[1]= >> {p1 -> 0.253124 - 0.401596 I, p2 -> 0.253124 + 0.401596 I, >> p3 -> 0.443751} >> >> Other solutions are just the permutations of the first one. The solution >> is complex-valued, but what if we substitute it in the GF? >> >> In[2]:= >> Module[ >> {gf = .35*z^2500 + .35*z^5000 +.15*z^7500 + .15*z^10000}, >> ((1 - p1) + p1*gf)*((1 - p2) + p2*gf)*((1 - p3) + p3*gf) /. >> sol // Expand // Chop // >> Replace[List @@ #, >> {k_.*z^p_. -> {p, k}, k_ -> {0, k}}, >> {1}]& >> ] >> >> Out[2]= >> {{0, 0.4}, {2500, 0.1225}, {5000, 0.140875}, {7500, 0.0935375}, {10000, >> 0.0994875}, {12500, 0.049875}, {15000, 0.03995}, {17500, 0.02565}, >> {20000, >> 0.015975}, {22500, 0.007425}, {25000, 0.003375}, {27500, 0.0010125}, >> {30000, 0.0003375}} >> >> It would be interesting to give a rigorous justification for this trick. >> >> Maxim Rytin >> m.r at inbox.ru >> > > Alternatively, we can simply use the formula for the total probability > > P(amount = k) = > Sum(P(amount = k | openvats = i)*P(openvats = i), i = 0..3). > > From this we can infer that the GF for amount is .4 + .35*gf + .15*gf^2 > +.1*gf^3, arriving at the same expression for GF as above without the > intermediate step of finding p1, p2, p3. > > In[1]:= > Module[ > {gf = .35*z^2500 + .35*z^5000 +.15*z^7500 + .15*z^10000}, > .4 + .35*gf + .15*gf^2 +.1*gf^3 // Expand // > Replace[List @@ #, > {k_.*z^p_. -> {p, k}, k_ -> {0, k}}, > {1}]& > ] > > Out[1]= > {{0, 0.4}, {2500, 0.1225}, {5000, 0.140875}, {7500, 0.0935375}, {10000, > 0.0994875}, {12500, 0.049875}, {15000, 0.03995}, {17500, 0.02565}, {20000, > 0.015975}, {22500, 0.007425}, {25000, 0.003375}, {27500, 0.0010125}, > {30000, 0.0003375}} > > Here's how we can apply Fourier to this problem: > > In[2]:= > F = Fourier; > IF = InverseFourier; > SetOptions[#, FourierParameters -> {1, 1}]& /@ {F, IF}; > > Module[{L}, > L = PadRight[{0., .35, .35, .15, .15}, 13]; > IF[.4*F[L]^0 + .35*F[L]^1 + .15*F[L]^2 + .1*F[L]^3] // Chop > ] > > Out[5]= > {0.4, 0.1225, 0.140875, 0.0935375, 0.0994875, 0.049875, 0.03995, 0.02565, > 0.015975, 0.007425, 0.003375, 0.0010125, 0.0003375} > > With the default setting of FourierParameters > > F[Convolution[f, g]] == Sqrt[Length[f]]*F[f]*F[g]. > > Maxim Rytin > m.r at inbox.ru > > > > -- DrBob at bigfoot.com www.eclecticdreams.net
- References:
- Re: Fourier Transfer and a game?!?!
- From: Maxim <ab_def@prontomail.com>
- Re: Fourier Transfer and a game?!?!