Re: Bernoulli variables again
- To: mathgroup at smc.vnet.net
- Subject: [mg46562] Re: Bernoulli variables again
- From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
- Date: Mon, 23 Feb 2004 22:33:44 -0500 (EST)
- Organization: Universitaet Leipzig
- References: <c1amhq$3qt$1@smc.vnet.net>
- Reply-to: kuska at informatik.uni-leipzig.de
- Sender: owner-wri-mathgroup at wolfram.com
Hi,
1 - (1 - (1 - (1 - x1) (1 - x2)) x4) (1 - (1 - (1 - x2) (1 -
x3)) x5) //. {(1 - a_) :> Not[a],
a_*b_ :> And[a, b]} // Simplify
gives
x4 && x1 || x4 && x2 || x5 && x2 || x5 && x3
and you can transform it back replacing Or[] with Plus[]
and And[] with Times[]
Regards
Jens
JMyers6761 wrote:
>
> Consider the following expresion where each of the xn are Bernoulli variables:
>
> 1 - (1 - (1 - (1 - x1) (1 - x2)) x4) (1 - (1 - (1 - x2) (1 - x3)) x5)
>
> when this expression is Expanded we get:
>
> x1 x4+x2 x4 - x1 x2 x4 + x2 x5 + x3 x5 - x2 x3 x5 - x1 x2 x4 x5 - x2^2 x4 x5 +
> x1 x2^2 x4 x5 - x1 x3 x4 x5 - x2 x3 x4 x5 + 2 x1 x2 x3 x4 x5 + x2^2 x3 x4 x5 -
> x1 x2^2 x3 x4 x5
>
> but since a Bernoulli variable, x, can take on only values of 0 or 1 and x^n =
> x this expression is subject to the transformation x^n-> x with the following
> result:
>
> x1 x4 + x2 x4 - x1 x2 x4 + x2 x5 + x3 x5 - x2 x3 x5 - x2 x4 x5 - x1 x3 x4 x5 +
> x1 x2 x3 x4 x5
>
> My question is does anyone know how to transform such an unexpanded expression
> without having to first do an Expand? The actual expressions I am dealing with
> have a very large number of fully expanded terms ( > 10^6) and as a result
> Mathematica runs out of memory attemting to Expand the expressions. I know that
> the resulting expressions, after the Bernoulli transformation, if they could be
> expanded, would still be large but the number of terms would be much smaller,
> on the order of 10^3 terms. Does anyone know of a technique that could used to
> transform the unexpanded expression?
>
> Thank you for your thoughts.
>
> Al Myers