An algorithm is provided for what might be termed the general problem of logical design of circuits with one output and no feedback. Given a set B of logical building blocks, each with a positive cost, each with one output, and given a Boolean function f the problem is to prescribe a Boolean tree constructed from the available set of building blocks which realizes f and which has a minimum cost. Actually a more general problem involving don't care conditions is treated. The cost of a Boolean tree shall be the sum of the costs of the building blocks of which it is composed. A special case of this problem is the classical logical problem of finding a functional expression for a given logical function which uses a minimum number of conjunctions, disjunctions and negations. Programmed on an IBM 704 computer, the algorithm is believed to be efficient on problems with eight or less variables.
Note: The Institute of Electrical and Electronics Engineers, Incorporated is distributing this Article with permission of the International Business Machines Corporation (IBM) who is the exclusive owner. The recipient of this Article may not assign, sublicense, lease, rent or otherwise transfer, reproduce, prepare derivative works, publicly display or perform, or distribute the Article.