Problem: I need to create a circuit for the 11-input majority function using only AND and OR,assuming that each AND and OR can have multiple inputs (one AND/OR can compute the conjunction/disjunction of multiple inputs). This task has two sub-tasks
- We are allowed to use only 1 OR as the output element and multiple ANDs.
- We are allowed to use only 1 AND as the output element and multiple ORs.
Questions: How many elements do we have to use in each case?
Solution
- By definition a majority function is a function which equals 1 if more than half of the elements equal 1, which means that we need to have any 6 elements to be equal to 1. Hence I conclude that the number of elements we need equals to $${11\choose 6} + 1=463$$
- I don't know how to do that. I suspect that I need to convert the majority function to CNF but I don't know how to do it. My idea is: something like $$(\overline{x}_{i}+\overline{x}_{i+1}+\overline{x}_{i+2}+\overline{x}_{i+3})$$
repeated $${11\choose 5}$$ times, but since I have only AND and OR I need to express NOT through AND/OR and I don't know how.
- Assuming that I'm right, how to prove that this is the maximum number of elements?
So, to sum up, my questions:
- Am I right with #1?
- How to finish the computation of the number of elements in #2?
- How to prove #3?

The brute-force solution (using a, b, c, ... k as inputs):
CNF product-of-sums form:
DNF sum-of-products form:
A simplification approach would be to identify and use common subexpressions.