Karnaugh Maps
Karnaugh maps are an alternative way to define and express logical connectives .
We first assign labels to each element of the input tuple from . We then choose an index and split the input tuple into two tuples and . Finally, we construct a table in the following way:
- Plot all possible combinations for as the first column. This should be done in a way so as to ensure that each combination differs by its adjacent ones only by a single input.
- Plot all possible combination for as the first row. This should be done in a way so as to ensure that each combination differs by its adjacent ones only by a single input.
- The cell at the -th row and the -th column is filled with the value of evaluated at the tuple obtained by concatenating the combination for at the -th row and the combination for at the -th column.
A table constructed in this manner fully describes and is known as a Karnaugh map of .
Example: Karnaugh Map of Negation
Example: Karnaugh Map of Conjunction
Consider the conjunction function defined in the following way:
One of its Karnaugh maps is the following:
Another one is this:d
The following, however, is not a Karnaugh map of because the strings and differ in both places and not in a single one.