Fall Semester 2005: September 8, 2005 - December 12, 2005
Out on:
September 20, 2005
Due by:
September 25, 2005 by 5:59 pm for full credit (11:59 pm for 10% off, hard deadline)
Collaboration:
None
The second assignment for 600.102: Foundations of Computer Science covers material from Week 2 and the corresponding reading.
Show that we can build and gates (or gates) with n inputs from and gates (or gates) with only two inputs. How "deep" are these "big gates"? That is, how many "small gates" do you have to cross to get from an input to the output of the "big gate"?
In lecture we discussed disjunctive normal form (DNF), which represents a boolean function as a sum of products of literals. We also showed how to derive DNF from a truth table. Conjunctive normal form (CNF) represents a boolean function as a product of sums of literals instead. Give a generic rule for deriving CNF from a truth table.
In lecture we went through the design of a 2-to-1 multiplexer, but we only briefly sketched the design of a 1-to-2 demultiplexer. So for this problem, design the 1-to-2 demultiplexer in all it's gory details. :-)
Please turn in a simple Unix text file (not M$ Word, not PDF, just
plain ASCII text) with your answers. It should be formatted in a
decent way of course, and it should contain your contact information.
The file name should be cs102-assignment-2-login
with login replaced by your Unix login name
(so I would use cs102-assignment-2-phf).
If you really want to impress us, try the following. Show how you can build a 4-to-1 multiplexer from a number of 2-to-1 multiplexers. Can you generalize this further? Is there a difference between multiplexers built out of smaller multiplexers and those built out of "raw" gates? Note that we won't give you extra points for this, but we'll give you extra kudos. :-)