Minimization over Boolean Trees

An algorithm is provided for what might be termea tne general problem ot logical design ot 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.