1.Introduction

2.Usage

3.Technical

4.Legal

5.(Me)

1. Introduction

BEE is a java applet that manages boolean expressions.

These are functions of a number of variables, that can take the values -True- or -False-, connected with operators OR (+), AND (multiplication, no sign), and the unary operator NOT. The applet will do the following:

-take a boolean expression as input, bring it to the canonical form, by removing redundancies of all kind, and by using reduction formulas of boolean algebra.

-evaluate the expression for given values of the input variables

This is my project for Programming Techniques class, Technical University of Cluj, Computer Science and Engineering, year II. 2.Usage

Enter the boolean expression in the first textbox. You can use any character of the alphabet you wish, each different letter will be considered a different variable, use the + sign for OR, use no sign for AND, and use capital letters for negated variables.

Example:

XyZ+zt+xy+YzT+XyzT

When you press -Shoot!-, the applet reduces the expression to it's simplest form, that is y+z in this example.

In the field -value- FALSE appears.

The lowest line lets you know that y is Variable 1, and z is Variable 2. You can give them values with the checkboxes (checked is TRUE and idle is FALSE). Then you press -Shoot!- again, and the evaluated value will appear in the box. 3.Technical

The applet uses a variant of the Quine-McCluskey algorithm for expression optimization.

It takes the expression in disjunctive form (no parantheses), and finds the canonical disjunctive form (CDF) of the expression.

By building an expression table for the expression given as a string, the algorithm removes redundancies automatically. These can be of the following types:

xX ->false

x+X->true

xx ->x

x+x->x

additionally, the simplified expression will be displayed in a well-ordered way, even if you enter messy, redundant stuff, like: xtXy+yyyTy

This is also done just due to the internal representation of the program.

After this comes the simplification itself.

4.Legal

Feel free to use this applet, if you find it useful for any purpose.

HINT: try to use it for reducing and evaluating expressions

However the author cannot be held responsible for any damages caused by..., bla bla

5.Me

Kozma László

Computer Science and Engineering undergraduate

Technical University of Cluj

(c) 2002

Back to the program.