Whiteboard

Last class

Algorithms as Simple Operations

$\mathrm{MAJ}(a,b,c) = (a\land b) \lor (b\land c) \lor (c \land a)$

$\mathrm{XOR}(a,b) = (a\land \bar b) \lor (\bar a \land b)$

$\mathrm{XOR3}(a,b,c) = \mathrm{XOR}(\mathrm{XOR}(a,b),c)$

“Solving the problem” = compute the function

“Basic steps” = AND/OR/NOT operations

Boolean Circuits

$A(n,m,s)$ boolean circuit is a DAG with $n + s$ vertices

$n$ variables

$m$ outputs

$s$ size

All $n$ of the vertices are labeled as inputs $X[0],…$

The other $s$ vertices are gates AND, OR, NOT

$m$ of the gates are labeled as outputs $Y[0],…$

Toposort of DAGs