A Karnaugh map is an alternative to a truth table for representing a function in boolean algebra, and serve as a way to derive minimum cost circuits for a truth table.
![[karnaugh-maps.png]]
Given the above truth table, the columns are labelled with $x_1$, and the rows are labelled with $x_2$.
To find a minimal boolean expression with a Karnaugh map, we need to find the smallest number of product terms ($x_1$, $x_2$) that should produce a 1 for all instances where the cell in a table is $1$.
- Given the map described in the above image, the output is $1$ for the row where $x_2$ is equal to 1.
- Similarly, the output is $1$ for the column where $x_1$ is equal to zero.
- By ORing the condition where $x_1$ is zero ($\overline{x_1}$), and the condition where $x_2$ is one ($x_1$), we can find a minimal expression for the truth table.
A three variable Karnaugh map is constructed by placing 2 two-variable maps side by side. The values of $x_1$ and $x_2$ distinguish columns in the map, and the value of $x_3$ distinguishes rows in the map.
To convert a 3 variable Karnaugh map to a minimal boolean expression, start by looking for places in the map that contain 1s next to each other (by row, or by column).
From there, describe the pair of 1s using boolean algebra.
In the above example, the top pair of 1s is in the column where $x_3$ is equal to zero ($\overline{x_3}$), and $x_1$ is equal to $1$ ($x_1$). This describes a single term in the resulting equation ($x_1\overline{x_3}$).
![[Pasted image 20250224110632.png]]
> Similar logic can be employed using more than just a *pair* of ones.