MathGroup Archive 2003

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

Search the Archive

Simplify needs ages to finish

  • To: mathgroup at smc.vnet.net
  • Subject: [mg44716] Simplify needs ages to finish
  • From: Thomas Gutzler <gutzler at itiv.uni-karlsruhe.de>
  • Date: Sat, 22 Nov 2003 02:17:11 -0500 (EST)
  • Organization: University of Karlsruhe, Germany
  • Sender: owner-wri-mathgroup at wolfram.com

Hi,

I've got the following simple (well, IMO) boolean equations and can't 
believe that it takes more than 2 hours on an Intel(R) Xeon(TM) CPU 
2.00GHz to evaluate the last output: foo[a1, a2, a3, a4, b1, b2, b3, b4]
I'm using mathematica 4.1.

Am I doing something wrong?

cheers,
  Tom

Here comes the code:

o1[a1_, a2_, a3_, a4_, b1_, b2_, b3_, b4_] :=
  (a4 && b1 && b2 && b3 && b4) || (a1 && a4 && b2 && b3 && b4) ||
  (a2 && a4 && b1 && b3 && b4) || (a1 && a2 && a4 && b3 && b4) ||
  (a3 && a4 && b1 && b2 && b4) || (a1 && a3 && a4 && b2 && b4) ||
  (a2 && a3 && a4 && b1 && b4) || (a1 && a2 && a3 && a4 && b4) ||
  (a3 && b1 && b2 && b3) || (a1 && a3 && b2 && b3) ||
  (a2 && a3 && b1 && b3) || (a1 && a2 && a3 && b3) ||
  (a2 && b1 && b2) || (a1 && a2 && b2) || (a1 & & b1);

o2[a1_, a2_, a3_, a4_, b1_, b2_, b3_, b4_] :=
  (a1 && !a4 && !b1 && !b2 && !b3) || (!a1 && !a4 && b1 && !b2 && !b3) ||
  (a1 && !a2 && !a4 && !b1 && !b3) || (!a1 && !a2 && !a4 && b1 && !b3) ||
  (a1 && !a3 && !a4 && !b1 && !b2) || (!a1 && !a3 && !a4 && b1 && !b2) ||
  (a1 && !a2 && !a3 && !a4 && !b1) || (!a1 && !a2 && !a3 && !a4 && b1) ||
  (a1 && !b1 && !b2 && !b3 && !b4) || (!a1 && b1 && !b2 && !b3 && !b4) ||
  (a1 && !a2 && !b1 && !b3 && !b4) || (!a1 && !a2 && b1 && !b3 && !b4) ||
  (a1 && !a3 && !b1 && !b2 && !b4) || (!a1 && !a3 && b1 && !b2 && !b4) ||
  (a1 && !a2 && !a3 && !b1 && !b4) || (!a1 && !a2 & &!a3 && b1 && !b4) ||
  (!a1 && a4 && !b1 && b2 && b3 && b4) ||
  (!a1 && a2 && a4 && !b1 && b3 && b4) ||
  (!a1 && a3 && a4 && !b1 && b2 && b4) ||
  (!a1 && a2 && a3 && a4 && !b1 && b4) ||
  (a1 && a4 && b1 && b2 && b3 && b4) ||
  (a1 && a2 && a4 && b1 && b3 && b4) ||
  (a1 && a3 && a4 && b1 && b2 && b4) ||
  (a1 && a2 && a3 && a4 && b1 && b4) ||
  (a1 && !a3 && !b1 && !b2 && !b3) || (!a1 && !a3 && b1 && !b2 && !b3) ||
  (a1 && !a2 && !a3 && !b1 && !b3) || (!a1 && !a2 && !a3 && b1 && !b3) ||
  (!a1 && a3 && !b1 && b2 && b3) || (!a1 && a2 && a3 && !b1 && b3) ||
  (a1 && a3 && b1 && b2 && b3) || (a1 && a2 && a3 && b1 && b3) ||
  (a1 && !a2 && !b1 && !b2) || (!a1 && !a2 && b1 && !b2) ||
  (!a1 && a2 && !b1 && b2) || (a1 && a2 && b1 && b2);

o3[a1_, a2_, a3_, a4_, b1_, b2_, b3_, b4_] :=
  (a2 && !a4 && !b2 && !b3) || (!a2 && !a4 && b2 && !b3) ||
  (a2 && !a3 && !a4 && !b2) || (!a2 && !a3 && !a4 && b2) ||
  (a2 && !b2 && !b3 && !b4) || (!a2 && b2 && !b3 && !b4) ||
  (a2 && !a3 && !b2 && !b4) || (!a2 && !a3 && b2 && !b4) ||
  (!a2 && a4 && !b2 && b3 & & b4) || (!a2 && a3 && a4 && !b2 && b4) ||
  (a2 && a4 && b2 && b3 && b4) || (a2 && a3 && a4 && b2 && b4) ||
  (a2 && !a3 && !b2 && !b3) || (!a2 && !a3 && b2 && !b3) ||
  (!a2 && a3 && !b2 && b3) || (a2 && a3 && b2 && b3);

o4[a1_, a2_, a3_, a4_, b1_, b2_, b3_, b4_] :=
  (!a3 && a4 && !b3 && b4) || (a3 && a4 && b3 && b4) ||
  (a3 && !b3 && !b4) || (!a3 && b3 && !b4) || (a3 && !a4 && !b3) ||
  (!a3 && !a4 && b3);

o5[a1_, a2_, a3_, a4_, b1_, b2_, b3_, b4_] :=
  (a4 && !b4) || (!a4 && b4);

oparity[a1_, a2_, a3_, a4_, b1_, b2_, b3_, b4_] :=
  Xor[o1[a1, a2, a3, a4, b1, b2, b3, b4],
      o2[a1, a2, a3, a4, b1, b2, b3, b4],
      o3[a1, a2, a3, a4, b1, b2, b3, b4],
      o4[a1, a2, a3, a4, b1, b2, b3, b4],
      o5[a1, a2, a3, a4, b1, b2, b3, b4]];

foo[a1_, a2_, a3_, a4_, b1_, b2_, b3_, b4_] :=
  Simplify[Xor[oparity[a1, a2, a3, a4, b1, b2, b3, b4],
              !oparity[!a1, !a2, !a3, !a4, !b1, !b2, !b3, !b4]]];

foo[a1, a2, a3, a4, b1, b2, b3, b4]


  • Prev by Date: Re: PrincipalValue of Integral
  • Next by Date: Log Equation
  • Previous by thread: Re: Remote Display on Linux still unsolved !
  • Next by thread: Re: Simplify needs ages to finish