# Petrick's method

In Boolean algebra, Petrick's method (also known as the branch-and-bound method) is a technique described by Stanley R. Petrick (1931–2006)[1][2] in 1956[3] for determining all minimum sum-of-products solutions from a prime implicant chart. Petrick's method is very tedious for large charts, but it is easy to implement on a computer.

Algorithm

1. Reduce the prime implicant chart by eliminating the essential prime implicant rows and the corresponding columns.
2. Label the rows of the reduced prime implicant chart ${\displaystyle P_{1}}$, ${\displaystyle P_{2}}$, ${\displaystyle P_{3}}$, ${\displaystyle P_{4}}$, etc.
3. Form a logical function ${\displaystyle P}$ which is true when all the columns are covered. P consists of a product of sums where each sum term has the form ${\displaystyle (P_{i0}+P_{i1}+}$${\displaystyle \cdots }$${\displaystyle +P_{iN})}$, where each ${\displaystyle P_{ij}}$ represents a row covering column ${\displaystyle i}$.
4. Reduce ${\displaystyle P}$ to a minimum sum of products by multiplying out and applying ${\displaystyle X+XY=X}$.
5. Each term in the result represents a solution, that is, a set of rows which covers all of the minterms in the table. To determine the minimum solutions, first find those terms which contain a minimum number of prime implicants.
6. Next, for each of the terms found in step five, count the number of literals in each prime implicant and find the total number of literals.
7. Choose the term or terms composed of the minimum total number of literals, and write out the corresponding sums of prime implicants.

Example of Petrick's method[4]

Following is the function we want to reduce:

${\displaystyle f(A,B,C)=\sum m(0,1,2,5,6,7)\,}$

The prime implicant chart from the Quine-McCluskey algorithm is as follows:

                | 0 1 2 5 6 7
---------------|------------
K (0,1) a'b' | X X
L (0,2) a'c' | X   X
M (1,5) b'c  |   X   X
N (2,6) bc'  |     X   X
P (5,7) ac   |       X   X
Q (6,7) ab   |         X X


Based on the X marks in the table above, build a product of sums of the rows where each row is added, and columns are multiplied together:

 (K+L)(K+M)(L+N)(M+P)(N+Q)(P+Q)


Use the distributive law to turn that expression into a sum of products. Also use the following equivalences to simplify the final expression: X + XY = X and XX = X and X+X=X

 = (K+L)(K+M)(L+N)(M+P)(N+Q)(P+Q)
= (K+LM)(N+LQ)(P+MQ)
= (KN+KLQ+LMN+LMQ)(P+MQ)
= KNP + KLPQ + LMNP + LMPQ + KMNQ + KLMQ + LMNQ + LMQ


Now use again the following equivalence to further reduce the equation: X + XY = X

 = KNP + KLPQ + LMNP + LMQ + KMNQ


Choose products with fewest terms, in this example, there are two products with three terms:

 KNP
LMQ


Choose term or terms with fewest total literals. In our example, the two products both expand to six literals total each:

KNP    expands to    a'b'+ bc'+ ac
LMQ    expands to    a'c'+ b'c + ab


So either one can be used. In general, application of Petrick's method is tedious for large charts, but it is easy to implement on a computer.

## References

1. ^ (Unknown). "Biographical note". Retrieved 2017-04-12. Stanley R. Petrick was born in Cedar Rapids, Iowa on August 16, 1931. He attended the Roosevelt High School and received a B. S. degree in Mathematics from the Iowa State University in 1953. During 1953 to 1955 he attended MIT while on active duty as an Air Force officer and received the S. M. degree from the Department of Electrical Engineering in 1955. He was elected to Sigma Xi in 1955.
Mr. Petrick has been associated with the Applied Mathematics Board of the Data Sciences Laboratory at the Air Force Cambridge Research Laboratories since 1955 and his recent studies at MIT have been partially supported by AFCRL. During 1959-1962 he held the position of Lecturer in Mathematics in the Evening Graduate Division of Northeastern University.
Mr. Petrick is currently a member of the Linguistic Society of America, The Linguistic Circle of New York, The American Mathematical Association, The Association for Computing Machinery, and the Association for Machine Translation and Computational Linguistics.
2. ^ "Obituaries - Cedar Rapids - Stanley R. Petrick". The Gazette. 2006-08-05. p. 16. Retrieved 2017-04-12. […] CEDAR RAPIDS Stanley R. Petrick, 74, formerly of Cedar Rapids, died July 27, 2006, in Presbyterian/St. Luke's Hospital, Denver, Colo., following a 13-year battle with leukemia. A memorial service will be held Aug. 14 at the United Presbyterian Church in Laramie, Wyo., where he lived for many years. […] Stan Petrick was born in Cedar Rapids on Aug. 6, 1931 to Catherine Hunt Petrick and Fred Petrick. He graduated from Roosevelt High School in 1949 and received a B.S. degree in mathematics from Iowa State University. Stan married Mary Ethel Buxton in 1953.
He joined the U.S. Air Force and was assigned as a student officer studying digital computation at MIT, where he earned an M.S. degree. He was then assigned to the Applied Mathematics Branch of the Air Force Cambridge Research Laboratory and while there earned a Ph.D. in linguistics.
He spent 20 years in the Theoretical and Computational Linguistics Group of the Mathematical Sciences Department at IBM's T.J. Watson Research Center, conducting research in formal language theory. He had served as an assistant director of the Mathematical Sciences Department, chairman of the Special Interest Group on Symbolic and Algebraic Manipulation of the Association for Computing Machinery and president of the Association for Computational Linguistics. He authored many technical publications.
He taught three years at Northeastern University and 13 years at the Pratt Institute. Dr. Petrick joined the University of Wyoming in 1987, where he was instrumental in developing and implementing the Ph.D. program in the department and served as a thesis adviser for many graduate students. He retired in 1995. […]
(NB. Includes a photo of Stanley R. Petrick.)
3. ^ Petrick, Stanley R. (1956-04-10). A Direct Determination of the Irredundant Forms of a Boolean Function from the Set of Prime Implicants. Bedford, Cambridge, MA, USA: Air Force Cambridge Research Center. AFCRC Technical Report TR-56-110.
4. ^ http://www.mrc.uidaho.edu/mrc/people/jff/349/lect.10 Lecture #10: Petrick's Method