Uses genetic programming to compute the decision tree of a multiplexer.
To compile, run make
and then you can run ./gen_mux <address_pins>
where address_pins
is the
number of address pins you would like the multiplexer to contain.
A multiplexer is a circuit component that contains data pins, address pins, and an output pin. All of these pins are binary values.
The data pins are inputs, and the output is the value of one of the data pins, but it depends on the values of the address pins. The address pins map to the data pins, meaning that a multiplexer with two address pins has four data pins, and a multiplexer with three address pins has eight data pins.