MathGroup Archive 2005

[Date Index] [Thread Index] [Author Index]

Search the Archive

can Mathematica be useful for this?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg56545] can Mathematica be useful for this?
  • From: Pedrito <pedrito6 at softhome.net>
  • Date: Thu, 28 Apr 2005 02:40:47 -0400 (EDT)
  • References: <718e40e89ee7126bf169d5585b776d5c@akikoz.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Thanks a lot Andrzej.   Your idea of using Mathematica for the logic
algebra simplifications is great.

I have been trying different systems of rules for evaluation and finally
I found that Mathematica is able to obtain numeric results just with
these eight rules:

  p[True] = 1; p[False] = 0; 
  p[A_] := p[LogicalExpand[A]] /; ! A === LogicalExpand[A]; 
  p[! A_] := 1 - p[A]; 
  p[! A_ && B_] := p[B] - p[A && B];
  p[A_ && ! B_] := p[A] - p[A && B]; 
  p[A_ || B_] := p[A] + p[B] - p[A && B]; 
  p[A_, B_] := p[A && B]/p[B]; 


Now, it's possible to solve the previous probability problem this way:

initialData = {p[ S] == 1/3, p[F] == 26/100, p[G] == 2/10, p[F && S] ==
15/100, p[F && G] == 5/100, p[G && S] == 1/10, 
    p[F && G && S] == 2/100};

FullSimplify[p[(F &&  !G &&  !S) || ( !F && G &&  !S) || ( !F &&  !G && S)], initialData]
-->19/75

FullSimplify[p[F || G || S], initialData]
-->77/150


I have found a case where FullSimplify doesn't evaluate numerically: 
FullSimplify[p[F], p[F] == 1/10]
-->p[F]

So I have to write:
FullSimplify[p[F]+0., p[F] == 1/10]
0.1

Is there another way for obtaining a numeric result with FullSimplify?


Thanks in advance!




  • Prev by Date: Re: Re: odd mathematica blindspot
  • Next by Date: Re: Floor[] Not An Integer?
  • Previous by thread: Re: Re: can Mathematica be useful for this?
  • Next by thread: Re: can Mathematica be useful for this?